Files
2026-07-30 11:19:44 +05:30

184 lines
7.1 KiB
Plaintext

# defs.vxWorks - vxworks default makefile definitions
#
# Copyright 1984-2012, 2017 Wind River Systems, Inc.
#
# modification history
# --------------------
# 02c,24jan17,pee add support for user CFLAGS in VIP (VXW6-85583)
# 02b,16jul15,rtm Fix for VXW6-83093
# 02a,28may12,pee WIND00343181
# 01z,15jun11,mze add debug
# 01y,19jan11,pee WIND00250470
# 01x,04nov10,mze fix typo
# 01w,03nov10,mze IA CPU tag work
# 01v,28oct10,pee WIND00233594
# 01u,09apr10,pee adding specific flag for cmpScripLib
# 01t,08apr10,pee tuning FLAGS
# 01r,19mar10,pee tuning FLAGS
# 01q,02feb10,pee adding CFLAGS, no longer hardcoded in project.
# 01p,19may09,pee include defs.vsbvars.mk to avoid replication.
# 01o,24jul09,pee modification to tag file path.
# 01n,30jun09,pee include VSB configuration
# 01m,16jun09,pee adding kernel tag support
# 01l,22aug08,pee adding VSB information.
# 01k,10aug04,fle SPR#100638 : wrong values used for ROM Flags
# 01j,04mar04,fle Added CC_ROM_FLAGS
# 01i,25sep03,dat adding _WRS_KERNEL to compile flags (TEMPORARY)
# 01h,23jul03,jmp always define MAKE_SYM if INCLUDE_STANDALONE_SYM_TBL is not
# defined.
# 01g,28jan02,sn always build ctdt.o
# 01f,24apr00,dat SPR 30819, fix project link of ROM images
# 01e,11apr00,dra Added RES_LDFLAGS where needed.
# 01d,05may99,bc fix BINXSYM command for objcopy version.
# 01c,07jul98,ms fixed MAKE_SYM definition.
# 01b,29jun98,ms renamed vxWorks_downLoadable to just vxWorks.
# 01a,10oct97,ms written based on defs.bsp.
#
# DESCRIPTION
# This file is included into project makefiles for vxWorks based projects.
# It overrides some of the defintions from defs.project
#
## link addresses
ifeq ($(ROM_LINK_ADRS),)
ROM_LINK_ADRS = $(ROM_TEXT_ADRS)
endif
# HELP: Temporary fix to get -D_WRS_KERNEL into the project build of a
# VxWorks image.
CC_ROM_FLAGS = -DRAM_DATA_ADRS=0x$(RAM_LOW_ADRS) \
-DRAM_DST_ADRS=0x$(RAM_LOW_ADRS)
CC_ROM_HIGHLOW_FLAGS = -DRAM_DATA_ADRS=0x$(RAM_HIGH_ADRS) \
-DRAM_DST_ADRS=0x$(RAM_LOW_ADRS)
CC_ROM_RES_FLAGS= -DROM_RESIDENT $(CC_ROM_FLAGS)
CC_ROM_CPY_FLAGS= -DROM_COPY $(CC_ROM_HIGHLOW_FLAGS)
CC_ROM_CMP_FLAGS= -DROM_COMPRESS $(CC_ROM_HIGHLOW_FLAGS)
# default build images
ifeq ($(DEFAULT_RULE),)
DEFAULT_RULE = vxWorks
endif
RELEASE = vxWorks
# For simplicity always build ctdt.o (an array of compiler generated
# static initializers).
POSTLINK_MODULES += ctdt.o
# If INCLUDE_STANDALONE_SYM_TBL component is included, then add the symbol
# table module to POSTLINK_MODULES. Otherwise MAKE_SYM is always defined,
# so that vxWorks symbol table is always built (to match behavior with bsp
# build), and can be used by components like INCLUDE_NET_SYM_TBL or
# INCLUDE_PASS_FS_TBL.
ifneq ($(filter INCLUDE_LOADER INCLUDE_WDB, $(COMPONENTS)),)
_COMPONENT_LDFLAGS = $(_LD_VXWORKS_LOADER_FLAGS)
endif
ifneq ($(findstring INCLUDE_STANDALONE_SYM_TBL, $(COMPONENTS)),)
POSTLINK_MODULES += symTbl.o
else
define MAKE_SYM
$(BINXSYM) $@ $@.sym
endef
define MAKE_SYM_CVT
$(LDOUT_SYMS) $@.sym
endef
endif
# compile flags
CC_WARNINGS = $(CC_WARNINGS_MED)
# CC_DEBUG = -g
# The debug fals are now part of the CC_OPTIM FLAGS as debug really requires some
# of the optimizations to be turned off, to function properly. For a VIP debug is toggled on and off
# with -debug and -debug_opt see >vxprj help for details.
_PROJECT_INCLUDE = -I$(PRJ_DIR) -I$(BSP_DIR)
_PROJECT_CFLAGS = -DPRJ_BUILD
EXTRA_CFLAGS = $(EXTRA_DEFINE) $(OPT_DEFINE) $(ADDED_CFLAGS) $(_ARCH_ADDED_CFLAGS)
# this flag is defaulted the same way that defs.bsp defaults it
CC_OPTIM = $(CC_OPTIM_TARGET)
__CFLAGS = $(CMPSCRIPTLIB_CFLAGS) $(CC_ARCH_SPEC) $(CC_COMPILER) $(CC_OPTIM) $(CC_WARNINGS) \
$(_PROJECT_INCLUDE) $(CC_INCLUDE) $(CC_DEFINES) $(ADDED_CFLAGS) $(_ARCH_ADDED_CFLAGS) \
$(CC_SOFT_FLOAT) $(CFLAGS_OPTIONS_ALL) $(ALLFLAGS_VSBDEFS) \
$(_PROJECT_CFLAGS) $(EXTRA_CFLAGS) $(_USER_CFLAGS)
CFLAGS = $(if $(findstring YES,$(findstring $(USE_USER_FLAGS),YES)),$(USER_CFLAGS),$(__CFLAGS))
C++FLAGS = $(CC_ARCH_SPEC) $(C++_COMPILER) $(CC_OPTIM) $(C++_WARNINGS) \
$(_PROJECT_INCLUDE) $(CC_INCLUDE) $(CC_DEFINES) $(ADDED_C++FLAGS) \
$(CC_SOFT_FLOAT) $(C++FLAGS_OPTIONS_ALL) $(ALLFLAGS_VSBDEFS) \
$(_PROJECT_CFLAGS) $(EXTRA_CFLAGS) $(_USER_CFLAGS)
CASFLAGS = $(CC_ARCH_SPEC) $(OPTION_PP) $(OPTION_LANG_ASM) $(CC_INCLUDE)\
$(CC_DEFINES) $(CASFLAGS_OPTIONS_ALL) $(ALLFLAGS_VSBDEFS) \
$(_PROJECT_CFLAGS) $(EXTRA_CFLAGS) $(_USER_CAS_FLAGS)
CFLAGS_AS = $(CMPSCRIPTLIB_CFLAGS_AS) $(CC_ARCH_SPEC) $(CC_COMPILER) $(CC_OPTIM) \
$(_PROJECT_INCLUDE) $(CC_INCLUDE) \
$(CC_DEFINES) $(ADDED_CFLAGS) $(_ARCH_ADDED_CFLAGS) $(OPTION_PP_AS) \
$(OPTION_LANG_ASM) $(CFLAGS_AS_OPTIONS_ALL) $(ALLFLAGS_VSBDEFS) \
$(_PROJECT_CFLAGS) $(EXTRA_CFLAGS) $(_USER_CFLAGS_AS)
# Special flags for Position Independent Code (bootInit.o)
CFLAGS_PIC = $(CC_ARCH_SPEC) $(CC_COMPILER) $(CC_OPTIM) $(CC_WARNINGS) \
$(CC_INCLUDE) $(CC_DEFINES) $(ADDED_CFLAGS) $(_ARCH_ADDED_CFLAGS) $(CC_PIC) \
$(CC_SOFT_FLOAT) $(CFLAGS_PIC_OPTIONS_ALL) $(ALLFLAGS_VSBDEFS)
CC_INCLUDE = $(OPTION_INCLUDE_DIR)$(TGT_DIR)/h \
$(INCLUDE_CC) $(EXTRA_INCLUDE) $(OPTION_INCLUDE_DIR). \
$(OPTION_INCLUDE_DIR)$(TGT_DIR)/h/wrn/coreip \
$(OPTION_INCLUDE_DIR)$(TGT_DIR)/src/config \
$(OPTION_INCLUDE_DIR)$(TGT_DIR)/config/comps/src \
$(OPTION_INCLUDE_DIR)$(TGT_DIR)/src/drv \
$(OPTION_INCLUDE_DIR)$(TGT_DIR)/src/hwif/h
CC_DEFINES = $(OPTION_DEFINE_MACRO)CPU=_VX_$(CPU) \
$(OPTION_DEFINE_MACRO)TOOL_FAMILY=$(TOOL_FAMILY) \
$(OPTION_DEFINE_MACRO)TOOL=$(TOOL) \
$(OPTION_DEFINE_MACRO)_WRS_KERNEL \
$(DEFINE_CC) $(EXTRA_DEFINE) $(OPT_DEFINE)
WIND_VXCONFIG := $(subst \,/,$(WIND_VXCONFIG))
WIND_COMPONENTS_INCLUDES := $(subst \,/,$(WIND_COMPONENTS_INCLUDES))
ifeq ($(WIND_HOST_TYPE),x86-win32)
EXTRA_INCLUDE += $(foreach dir,$(subst ;, ,$(WIND_COMPONENTS_INCLUDES)), $(OPTION_INCLUDE_DIR)$(dir))
EXTRA_INCLUDE += $(foreach dir,$(subst ;, ,$(WIND_VXCONFIG)), $(OPTION_INCLUDE_DIR)$(dir)/src)
EXTRA_INCLUDE += $(foreach dir,$(subst ;, ,$(WIND_VXCONFIG)), $(OPTION_INCLUDE_DIR)$(dir)/h)
else
EXTRA_INCLUDE += $(foreach dir,$(subst :, ,$(WIND_COMPONENTS_INCLUDES)), $(OPTION_INCLUDE_DIR)$(dir))
EXTRA_INCLUDE += $(foreach dir,$(subst :, ,$(WIND_VXCONFIG)), $(OPTION_INCLUDE_DIR)$(dir)/src)
EXTRA_INCLUDE += $(foreach dir,$(subst :, ,$(WIND_VXCONFIG)), $(OPTION_INCLUDE_DIR)$(dir)/h)
endif
EXTRA_INCLUDE += $(COMPONENT_INCLUDES)
include $(TGT_DIR)/h/make/defs.vsbvars.mk
VSB_MAKE_CONFIG_FILE = $(VSB_CONFIG_DIR)/$(VSB_MAKE_CONFIG_FILE_NAME)
-include $(VSB_MAKE_CONFIG_FILE)
# tag data
VSB_TAG_DIR = $(VSB_DIR)/tags/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU)$(CPU_OPTION_SUFFIX)/$(TOOL_COMMON_DIR)$(LIB_DIR_TAG)$(MINOR_OPTION_SUFFIX)
TAG_FILENAME_KERNEL = kernel.tags
VSB_TAG_FILE_KERNEL = $(VSB_TAG_DIR)/$(TAG_FILENAME_KERNEL)