Files
epics-base/configure/os/CONFIG.Common.vxWorksCommon
2000-04-07 21:18:01 +00:00

115 lines
3.2 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
#-------------------------------------------------------
# Vx valid build types and include directory suffixes
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 = 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
# The definitions GNU_DIR, GNU_BIN and GNU_LIB
# can be overridden for specific host architectures
# by creating a CONFIG_SITE.Host.<host_arch> file with
# the override definitions.
# Tornado directory definitions
VX_INCLUDE = $(VX_DIR)/target/h
GNU_DIR = $(VX_DIR)/host/$(WIND_HOST_TYPE)
GCC_LD = $(GNU_BIN)/$(GNU_TARGET_PREFIX)ld$(CMPLR_SUFFIX) -r
#-------------------------------------------------------
# GCC override
# use ld partial linking not ar to create libraries)
GCC_AR = $(GCC_LD)
ARFLAGS = -o
GCC_RANLIB =
GCC_DEP_CPPFLAGS = -D_REENTRANT
G++_DEP_CPPFLAGS = -D_REENTRANT
#--------------------------------------------------
# C++ host processing
NM = $(GNU_BIN)/$(GNU_TARGET_PREFIX)nm$(CMPLR_SUFFIX)
ifneq ($(wildcard $(GNU_BIN)/munch.tcl),)
#tornado2
export WIND_BASE = $(VX_DIR)
export WIND_HOST_TYPE
ifneq ($(WIND_HOST_TYPE),x86-win32)
export PATH := $(GNU_BIN):$(PATH)
endif
MUNCH = $(GNU_BIN)/wtxtcl$(HOSTEXE) $(GNU_BIN)/munch.tcl -asm $(ARCH_CLASS)
else
#tornado101
MUNCH = $(GNU_BIN)/$(GNU_TARGET_PREFIX)munch$(EXE)
endif
#--------------------------------------------------
# Posix flags
POSIX_CPPFLAGS =
#--------------------------------------------------
# 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
G++_OPT_YES = -O2
G++_OPT_NO = -g
#--------------------------------------------------
# c++ exceptions, YES or NO
CXX_EXCEPTIONS = NO
#--------------------------------------------------
# osithead use default stack, YES or NO
OSITHREAD_USE_DEFAULT_STACK = NO
#--------------------------------------------------
# Link definitions
LINK.c = $(GCC_LD) -o $@ $(LDFLAGS)
LINK.cpp = $(GCC_LD) -o $@ $(LDFLAGS)
#--------------------------------------------------
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorksCommon
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon