126 lines
3.6 KiB
Plaintext
126 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
|
|
OP_SYS_CPPFLAGS += -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
|