103 lines
3.9 KiB
Plaintext
103 lines
3.9 KiB
Plaintext
# CONFIG_SITE.Common.vxWorksCommon
|
|
#
|
|
# Site specific definitions for vxWorks target builds.
|
|
|
|
# Compiler options can vary with the vxWorks version number, so we
|
|
# need to know that. Do not include any third-level digits.
|
|
|
|
# Note: vxWorks 5.4.x and 5.5.x (Tornado 2.x) are not supported.
|
|
# VxWorks 6.0 through 6.5 use older, untested versions of GCC.
|
|
|
|
#VXWORKS_VERSION = 6.6
|
|
#VXWORKS_VERSION = 6.7
|
|
#VXWORKS_VERSION = 6.8
|
|
VXWORKS_VERSION = 6.9
|
|
|
|
|
|
# Sites may override the following path for a particular host
|
|
# architecture by adding it to an appropriate
|
|
# CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon file.
|
|
|
|
#### Fixes for CONFIG.Common.vxWorksCommon #######
|
|
|
|
VX_GNU_VERSION_7 = 4.8.1.11
|
|
|
|
|
|
# These are needed for vxWorks 6.x; the GNU toolset version number
|
|
# is in the path to the compiler tools:
|
|
VX_GNU_VERSION_5 = 2.96
|
|
VX_GNU_VERSION_6 = $(VX_GNU_VERSION_$(VXWORKS_VERSION))
|
|
VX_GNU_VERSION = $(VX_GNU_VERSION_$(VXWORKS_MAJOR_VERSION))
|
|
VX_GNU_MAJOR_VERSION = $(firstword $(subst ., ,$(VX_GNU_VERSION)))
|
|
VX_GNU_MINOR_VERSION = $(word 2,$(subst ., ,$(VX_GNU_VERSION)))
|
|
|
|
# gcc version before 3.4 are "old" and need special treatment
|
|
VX_OLD_GCC_2 = OLD
|
|
VX_OLD_GCC_3.3 = OLD
|
|
VX_OLD_GCC_3 = $(VX_OLD_GCC_3.$(VX_GNU_MINOR_VERSION))
|
|
VX_OLD_GCC = $(VX_OLD_GCC_$(VX_GNU_MAJOR_VERSION))
|
|
|
|
# vxWorks directory definitions
|
|
VX_DIR_5 = $(WIND_BASE)
|
|
VX_DIR_6 = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)
|
|
VX_DIR_7 = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)/pkgs/os
|
|
VX_DIR = $(VX_DIR_$(VXWORKS_MAJOR_VERSION))
|
|
|
|
VX_INCLUDE_DIRS_5 = $(VX_DIR)/target/h
|
|
VX_INCLUDE_DIRS_6 = $(VX_DIR)/target/h
|
|
VX_INCLUDE_DIRS_6 += $(VX_DIR)/target/h/wrn/coreip
|
|
VX_INCLUDE_DIRS_7 = $(VX_DIR)/core/kernel-1.2.8.0/h
|
|
VX_INCLUDE_DIRS_7 += $(VX_DIR)/lang-lib/libc-1.0.0.1/libc-kernel-1.0.8.0/h
|
|
VX_INCLUDE_DIRS_7 += $(VX_DIR)/utils/ostools-1.0.5.0/h
|
|
VX_INCLUDE_DIRS_7 += $(VX_DIR)/utils/ostools-1.0.5.0/shareh
|
|
VX_INCLUDE_DIRS_7 += $(VX_DIR)/arch/ppc-1.3.4.0/kernel/base/h/
|
|
VX_INCLUDE_DIRS_7 += $(VX_DIR)/arch/ppc-1.3.4.0/kernel/60x/h/arch/ppc/
|
|
VX_INCLUDE_DIRS_7 += $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)/samples/prebuilt_projects/vsb_vxsim_linux/krnl/h/public
|
|
GNU_TARGET_INCLUDE_DIR = $(VX_INCLUDE_DIRS_$(VXWORKS_MAJOR_VERSION))
|
|
|
|
TARGET_CPPFLAGS_5 = -isystem $(VX_DIR)/target/h
|
|
TARGET_CPPFLAGS_6 = -isystem $(VX_DIR)/target/h
|
|
TARGET_CPPFLAGS_7 = -isystem $(VX_DIR)/core/kernel-1.2.8.0/h -D_VSB_CONFIG_FILE='<$(WIND_BASE)/vxworks-$(VXWORKS_VERSION)/samples/prebuilt_projects/vsb_vxsim_linux/h/config/vsbConfig.h>'
|
|
TARGET_CPPFLAGS = $(TARGET_CPPFLAGS_$(VXWORKS_MAJOR_VERSION))
|
|
|
|
# vxWorks GNU directories
|
|
|
|
GNU_DIR_5 = $(WIND_BASE)/host/$(WIND_HOST_TYPE)
|
|
GNU_DIR_6 = $(WIND_BASE)/gnu/$(VX_GNU_VERSION)-vxworks-$(VXWORKS_VERSION)/$(WIND_HOST_TYPE)
|
|
GNU_DIR_7 = $(WIND_BASE)/compilers/gnu-$(VX_GNU_VERSION)/$(WIND_HOST_TYPE)
|
|
GNU_DIR = $(GNU_DIR_$(VXWORKS_MAJOR_VERSION))
|
|
|
|
# Operating system flags
|
|
|
|
OP_SYS_INCLUDE_CPPFLAGS_5 += -include $(VX_DIR)/target/h/vxWorks.h
|
|
OP_SYS_INCLUDE_CPPFLAGS_5 += -I$(EPICS_BASE)/include/os/vxWorks/vxWorks5
|
|
OP_SYS_INCLUDE_CPPFLAGS_6 += -include $(VX_DIR)/target/h/vxWorks.h
|
|
OP_SYS_INCLUDE_CPPFLAGS_7 += -include vxWorks.h
|
|
OP_SYS_INCLUDE_CPPFLAGS = $(OP_SYS_INCLUDE_CPPFLAGS_$(VXWORKS_MAJOR_VERSION))
|
|
|
|
OP_SYS_LDFLAGS += $(OP_SYS_LDFLAGS_$@)
|
|
OP_SYS_LDFLAGS_softIoc = -whole-archive
|
|
OP_SYS_LDFLAGS_softIocPVA = -whole-archive
|
|
|
|
# code flags (delete -fno-implicit-templates)
|
|
CODE_CXXFLAGS =
|
|
|
|
# WIND_BASE is where you installed the Wind River software.
|
|
|
|
#WIND_BASE = /usr/local/vw/tornado22-$(ARCH_CLASS)
|
|
#WIND_BASE = /usr/local/vw/vxWorks-$(VXWORKS_VERSION)
|
|
#WIND_BASE = /ade/vxWorks/$(VXWORKS_VERSION)
|
|
WIND_BASE = /opt/VxWorks/VxWorks$(VXWORKS_VERSION)
|
|
|
|
#--------------------------------------------------
|
|
# Modules we cannot build with old compiler
|
|
|
|
# For the license counter
|
|
export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH:%=%:)$(WIND_BASE)/lmapi-5.0/$(WIND_HOST_TYPE)/lib
|
|
|
|
PV_MODULES = pv% normativeTypes
|
|
SKIP_BUILDS_5 = $(PV_MODULES)
|
|
SKIP_BUILDS_OLD = $(PV_MODULES)
|
|
SKIP_BUILDS_6 = $(SKIP_BUILDS_$(VX_OLD_GCC))
|
|
SKIP_BUILDS = $(SKIP_BUILDS_$(VXWORKS_MAJOR_VERSION))
|