Files
vxWorks/h/make/defs.default
2025-08-20 18:25:46 +08:00

184 lines
6.9 KiB
Plaintext

# defs.default - default makefile definitions
#
# Copyright 1984-2005, Wind River Systems
#
# modification history
# --------------------
# 02y,15sep05,kkz Updating version number for API docs
# 02x,29apr05,kkz Changing doc directory path
# 02w,19apr05,tpw Adjust to new docs location as of WB18
# 02v,28mar05,spm Added -include rules.gpp.
# 02u,16feb05,pee Added CFLAGS_$<
# 02t,14oct04,dlk Added OPT_DEFINE in CC_DEFINES
# 02s,14oct04,job Added DOC_KERNEL definition
# 02r,17sep04,job Changed C++_WARNINGS value to CC_WARNINGS_LOW (SPR#101877)
# 02q,12jul04,fle Moved ADRS_DEFINE definitions to defs.memory
# 02p,01jun04,fle Added CFLAGS_ADRS to CFLAGS
# 02q,27may04,dgp change DOCS_ROOT, DOC_DIR, and DOC_CHAPTER
# 02p,25may04,tpw Switch on -missingok to reduce doc build error output.
# 02o,16feb04,c_c Added the depend extention setting here
# + fix for SPR 88968.
# 02n,12jan04,bjl changed default CPU for doc builds, changed doc flags.
# 02m,11nov03,rlm Added wrn/coreip to CC_INCLUDE definition
# 02m,07nov03,c_c Unified build rules with WIN32 hosts.
# 02l,15oct03,dat Diab error/warning update, step 1 generate warnings for
# error conditions to be fixed by tech line people.
# 02k,17sep03,job Added _WRS_KERNEL to CC_DEFINES macro
# 02j,08may02,wsl change default libraries chapter name
# 02i,19mar02,dat Adding CFLAGS_PIC & CC_PIC for bootInit.o (72825)
# 02h,12mar02,wsl change DOC_CHAPTER from "Libraries" to "Standard Libraries"
# 02g,31jan02,dgp change VxWorks_Reference_Manual to VxWorks_API_Reference
# 02f,21jan02,sn removed unused C++_TEMPLATE_INST
# 02e,23oct01,jab moved toolchain specifics out
# 02d,11oct01,dat SPR 20403, CC_OPTIM_DRIVER needs -fvolatile by default
# 02c,19sep01,dat Adding TOOL_FAMILY
# 02b,17sep01,sn moved definitions of MUNCH_FLAGS and related macros to defs.gnu
# 02a,06sep01,dat Gnu-Diab, adding h/tool/$TOOL to CC_INCLUDE
# 01z,27aug01,wsl add man pages
# 01y,24jul01,r_s Diab sections should not set GCC_ make variables
# 01x,24jul01,r_s changing the make 'ifeq' conditional to work with 'gnu',
# 'sfgnu', 'sfgnule' etc for TOOL
# 01w,24jul01,r_s diab specific rules added
# 01v,28feb01,t_m merge in XScale changes
# 01u,23mar01,roz Fix check for GNU compiler.
# 01t,13mar01,sn Use $(OPTION_LANG_ASM) instead of the explicit flag
# Added $(OPTION_LANG_ASM) to $(CASFLAGS) to ensure
# correct dependency gen in BSP builds
# 01s,12mar01,sn Spell -x assembler-with-cpp without the space to
# ensure correct handling by the project facility
# 01t,01feb01,mem Added LD_PARTIAL_FLAGS and LDFLAGS
# 01s,06dec00,sn removed -xc
# 01v,04jan01,mem Remove -P from assembler invocation.
# 01r,09oct00,sn removed -nostdinc
# 01q,04mar99,sn added machinery to handle large projects
# 01p,18feb99,sn merge POST_MUNCH and MUNCH, add MUNCH_FLAGS
# 01o,02feb99,sn added defs of MUNCH and POST_MUNCH
# 01n,05jan99,fle added the DOC_OPTS_XXX flags
# 01m,25nov98,fle made doc book and chapter be variables and not hard coded
# anymore
# 01l,11nov98,sn partially link using LD_PARTIAL
# 01k,10nov98,fle doc : changed the DOCS_TARGET value
# 01j,21sep98,sn added new macro, C++_TEMPLATE_INST
# 01i,18aug98,fle added DOCS_DIR and DOCS_TARGET variables
# 01h,07may98,sn Sorted this modification history correctly
# (Re)added the flag -fno-implicit-templates to C++_COMPILER
# 01g,02apr98,pcn Removed Objcopy changes from Tempest view
# 01f,15dec97,pcn Added Objcopy in BSP build.
# 01e,10oct97,cym added OPTION_ macros to remove "GNU-centric" flags for VC++.
# 01d,20jan97,yp added -P to CFLAGS_AS to suppress "#line" directives
# 01c,06jan97,yp moved soft-float back to CFLAGS
# 01b,17dec96,yp moved soft-float to OPTIM macros so drvs get built without it
# 01a,07may96,yp derived from defs.bsp
#
# DESCRIPTION
# This file is included in Makefiles to establish defaults. The Makefiles may
# customize these definitions to suit the circumstance.
#
# Redefinitions of make variables earlier than the include of this file will
# have no affect.
#
.SUFFIXES: .cpp .out .mib .cxx
## default CPU and TOOL settings
CPU=PPC604
TOOL=gnu
# NOTE: we redefine MAKETAIL and CLEANTAIL: provbably unsupported from now on
MAKETAIL =
CLEANTAIL =
## default flags
CFLAGS = $(CC_ARCH_SPEC) $(CC_COMPILER) $(CC_OPTIM) $(CC_WARNINGS) \
$(CC_INCLUDE) $(CC_DEFINES) $(CC_SOFT_FLOAT) $(ADDED_CFLAGS) \
$(CFLAGS_$<)
C++FLAGS = $(CC_ARCH_SPEC) $(C++_COMPILER) $(CC_OPTIM) $(C++_WARNINGS) \
$(CC_INCLUDE) $(CC_DEFINES) $(CC_SOFT_FLOAT) $(ADDED_C++FLAGS)
CASFLAGS = $(CC_ARCH_SPEC) $(OPTION_PP) $(OPTION_LANG_ASM) $(CC_INCLUDE)\
$(CC_DEFINES)
CFLAGS_AS = $(CC_ARCH_SPEC) $(CC_COMPILER) $(CC_OPTIM) $(CC_INCLUDE) \
$(CC_DEFINES) $(OPTION_PP_AS) $(OPTION_LANG_ASM) \
$(ADDED_CFLAGS)
# For Position Independant Code (bootInit.o)
CFLAGS_PIC = $(CC_ARCH_SPEC) $(CC_COMPILER) $(CC_OPTIM) $(CC_WARNINGS) \
$(CC_INCLUDE) $(CC_DEFINES) $(CC_PIC) $(CC_SOFT_FLOAT) \
$(ADDED_CFLAGS)
# new default is the low setting. Library code MUST be error/warning free at
# this level.
CC_WARNINGS = $(CC_WARNINGS_LOW)
C++_WARNINGS = $(CC_WARNINGS_LOW)
CC_OPTIM = $(CC_OPTIM_NORMAL)
CC_INCLUDE = $(PRE_INCLUDE) $(OPTION_INCLUDE_DIR)$(TGT_DIR)/h \
$(OPTION_INCLUDE_DIR)$(TGT_DIR)/h/wrn/coreip \
$(INCLUDE_CC) $(EXTRA_INCLUDE)
CC_DEFINES = $(OPTION_DEFINE_MACRO)CPU=$(CPU) \
$(OPTION_DEFINE_MACRO)TOOL_FAMILY=$(TOOL_FAMILY) \
$(OPTION_DEFINE_MACRO)TOOL=$(TOOL) \
$(OPTION_DEFINE_MACRO)_WRS_KERNEL \
$(DEFINE_CC) $(EXTRA_DEFINE) $(OPT_DEFINE)
COMPILE_SYMTBL = $(CC) $(OPTION_OBJECT_ONLY) $(CFLAGS)
C++_COMPILER = $(OPTION_ANSI)
# We have this only because win95 host does not allow -DCPU=$(CPU) to be
# passed as one parameter
CC_DEPFLAGS = $(CC_OPTIM) $(CC_WARNINGS) $(CC_INCLUDE) $(CC_COMPILER) \
$(DEFINE_CC) $(EXTRA_DEFINE) $(OPT_DEFINE)
CXX_DEPFLAGS = $(CC_OPTIM) $(CC_INCLUDE) $(C++_WARNINGS) $(C++_COMPILER) \
$(DEFINE_CC) $(EXTRA_DEFINE) $(OPT_DEFINE) $(ADDED_C++FLAGS)
TARGET=default
## top of vxWorks tree
BIN_DIR=$(WIND_BASE)/host/$(WIND_HOST_TYPE)/bin
## CPU/TOOL build extension name
BUILD_EXT = $(CPU)$(LIB_DIR_TAG)$(TOOL)-$(WIND_HOST_TYPE)
## docs flags and variables
DOCS_ROOT = $(WIND_DOCS)/extensions/eclipse/plugins
DOC_DIR = $(DOCS_ROOT)/com.windriver.ide.doc.vxworks/vxworks_kernel_api_reference_6.2
MAN_PAGE_DIR = $(WIND_BASE)/man
DOC_BOOK = VxWorks_APIs
DOC_CHAPTER = Kernel_APIs
DOC_KERNEL = KERNEL
DOC_OPTS = $(DOC_OPTS_MAN)
MAN_PAGE_OPTS = $(DOC_OPTS_MAN) -config Auto2txt
DOC_OPTS_C_TCL = -config CTcl2html
DOC_OPTS_CPP = -cpp
DOC_OPTS_FILE = -config File2html
DOC_OPTS_MAN = -mg -nostrict -missingok
## map TOOL to TOOL_FAMILY, if not already done elsewhere (it should)
ifeq ($(TOOL_FAMILY),)
ifeq ($(findstring gnu,$(TOOL)),gnu)
TOOL_FAMILY = gnu
else
ifeq ($(findstring diab,$(TOOL)),diab)
TOOL_FAMILY = diab
endif
endif
endif
-include $(WIND_BASE)/target/h/make/rules.gpp