Files
m241Neelima/vxworks-6.9/target/h/make/defs.option
T
2026-07-30 11:19:44 +05:30

221 lines
5.9 KiB
Plaintext

# defs.option - makefile definitions related to option builds
#
# Copyright (c) 1984-2006 Wind River Systems, Inc.
#
# The right to copy, distribute, modify or otherwise make use
# of this software may be licensed only pursuant to the terms
# of an applicable Wind River license agreement.
#
#
# modification history
# --------------------
# 01z,15sep10,xhs support IPLITE
# 01y,05feb10,mry Add ipmacsec lib
# 01x,11jun09,dwb Adding vxdot1x
# 01w,16dec08,mry Add wps lib
# 01v,25mar09,pee WIND00160969
# 01u,11feb09,ggz Move coreip and bridge into CVS
# 01u,03dec08,f_g Added ipsctp to IP_LIB_BASE_NAMES.
# 01t,25aug08,pee adding to the list.
# 01t,25aug08,pee adding files to inet6 list.
# 01s,30jun08,mze allow -inet6only as a OPT and removed the -fr variations
# 01r,30may08,dlk Added vxmux to IP_LIB_BASE_NAMES.
# 01q,29oct07,mry Merging ipsupp/ipeap changes
# 01p,10sep07,mry Add 8021x lib
# 01o,05oct07,pee adding INET / INET6 definition and caching. Moved from
# ipcom.
# 01n,20sep07,pee WIND00105231
# 01m,01jun06,tkf Add netcommon, netapps, and netwrap to IP_LIB_BASE_NAMES.
# 01l,26dec06,tkf Define IPBASIC for bootrom* targets (as workaround for
# CQ84418).
# 01k,14dec06,tkf Define IPBASIC if OPT==-basic.
# 01j,13dec06,tkf Added OPT=-basic option.
# 01k,17oct06,kch Removed unsupported directories from IP_LIB_BASE_NAMES.
# Also added ipradius to IP_LIB_BASE_NAMES.
# 01j,22sep06,dlk Add interpeak stack support. Remove virtual stack OPTS.
# 01i,09jan06,kch Include firewall to the -inet6 build option for MSP.
# 01h,15apr05,kch Changed 'inet6_fr' to '-inet6_fr' and 'inet6_vs_fr'
# to '-inet6_vs_fr'.
# 01g,14apr05,kch Fixed SUPPORTED_OPTIONS such that virtual stack build
# options will be supported for MSP only. Added ROUTER_STACK
# setting to virtual stack option builds.
# 01f,31mar05,kch Added the -vs, -vs_fr, -inet6_vs and inet6_vs_fr build
# options for virtual stack.
# 01e,23sep04,dlk Use OPT_DEFINE instead of EXTRA_DEFINE. Using
# EXTRA_DEFINE requires 'override', which breaks later
# additions to EXTRA_DEFINE (e.g. in some BSPs) which
# don't use 'override'.
# 01d,02sep04,dlk Remove dsi from -inet6 builds. Tighten check
# on OPT validity. Add aim to free build libraries.
# Do not modify ADDED_CFLAGS.
# 01c,04may04,dlk Added the -inet6_fr build option. Remove references
# to the fpio library.
# 01b,20apr04,dlk Added -inet6 build option.
# 01a,04feb04,dlk written.
#
# DESCRIPTION
#
# This file is included in Makefiles to establish information related
# to option builds, in particular the lists of libraries which support
# particular option builds.
#
# Protect against multiple inclusion.
ifeq ($(DEFS_OPTION),)
DEFS_OPTION = TRUE
# For GPP build, the environment variable $FEATURE_SET is either set to "gpp"
# or simply not defined at all. Here it is assumed that the top-level Feature
# Set Makefile (if exist) has verified the setting of the $FEATURE_SET
# variable (if defined).
ifeq ($(FEATURE_SET),)
_GPP_BUILD = TRUE
else
ifeq ($(FEATURE_SET),gpp)
_GPP_BUILD = TRUE
endif
endif
# Supported build options for all products
ifeq ($(WIND_IPLITE),true)
SUPPORTED_OPTIONS = -inet6 -basic
else
SUPPORTED_OPTIONS = -inet6only -inet6 -basic
endif
# Supported build options for MSP platform products.
ifeq ($(_GPP_BUILD),)
SUPPORTED_OPTIONS +=
endif
# Check that OPT is valid. If not, fail.
_empty_ =
_space_ = $(_empty_) $(_empty_)
ifneq ($(OPT),)
ifneq ($(findstring $(_space_),$(OPT)),)
$(error OPT may not contain spaces: "$(OPT)")
endif
ifeq ($(filter $(OPT), $(SUPPORTED_OPTIONS)),)
$(error OPT="$(OPT)" is unsupported. Allowed: $(SUPPORTED_OPTIONS))
endif
endif
# It's ugly to have to list these explicitly here, but not _too_ ugly.
# Note that these are IPPROD values, which are sometimes different from
# the top level directory names; in some cases, several IPPROD values fall
# under the same top level directory.
#
# Several of these won't be used or built for VxWorks.
# Please keep in alphabetical order.
IP_LIB_BASE_NAMES := \
agent \
coex \
devkit \
engine \
ipappl \
ipcci \
ipcom \
ipcom_vxworks \
ipdhcpc6 \
ipdhcpr \
ipdhcps \
ipdhcps6 \
ipeap \
ip8021x \
ipwps \
ipfirewall \
iphwcrypto \
ipike \
ipipsec2 \
ipmcp \
ipmcrypto \
ipmip6 \
ipmip6mn \
ipmipfa \
ipmipha \
ipmipmn \
ipmpls \
ipnet \
ipnet_krn \
ipppp \
iprip \
ipripng \
ipradius \
ipsctp \
ipsntp \
ipssh \
iptcp \
mibtable \
snmp_agt \
snmpv3 \
vxcompat \
vxmux \
vxbridge \
vxcoreip \
wrsnmp \
vxdot1x \
ipmacsec
IP_COMPONENT_LIB_BASE_NAMES = ipcrypto ipcrypto_apps ipdiameter ipmip4 ipmip iprohc ipssl ipwlan
ifeq ($(OPT),-inet6)
export _INET6_BUILD := 1
OPT_DEFINE += -DINET6
endif
LIB_BASE_NAMES-inet6 := netcommon netapps netwrap $(IP_LIB_BASE_NAMES) $(IP_COMPONENT_LIB_BASE_NAMES)
ifeq ($(_GPP_BUILD),)
LIB_BASE_NAMES-inet6 +=
endif
ifeq ($(OPT),-basic)
OPT_DEFINE += -DIPBASIC
endif
# Workaround for CQ84418
bootrom bootrom_uncmp bootrom_res bootrom_res_high: OPT_DEFINE += -DIPBASIC
LIB_BASE_NAMES-basic := netcommon netapps netwrap $(IP_LIB_BASE_NAMES)
###
# The following section is added to support IPv6-Only build. The macro INET
# is always defined by default unless the INET6_ONLY macro is defined
#
# This code fragment is not to be use during vxWorks image build since
# the macros INET6_ONLY, INET6 are not guranteed to be defined.
#
ifeq ($(BSP_NAME),)
ifeq ($(findstring -inet6only,$(OPT)),-inet6only)
_INET6_ONLY_BUILD = 1
else
ifeq ($(findstring -inet6,$(OPT)),-inet6)
_INET6_BUILD = 1
endif
endif
ifneq ($(_INET6_ONLY_BUILD),)
ifeq ($(filter -DINET6,$(EXTRA_DEFINE)),)
EXTRA_DEFINE += -DINET6
endif
else
ifeq ($(filter -DINET,$(EXTRA_DEFINE)),)
EXTRA_DEFINE += -DINET
endif
ifneq ($(_INET6_BUILD),)
ifeq ($(filter -DINET6,$(EXTRA_DEFINE)),)
EXTRA_DEFINE += -DINET6
endif
endif
endif
endif
endif # ifeq ($(DEFS_OPTION),)