# # Name: Makehead.win32 # # Purpose: This file is used to customize operating system and installation # dependent features of the MX makefiles. This version is customized # for Microsoft Win32 (Windows 95/98/NT 4). # # Normally, the only things that end users may have to modify in this file are # the definitions of INCLUDES, LIB_DIRS, and LIBRARIES. # #INCLUDES = $(MX_INCLUDES) # INCLUDES = $(MX_INCLUDES) $(EPICS_INCLUDES) INCLUDES = $(MX_INCLUDES) $(XIA_HANDEL_INCLUDES) #LIBRARIES = $(WIN32_LIBS) # LIBRARIES = $(WIN32_LIBS) $(EPICS_LIBS) # LIBRARIES = $(WIN32_LIBS) $(UMCBI_LIBS) LIBRARIES = $(WIN32_LIBS) $(XIA_HANDEL_LIBS) # # You may also need to modify some of the following definitions, depending # on the drivers you plan to use. # # # You must specify the directory that Microsoft Visual C++ was installed in. # Usually this is c:\progra~1\micros~1\vc98. The name specified for Gnu Make # MUST NOT contain any spaces in it. That is why the example below specified # the progra~1\micros~1 directory. # MSDEV_DIR = c:\\progra~1\\micros~1\\vc98 #MSDEV_DIR = c:\\progra~1\\micros~2\\vc98 #MSDEV_DIR = c:\\progra~1\\devstudio\\vc #MSDEV_DIR = c:\\msdev #MSDEV_DIR = c:\\progra~1\\micros~3 # WIN32_LIBS = $(MSDEV_DIR)\\lib\\wsock32.lib $(MSDEV_DIR)\\lib\\winmm.lib \ $(MSDEV_DIR)\\lib\\advapi32.lib EXTRA_LIB_OBJS = ..\\tools\\xdr.obj \ $(XIA_HANDEL_SRC)\\handel.obj \ $(XIA_HANDEL_SRC)\\handel_detchan.obj \ $(XIA_HANDEL_SRC)\\handel_dyn_default.obj \ $(XIA_HANDEL_SRC)\\handel_dyn_detector.obj \ $(XIA_HANDEL_SRC)\\handel_dyn_firmware.obj \ $(XIA_HANDEL_SRC)\\handel_dyn_module.obj \ $(XIA_HANDEL_SRC)\\handel_file.obj \ $(XIA_HANDEL_SRC)\\handel_memdbg_win32.obj \ $(XIA_HANDEL_SRC)\\handel_run_control.obj \ $(XIA_HANDEL_SRC)\\handel_run_params.obj \ $(XIA_HANDEL_SRC)\\handel_sort.obj \ $(XIA_HANDEL_SRC)\\handel_system.obj \ $(XIA_HANDEL_SRC)\\handel_test.obj \ $(XIA_HANDEL_SRC)\\handel_xerxes.obj \ $(XIA_HANDEL_SRC)\\fdd.obj \ $(XIA_HANDEL_SRC)\\psl.obj \ $(XIA_HANDEL_SRC)\\xia_assert.obj \ $(XIA_HANDEL_SRC)\\xerxes.obj \ $(XIA_HANDEL_SRC)\\xerxes_test.obj \ $(XIA_HANDEL_SRC)\\x10p.obj \ $(XIA_HANDEL_SRC)\\x10p_psl.obj \ $(XIA_HANDEL_SRC)\\md_log.obj \ $(XIA_HANDEL_SRC)\\md_win95.obj \ $(XIA_HANDEL_SRC)\\epplib.obj \ EXTRA_OBJS = ..\\tools\\getopt.obj # # Directory containing the EG&G Ortec UMCBI library and include file. # UMCBI_DIR = c:\\Users\\Lavender\\ortec UMCBI_INCLUDES = -I$(UMCBI_DIR) UMCBI_LIBS = $(UMCBI_DIR)\\Mcbcio32.lib # # Directory tree containing compiled versions of the XIA Handel libraries # and include files. # # Tested with Handel 0.3.0 (Sept. 2003) # #XIA_HANDEL_DIR = c:\\progra~1\\xia\\handel XIA_HANDEL_DIR = c:\\progra~1\\xia\\handel_src XIA_HANDEL_SRC = $(XIA_HANDEL_DIR)\\src XIA_HANDEL_INCLUDES = -I$(XIA_HANDEL_DIR)\\inc -DIS_MX_DRIVER XIA_HANDEL_LIB_DIR = $(XIA_HANDEL_DIR)\\lib #XIA_HANDEL_LIBS = $(XIA_HANDEL_LIB_DIR)\\handel.lib \ # $(XIA_HANDEL_LIB_DIR)\\xerxes.lib \ # $(XIA_HANDEL_LIB_DIR)\\md.lib XIA_HANDEL_LIBS = $(DRIVERLINX_LIBS) # # DriverLINX NT Port I/O driver. # DRIVERLINX_DIR = c:\\progra~1\\DLPortIO DRIVERLINX_INCLUDES = -I$(DRIVERLINX_DIR)\\API DRIVERLINX_LIBS = $(DRIVERLINX_DIR)\\API\\DLPORTIO.lib # # Directory containing the National Instruments pcMotion32 DLL for the # ValueMotion series of motor controllers. # PCMOTION32_DIR = c:\\nuLogic\\pcMotion PCMOTION32_INCLUDES = -I$(PCMOTION32_DIR)\\SUPPORT PCMOTION32_LIBS = $(PCMOTION32_DIR)\\SUPPORT\\Microsoft\\pcmotionMS.lib # # EPICS includes and libraries. # EPICS_ARCH = WIN32 EPICS_TOP = c:\\users\\lavender\\epics\\R3.13.1 EPICS_INCLUDES = -I$(EPICS_TOP)\\base\\include EPICS_LIBS = $(EPICS_TOP)\\base\\lib\\$(EPICS_ARCH)\\ca.lib \ $(EPICS_TOP)\\base\\lib\\$(EPICS_ARCH)\\Com.lib # #======================================================================== # # Generally, you should not have to modify anything after this point. # # Intel x86 with Microsoft Visual C++ under Win32. # .SUFFIXES: .SUFFIXES: .c .obj .c.obj: $(CC) -c $(CFLAGS) $< CC = cl #CFLAGS = -nologo $(INCLUDES) \ # -MD -Zi -WX -DOS_WIN32 $(EXTRA_FLAGS) -DDEBUG CFLAGS = -nologo $(INCLUDES) \ -MTd -Zi -WX -DOS_WIN32 $(EXTRA_FLAGS) -DDEBUG CFLAGS_EPICS = $(CFLAGS) # Special cases for individual files. CFLAGS_MX_EPICS = $(CFLAGS_EPICS) CFLAGS_MX_VERS = $(CFLAGS) -DMX_MAJOR_VERSION=$(MX_MAJOR_VERSION) \ -DMX_MINOR_VERSION=$(MX_MINOR_VERSION) \ -DMX_UPDATE_VERSION=$(MX_UPDATE_VERSION) COMPILE = $(CC) -c DEFINE = -D # # I use a version of makedepend that I obtained from the web site # http://www.utexas.edu/ftp/microlib/nt/new/ # # Disabled for now. # #MAKEDEPEND = mkdepend -f- $(CFLAGS) $(EPICS_INCLUDES) *.c > Makefile.depend #MAKEDEPEND = cp nul Makefile.depend MAKEDEPEND = ( rm Makefile.depend ; touch Makefile.depend ) MAKEDEPEND_CLEAN = ( rm Makefile.depend ; touch Makefile.depend ) # #--------------------------------------------------- # # See libMx/Makehead.irix for why this is here. # MX_LIB_OBJS = $(MX_LIB_SRCS:.c=.$(OBJ)) MOTOR_OBJS = $(MOTOR_SRCS:.c=.$(OBJ)) SERVER_OBJS = $(SERVER_SRCS:.c=.$(OBJ)) UPDATE_OBJS = $(UPDATE_SRCS:.c=.$(OBJ)) MXDRIVERINFO_OBJS = $(MXDRIVERINFO_SRCS:.c=.$(OBJ)) # #--------------------------------------------------- # RM = rm MAKE = make OBJ = obj # MX_LIB_DIR = ..\\libMx MX_INC_DIR = $(MX_LIB_DIR) MX_INCLUDES = -I$(MX_INC_DIR) MX_LIBRARY_PATH = $(MX_LIB_DIR)\\$(MX_LIBRARY_NAME) MX_LIBRARY_NAME = libMx.lib MX_LIBRARY_DELETE = $(RM) libMx.* $(MX_LIBRARY_NAME): $(MX_LIB_OBJS) -$(MX_LIBRARY_DELETE) link /dll /debug /out:libMx.dll /nodefaultlib:libc \ $(MX_LIB_OBJS) $(EXTRA_LIB_OBJS) $(LIBRARIES) library_install: -mkdir $(MX_INSTALL_DIR)/bin -mkdir $(MX_INSTALL_DIR)/etc -mkdir $(MX_INSTALL_DIR)/etc/startup -mkdir $(MX_INSTALL_DIR)/include -mkdir $(MX_INSTALL_DIR)/lib -mkdir $(MX_INSTALL_DIR)/log -mkdir $(MX_INSTALL_DIR)/run -mkdir $(MX_INSTALL_DIR)/sbin -mkdir $(MX_INSTALL_DIR)/state cp mx*.h $(MX_INSTALL_DIR)/include cp $(MX_LIBRARY_NAME) $(MX_INSTALL_DIR)/lib cp libMx.dll $(MX_INSTALL_DIR)/bin touch $(MX_INSTALL_DIR)/etc/motor.dat touch $(MX_INSTALL_DIR)/etc/scan.dat cp ../plotgnu/plotgnu.pl $(MX_INSTALL_DIR)/bin cp ../plotgnu/showdata $(MX_INSTALL_DIR)/bin/showdata.pl cp ../plotgnu/showplot $(MX_INSTALL_DIR)/bin/showplot.pl cp ../plotgnu/plot2ps $(MX_INSTALL_DIR)/bin/plot2ps.pl cp ../plotgnu/*.bat $(MX_INSTALL_DIR)/bin cp ../tools/*.exe $(MX_INSTALL_DIR)/bin cp ../tools/getopt.obj $(MX_INSTALL_DIR)/lib # #--------------------------------------------------- # MOTOR_NAME = motorbin.exe $(MOTOR_NAME): $(MOTOR_OBJS) $(MX_LIBRARY_PATH) link /debug /out:motorbin.exe *.obj \ /nodefaultlib:libc $(EXTRA_OBJS) \ $(MX_LIBRARY_PATH) $(WIN32_LIBS) motor_install: cp $(MOTOR_NAME) $(MX_INSTALL_DIR)/bin cp ../scripts/motor.bat $(MX_INSTALL_DIR)/bin # #--------------------------------------------------- # SERVER_NAME = mxserver.exe $(SERVER_NAME): $(SERVER_OBJS) $(MX_LIBRARY_PATH) link /debug /out:mxserver.exe *.obj \ /nodefaultlib:libc $(EXTRA_OBJS) \ $(MX_LIBRARY_PATH) $(WIN32_LIBS) server_install: cp $(SERVER_NAME) $(MX_INSTALL_DIR)/sbin cp ../scripts/startmxserver.bat $(MX_INSTALL_DIR)/sbin cp ../scripts/mx.bat $(MX_INSTALL_DIR)/sbin touch $(MX_INSTALL_DIR)/etc/mxserver.dat touch $(MX_INSTALL_DIR)/etc/mxserver.acl # #--------------------------------------------------- # UPDATE_NAME = mxupdate.exe $(UPDATE_NAME): $(UPDATE_OBJS) $(MX_LIBRARY_PATH) link /debug /out:mxupdate.exe *.obj \ /nodefaultlib:libc $(EXTRA_OBJS) \ $(MX_LIBRARY_PATH) $(WIN32_LIBS) update_install: cp $(UPDATE_NAME) $(MX_INSTALL_DIR)/sbin cp ../scripts/startmxupdate.bat $(MX_INSTALL_DIR)/sbin touch $(MX_INSTALL_DIR)/etc/mxupdate.dat # #--------------------------------------------------- # MXDRIVERINFO_NAME = mxdriverinfo.exe $(MXDRIVERINFO_NAME): $(MXDRIVERINFO_OBJS) $(MX_LIBRARY_PATH) link /debug /out:mxdriverinfo.exe *.obj \ /nodefaultlib:libc $(EXTRA_OBJS) \ $(MX_LIBRARY_PATH) $(WIN32_LIBS) mxdriverinfo_install: cp $(MXDRIVERINFO_NAME) $(MX_INSTALL_DIR)/bin