# # Name: Makehead.rtems # # Purpose: This file is used to customize operating system and installation # dependent features of the MX makefiles. This version is customized # for RTEMS. # RTEMS_MAKEFILE_PATH = /opt/rtems/powerpc-rtems/mvme2307 #RTEMS_MAKEFILE_PATH = /opt/rtems/m68k-rtems/mvme162 #RTEMS_MAKEFILE_PATH = /opt/rtems/i386-rtems/pc486 INCLUDES = $(MX_INCLUDES) LIB_DIRS = -L$(MX_LIB_DIR) LIBRARIES = -lm # #======================================================================== # # Generally, you should not have to modify anything after this point. # MANAGERS = io event semaphore ifeq ($(mx_directory_name),"motor") OBJS = mrtems.o $(MOTOR_OBJS) \ ../libMx/libMx.a $(LIBRARIES) else ifeq ($(mx_directory_name),"server") OBJS = ms_rtems.o $(SERVER_OBJS) \ ../libMx/libMx.a $(LIBRARIES) endif endif include $(RTEMS_MAKEFILE_PATH)/Makefile.inc include $(RTEMS_CUSTOM) include $(PROJECT_ROOT)/make/leaf.cfg BSP_FLAGS = -DRTEMS_BSP=$(RTEMS_BSP) -DRTEMS_BSP_FAMILY=$(RTEMS_BSP_FAMILY) \ -DRTEMS_CPU=$(RTEMS_CPU) -DRTEMS_CPU_MODEL=$(RTEMS_CPU_MODEL) CFLAGS_LD += -Wl,--defsym -Wl,HeapSize=0x80000 # # gcc specific flags # GCCFLAGS = -Wall -Werror \ -Wpointer-arith \ -Wcast-align \ -Wcast-qual \ -Wnested-externs \ -Winline # The RTEMS include files are not compatible with the following warnings. # #-Wstrict-prototypes \ #-Wmissing-prototypes \ #-Wshadow \ # # RTEMS with GCC # CFLAGS = -g -O $(GCCFLAGS) -I$(RTEMS_MAKEFILE_PATH)/lib/include \ $(INCLUDES) -DOS_RTEMS \ $(EXTRA_FLAGS) -DDEBUG CFLAGS_EPICS = $(CFLAGS) -Wno-strict-prototypes # Special cases for individual files. CFLAGS_MX_EPICS = $(CFLAGS_EPICS) -Wno-cast-qual 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 MAKEDEPEND = $(CC) -MM $(CFLAGS) *.c > Makefile.depend MAKEDEPEND_CLEAN = cp /dev/null 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 -f MAKE = make MKDIR = mkdir OBJ = o # #--------------------------------------------------- # MX_LIB_DIR = ../libMx MX_INC_DIR = $(MX_LIB_DIR) MX_INCLUDES = -I$(MX_INC_DIR) MX_LIBRARY_NAME = libMx.a MX_LIBRARY_PATH = $(MX_LIB_DIR)/$(MX_LIBRARY_NAME) MX_LIBRARY_DELETE = rm $(MX_LIBRARY_NAME) $(MX_LIBRARY_NAME): $(MX_LIB_OBJS) -$(MX_LIBRARY_DELETE) ar rcs $(MX_LIBRARY_NAME) $(MX_LIB_OBJS) ranlib $(MX_LIBRARY_NAME) 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 install -m 644 mx*.h $(MX_INSTALL_DIR)/include install -m 644 $(MX_LIBRARY_NAME) $(MX_INSTALL_DIR)/lib install -m 644 libMx.a $(MX_INSTALL_DIR)/lib ( cd $(MX_INSTALL_DIR)/lib ; ln -sf $(MX_LIBRARY_NAME) $(MX_SONAME) ) ( cd $(MX_INSTALL_DIR)/lib ; ln -sf $(MX_LIBRARY_NAME) libMx.so ) touch $(MX_INSTALL_DIR)/etc/motor.dat touch $(MX_INSTALL_DIR)/etc/scan.dat install -m 755 ../plotgnu/plotgnu.pl $(MX_INSTALL_DIR)/bin install -m 755 ../plotgnu/showdata $(MX_INSTALL_DIR)/bin install -m 755 ../plotgnu/showplot $(MX_INSTALL_DIR)/bin install -m 755 ../plotgnu/plot2ps $(MX_INSTALL_DIR)/bin # #--------------------------------------------------- # MOTOR_NAME = motor.exe $(MOTOR_NAME): mrtems.o $(MOTOR_OBJS) $(MX_LIBRARY_PATH) $(LINK_FILES) $(make-exe) mrtems.o: mrtems.c $(COMPILE) $(CFLAGS) $(BSP_FLAGS) mrtems.c motor_install: install -m 755 $(MOTOR_NAME) $(MX_INSTALL_DIR)/bin # #--------------------------------------------------- # SERVER_NAME = mxserver.exe $(SERVER_NAME): ms_rtems.o $(SERVER_OBJS) $(MX_LIBRARY_PATH) $(LINK_FILES) $(make-exe) ms_rtems.o: ms_rtems.c $(COMPILE) $(CFLAGS) $(BSP_FLAGS) ms_rtems.c server_install: install -m 755 $(SERVER_NAME) $(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_install: # #--------------------------------------------------- # MXDRIVERINFO_NAME = mxdriverinfo.exe $(MXDRIVERINFO_NAME): mxdriverinfo_install: