# CONFIG.Common.vxWorksCommon # # $Id$ # # Definitions for vxWorks target archs # # This file is maintained by the build community. # Sites may override these definitions in CONFIG_SITE.Common.vxWorksCommon # or CONFIG_SITE..vxWorksCommon #------------------------------------------------------- # Vx valid build types VALID_BUILDS = Ioc #-------------------------------------------------- # operating system class (include/os/) OS_CLASS = vxWorks #------------------------------------------------------- # Prefix and suffix definitions EXE = OBJ = .o LIB_PREFIX = LIB_SUFFIX = Library.o MUNCH_SUFFIX = Library.munch #------------------------------------------------------- # Library definition # Build both *.o and *.munch libraries LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX)) MUNCHNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(MUNCH_SUFFIX)) #-------------------------------------------------- # Library install location override INSTALL_LOCATION_LIB=$(INSTALL_LOCATION)/bin #-------------------------------------------------- # vxWorks directory definitions # Tornado directory definitions VX_INCLUDE = $(VX_DIR)/target/h GNU_DIR = $(VX_DIR)/host/$(WIND_HOST_TYPE) #------------------------------------------------------- # Command definition overrides GCC_LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r # use ld partial linking not ar to create libraries) GCC_AR = $(GCC_LD) ARFLAGS = -o GCC_RANLIB = #-------------------------------------------------- # C++ host processing NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)$(HOSTEXE) #-------------------------------------------------- # The follow 2 exports prevent gnu cross-compiler # from finding wrong assembler (as). export WIND_BASE = $(VX_DIR) export WIND_HOST_TYPE #-------------------------------------------------- # Posix flags override GCC_POSIX_CPPFLAGS = -D_POSIX_SOURCE G++_POSIX_CPPFLAGS = -D_POSIX_SOURCE #-------------------------------------------------- # Operating system flags OP_SYS_INCLUDES = -I$(VX_INCLUDE) OP_SYS_CPPFLAGS = -DvxWorks OP_SYS_CFLAGS = -fno-builtin OP_SYS_LDFLAGS = OP_SYS_LDLIBS = # Fix for vxWorks headers using macros defined in # vxWorks.h but not including vxWorks.h OP_SYS_CFLAGS += -include $(VX_INCLUDE)/vxWorks.h #-------------------------------------------------- # Optimization flag overrides GCC_OPT_YES = -O2 GCC_OPT_NO = G++_OPT_YES = -O2 G++_OPT_NO = #-------------------------------------------------- # c++ exceptions, YES or NO override CXX_EXCEPTIONS = NO #-------------------------------------------------- # osithead use default stack, YES or NO override OSITHREAD_USE_DEFAULT_STACK = NO #-------------------------------------------------- # Link definitions LINK.cpp = $(GCC_LD) -o $@ $(LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RES) $(LDLIBS) #-------------------------------------------------- # Uncomment these lines to, use C to compile SNC output -- all other systems use C++ ##%.c: ../%.st ## @echo "preprocessing $*.st" ## @$(RM) $*.i ## $(CPP) $(CPPSNCFLAGS) $< > $*.i ## @echo "converting $*.i" ## @$(RM) $@ ## $(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i -o $@ ## ##%.c: %.stt ## @echo "converting $< ## ln -s $< $*.st ## $(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st -o $@ ## @$(RM) $*.st CPPSNCFLAGS += -x c #-------------------------------------------------- # Allow site overrides -include $(CONFIG)/os/CONFIG_SITE.Common.vxWorksCommon -include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon