Files
epics-base/configure/os/CONFIG.Common.vxWorksCommon
2001-02-13 17:10:07 +00:00

125 lines
3.6 KiB
Plaintext

# CONFIG.Common.vxWorksCommon
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorksCommon
# or CONFIG_SITE.<host>.vxWorksCommon
#-------------------------------------------------------
# Vx valid build types
VALID_BUILDS = Ioc
#--------------------------------------------------
# operating system class (include/os/<os_class>)
OS_CLASS = vxWorks
#-------------------------------------------------------
# Prefix and suffix definitions
EXE =
OBJ = .o
LIB_PREFIX =
LIB_SUFFIX = Library.o
MUNCH_SUFFIX = .munch
#-------------------------------------------------------
# Library definition
# Build both *.o and *.munch libraries
LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
MUNCHNAME = $(LIBNAME:%$(OBJ)=%$(MUNCH_SUFFIX))
LIBRARY_CTDT_SRCS = $(LIBNAME:%$(OBJ)=%_ctdt.c)
LIBRARY_CTDT_OBJS = $(LIBNAME:%$(OBJ)=%_ctdt$(OBJ))
LIBRARY_NM = $(LIBNAME:%$(OBJ)=%.nm)
#--------------------------------------------------
# Library install location override
INSTALL_LOCATION_LIB=$(INSTALL_LOCATION)/bin
#--------------------------------------------------
# vxWorks directory definitions
# Tornado directory definitions
GNU_TARGET_INCLUDE_DIR = $(VX_DIR)/target/h
GNU_DIR = $(VX_DIR)/host/$(WIND_HOST_TYPE)
#-------------------------------------------------------
# Command definition overrides
LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
# use ld partial linking not ar to create libraries)
AR = $(LD)
ARFLAGS = -o
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
#--------------------------------------------------
# Operating system flags
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 $(GNU_TARGET_INCLUDE_DIR)/vxWorks.h
#--------------------------------------------------
# code flags
CODE_CFLAGS =
CODE_CXXFLAGS =
#--------------------------------------------------
# posix c preprocessor flags
POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE
POSIX_CPPFLAGS_NO =
#--------------------------------------------------
# Optimization flag overrides
OPT_CFLAGS_YES = -O2
OPT_CFLAGS_NO =
OPT_CXXFLAGS_YES = -O2
OPT_CXXFLAGS_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 = $(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