# defs.ipcom - make defines for IPCOM # # Copyright (c) 2006-2008, 2010, 2017 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 # -------------------- # 01o,28may17,xxy Added TSN support # 01n,25apr16,pdr Added PTP support (backport Vx7). # 01m,16sep10,xhs support IPLITE # 01l,19may10,pee replaced direct use of @ with proper variable # 01k,29sep08,mze remove IPCOM_OBJ_DIR no longer used # 01j,29apr08,dlk Fix WR_IPCOM_VERSION (should have _, e.g. 6_7). # 01i,28sep07,pee WIND00105890 # 01h,27sep07,pee backing off... # 01g,10sep07,pee makeing option file intermediate. # 01f,25jun07,tkf Fix CQ:WIND00096983. # 01e,19jun07,tpw Use WRVX_COMPBASE vs. WIND_COMPONENTS correctly. # 01d,01jun07,tkf Move _IPCOM_OBJ_DIR to here. ipcom_ipdomain now stored in # _IPCOM_OBJ_DIR. # 01c,24apr07,tkf Add IPv6-Only build support. # 01b,03mar07,tkf Provide IPNET include path list in a file. # 01a,09nov06,tkf created. # # # DESCRIPTION # This file is currently included in rules.ipcom to define macros that pertain # to IPCOM requirements. The file can also be included by any VxWorks side # makefile to access IPCOM defines. # __DEFS_IPCOM_INCLUDED__ = TRUE ### # The macro IP_PORT_VXWORKS is used in IPCOM make fragments to determine # if the IPNET port is VxWorks and which version. Applications on VxWorks # that include IPCOM header files need to provide IP_PORT_VXWORKS. # ifeq ($(IP_PORT_VXWORKS),) WR_IPCOM_NAME := vxworks WR_IPCOM_VERSION := $(filter-out $(WR_IPCOM_NAME), $(subst -, ,$(WIND_PLATFORM))) WR_IPCOM_VERSION := $(subst .,_,$(WR_IPCOM_VERSION)) ifeq ($(findstring -DIP_PORT_VXWORKS,$(EXTRA_DEFINE)),) EXTRA_DEFINE += -DIP_PORT_VXWORKS=$(subst _,,$(WR_IPCOM_VERSION)) endif endif ################################ # The macro INCLUDE_IPCOM_CC defines the IPCOM include search paths. Makefiles # written for applications that include IPCOM header files need to add # INCLUDE_IPCOM_CC to INCLUDE_CC as follows: # # INCLUDE_CC += $(INCLUDE_IPCOM_CC) WIND_COMPONENTS_INCLUDES := $(subst \,/,$(WIND_COMPONENTS_INCLUDES)) ifeq ($(WIND_HOST_TYPE),x86-win32) IPCOM_SEPARATOR := ; else IPCOM_SEPARATOR := : endif _IPCOM_IPDOMAIN_FILE := ipcom_ipdomain$(OPT) ifneq ($(TOOL_OPTIONS_FILES_DIR),) _IPCOM_IPDOMAIN_FILE_ = $(TOOL_OPTIONS_FILES_DIR)/$(_IPCOM_IPDOMAIN_FILE) else _IPCOM_IPDOMAIN_FILE_ = $(OBJ_DIR)/$(_IPCOM_IPDOMAIN_FILE) endif #INCLUDE_IPCOM_CC += $(foreach dir,$(subst $(IPCOM_SEPARATOR), ,$(WIND_COMPONENTS_INCLUDES)),$(OPTION_INCLUDE_DIR)$(dir)) _IPNET_TOP_DIR := $(subst \,/,$(WRVX_COMPBASE)/$(COMP_IPNET2)) ifdef _WRS_CONFIG_COMPONENT_IPLITE INCLUDE_IPCOM_CC = $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom/port/vxworks/include \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom/port/vxworks/config \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom/include \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom/config \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/iplite2/src \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/iplite2/include \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/iplite2/config else INCLUDE_IPCOM_CC = $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom/port/vxworks/include \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom/port/vxworks/config \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom/include \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipcom/config \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipnet2/src \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipnet2/include \ $(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/ipnet2/config endif #### # The following include paths are required for applications that require to # include IPNET header files. It is assumed that all IP products contain their # publicly accessible header files in config and include directories. # IPCOM_V4_PRODUCTS := ipappl iprip ipsntp ipdhcps ipdhcpr ipppp iptcp ipmcrypto vxmux ipsctp ipwps vxcoreip vxcompat ipmacsec ipntp ipptp tsn IPCOM_V6_PRODUCTS := ipripng ipdhcpc6 ipdhcps6 INCLUDE_IPCOM_CC += $(foreach dir, $(IPCOM_V4_PRODUCTS),$(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/$(dir)/config) INCLUDE_IPCOM_CC += $(foreach dir, $(IPCOM_V4_PRODUCTS),$(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/$(dir)/include) INCLUDE_IPCOM_CC += $(foreach dir, $(IPCOM_V6_PRODUCTS),$(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/$(dir)/config) INCLUDE_IPCOM_CC += $(foreach dir, $(IPCOM_V6_PRODUCTS),$(OPTION_INCLUDE_DIR)$(_IPNET_TOP_DIR)/$(dir)/include) #### # Include extended IPCOM defines -include $(WIND_BASE)/target/h/make/defs.ipcom-extended -include $(WRVX_COMPBASE)/$(COMP_IPNET2)/osconfig/vxworks/make/defs.ipcom-extended #### # The following code eliminates any duplicate include paths # export _IPNET_TOP_DIR ifeq ($(findstring $(_IPCOM_IPDOMAIN_FILE_),$(EXTRA_INCLUDE)),) EXTRA_INCLUDE += $(OPTION_INDIRECT_FILE)$(_IPCOM_IPDOMAIN_FILE_) endif ifeq ($(findstring $(_IPCOM_IPDOMAIN_FILE_),$(TOOL_OPTIONS_FILES_ALL)),) TOOL_OPTIONS_FILES_ALL += $(_IPCOM_IPDOMAIN_FILE_) endif