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

181 lines
6.2 KiB
Plaintext

# defs.unix - standard unix host specific makefile
#
# Copyright 1995-2007, Wind River Systems.
#
# modification history
# --------------------
# 02s,08oct08,pee WIND00137789.
# 02r,30apr08,pee vsb tuning.
# 02q,11mar08,pee vsb
# 02p,08mar07,pee added support for generic option framework
# 02o,06sep05,h_k added USRENTRY. (SPR #111954)
# 02n,09may05,j_c merging 02l and 02m changes from the 2 branches
# 02m,22apr05,h_a Redoing a LIB_ROOT change that was erratically undone
# 02m,19apr05,tpw Adjust to new docs location as of WB18
# 02l,18Apr05,pee Added support for precomp objects
# 02l,07apr05,h_a Definition of LIB_ROOT for externel lib targets
# 02l,07apr05,h_a LIB_ROOT to replace $(TGT_DIR)/lib for building components
# 02k,02sep04,c_c Modified tclsh location.
# 02j,07jul04,c_c Removed usage of romfs_image.h.
# 02i,15jul04,kab SPR 99488: requires /bin/echo
# 02h,26may04,dgp remove references to refgen.tcl
# 02g,26apr04,f_b Removed absolute path to objcopy to prepare for new
# directory structure and align with how nm & size are found
# 02f,20feb04,c_c Avoid eror message if no file is given to sed.
# 02e,09feb04,fle Adapted to new host utilities locations
# 02d,12jan04,pad Now call directly makeSymTbl.tcl instead of the Unix and
# Windows wrapper files (SPR #92936).
# 02c,01dec03,c_c Added macros for postprocessing dependencies.
# 02b,26nov03,bpn Fixed DIRCHAR macro.
# 02a,07nov03,c_c Unified build rules with WIN32 hosts.
# 01z,09oct03,md make ROMFS location resident in project root
# 01y,02jul03,md added ROMFS variables
# 01x,17apr02,jab added NULL_DEVICE make variable
# 01w,14dec01,tam added CMD_SEPARATOR def
# 01v,02nov01,tam added RMDIR
# 01u,01nov01,jab added MKDIR
# 01t,20oct01,dat Relocting tool specific macros
# 01s,27aug01,wsl add man pages
# 01r,19dec00,rec add endian flag to CPP definition
# 01q,06dec00,sn removed -xc
# 01q,08apr99,bc Merge in objcopy invocations from Aeolus
# 01p,07sep98,fle added doc related variable : DOCS_ROOT
# 01o,02apr98,pcn Removed Objcopy changes from Tempest view
# 01n,25feb98,ms added NOP def, removed VX_CPU_FAMILY=$(TOOLENV) from CPP
# 01m,15dec97,pcn Added Objcopy in BSP build.
# 01l,20oct97,tm added constants to support objcopy gated by USE_OBJCOPY flag
# 01k,10oct97,ms added MV and ECHO. Don't define USRCONFIG, BOOTINIT, ...
# macros if using new build rules.
# 01j,17aug96,yp Added definition of LIBDIR and BSPBUILD_TCL and DIRCHAR
# 01i,18aug96,ms use deflate to compress bootROM images
# 01h,18apr96,dat
# +yp added MKPREP
# 01g,06mar96,dat removed makeVersion
# 01f,13nov95,p_m added DEMO_DIR.
# 01e,03nov95,yp Made CPP arch specific so .s.o targets don't get generate
# 01d,24oct95,dat recovered CONFIG_ALL macro
# 01c,29jun95,kkk added VXSIZE definition.
# 01b,19jun95,yp allowed arch. specific tools to be inherited from
# make.$(CPU)$(TOOL)
# 01a,01jun95,yp created
#
# DESCRIPTION
# This file contains default definitions, and flags used in building targets
# that are host specific to a standard unix environment.
## directories
BIN_DIR = $(WIND_BASE)/host/$(WIND_HOST_TYPE)/bin
FOUNDATION_DIR = $(WIND_FOUNDATION_PATH)/$(WIND_HOST_TYPE)/bin
ifeq ($(WIND_PROJECT_MAKEFILE),)
TGT_DIR = $(WIND_BASE)/target
endif
# temporay, until all occurent of LIB_ROOT are removed.
LIB_ROOT = $(VSB_DIR)
CONFIG_ALL = $(TGT_DIR)/config/all
DEMO_DIR = $(TGT_DIR)/lib/obj$(CPU)$(TOOL)test
LIBDIR = $(LIB_ROOT)/$(LIBDIRNAME)
PRECOMPBASE = $(TGT_DIR)/precomp
PRECOMPDIR = $(TGT_DIR)/precomp/default$(MAJOR_OPTION_SUFFIX)/$(LIBDIRNAME)
RESOURCE_DIR = $(WIND_BASE)/host/resource
## doc files
DOCS_ROOT = $(WIND_DOCS)/extensions/eclipse/plugins
MAN_PAGE_DIR = $(WIND_BASE)/man
DOC_OPTS = $(DOC_OPTS_MAN)
DOC_OPTS_C_TCL = -config CTcl2html
DOC_OPTS_CPP = -cpp
DOC_OPTS_FILE = -config File2html
DOC_OPTS_MAN = -mg -missingok
## tools
ENV_BIN = VX_CPU_FAMILY=$(TOOLENV) $(BIN_DIR)/
EXTRACT_BIN = $(OBJCPY) $(EXTRACT_BIN_FLAG)
BINXSYM = $(OBJCPY) $(EXTRACT_SYM_FLAG)
BINHEX = $(OBJCPY) $(EXTRACT_HEX_FLAG)
BINCONV = $(OBJCPY)
COMPRESS = $(ENV_BIN)deflate
ROMSIZEPROG = $(ENV_BIN)romsize
VXSIZEPROG = $(ENV_BIN)vxsize
MKSYMTBL = $(TCL) $(WIND_BASE)/host/resource/hutils/tcl/makeSymTbl.tcl \
$(TOOLENV)
BINTOASM = $(ENV_BIN)binToAsm
MKPREP = $(ENV_BIN)mkprep
MG = $(ENV_BIN)mg
MKROMFS = $(ENV_BIN)mkromfs
LDOUT_SYMS = true
LDOUT_CONV = true
LDOUT_HOST = true
MV_BIN = echo
MKDIR = mkdir -p
RMDIR = rm -f -r
RM = rm -f
MV = mv
ECHO = /bin/echo
CP = cp
SED = sed
TR = tr
ASM_P1 = cat
ASM_P2 = cat
TARGET =
BSPBUILD_TCL = $(BIN_DIR)/bspBuild.tcl
NOP = \#
## macro for postprocessing dependencies
PROCESS_DEP = if [ -f $@ ]; then \
$(SED) -e 's|^.*\.o|\$$\(LIBDIR\)/&|g' \
-e "s|$(TGT_DIR)|\\$$\(TGT_DIR\)|g" \
-e "s|$(WIND_GNU_PATH)|\\$$\(WIND_GNU_PATH\)|g" \
-e "s|$(WIND_DIAB_PATH)|\\$$\(WIND_DIAB_PATH\)|g" \
-e "s|$(WIND_BASE)|\\$$\(WIND_BASE\)|g" $@ > $@.post; \
$(MV) $@.post $@; fi
PROCESS_DEP_PRECOMP = if [ -f $@.precomp ]; then \
$(SED) -e 's|^.*\.o|\$$\(PRECOMPDIR\)/&|g' \
-e "s|$(TGT_DIR)|\\$$\(TGT_DIR\)|g" \
-e "s|$(WIND_GNU_PATH)|\\$$\(WIND_GNU_PATH\)|g" \
-e "s|$(WIND_DIAB_PATH)|\\$$\(WIND_DIAB_PATH\)|g" \
-e "s|$(WIND_BASE)|\\$$\(WIND_BASE\)|g" $@.precomp >> $@; \
$(RM) $@.precomp; fi
BSP_PROCESS_DEP = if [ -f $@ ]; then \
$(SED) -e "s|$(CONFIG_ALL)|\\$$\(CONFIG_ALL\)|g" \
-e "s|$(TGT_DIR)|\\$$\(TGT_DIR\)|g" \
-e "s|$(WIND_GNU_PATH)|\\$$\(WIND_GNU_PATH\)|g" \
-e "s|$(WIND_DIAB_PATH)|\\$$\(WIND_DIAB_PATH\)|g" \
-e "s|$(WIND_BASE)|\\$$\(WIND_BASE\)|g" $@ > $@.post; \
$(MV) $@.post $@; fi
## DIRCHAR exists for compatibility reason. It should be removed
DIRCHAR = /
## We now rely on the path to get the right tcl exe.
TCL = tclsh
# REFGEN = $(WTXTCL) $(RESOURCE_DIR)/doctools/apigen.pl
HTMLLINK = $(WTXTCL) $(RESOURCE_DIR)/doctools/htmlLink.tcl
HTMLBOOK = $(WTXTCL) $(RESOURCE_DIR)/doctools/htmlBook.tcl
ifneq ($(NEW_RULES),TRUE)
## files
USRCONFIG = $(CONFIG_ALL)/usrConfig.c
USRENTRY = $(CONFIG_ALL)/usrEntry.c
BOOTCONFIG = $(CONFIG_ALL)/bootConfig.c
BOOTINIT = $(CONFIG_ALL)/bootInit.c
DATASEGPAD = $(CONFIG_ALL)/dataSegPad.c
CONFIG_ALL_H = $(CONFIG_ALL)/configAll.h
endif
## Miscellaneous
CMD_SEPARATOR = ;
NULL_DEVICE = /dev/null