# make.PPC604diab - diab compilation tools definitions for PowerPC 604 # # modification history # -------------------- # 01a,23Oct98,ms written from make.PPC604gnu and Diab release notes. # # DESCRIPTION # This file contains PowerPC 604 specific definitions and flags for the # diab tools (compiler, assembler, linker etc.) # # The following macros are changed for T2 # CPP use cc<X> -E -P -xc. cpp<X> no longer exists. # #*/ # Core definitions (all copied from make.PPC604gnu) CPU = PPC604 TOOL = diab VX_CPU_FAMILY = PPC ARCH_DIR = ppc TOOLENV = ppc # Tools (all these definitions need to be overriden) # new tools AR = dar AS = das CC = dcc CXX = $(CC) LD = dld # override WRS's CC_COMPILER="-traditional" COMPILE_TRADITIONAL = $(CC) -c $(CFLAGS) COMPILE_SYMTBL = $(CC) -c $(CFLAGS) override CC_COMPILER = $(CC_DDI_FLAGS) -Xdollar-in-ident override C++_COMPILER = $(CC_DDI_FLAGS) -Xdollar-in-ident # use gnu tools for the following CPP = ccppc -E -P -xc NM = nmppc RANLIB = ranlib EXTRACT_BIN_NAME= elfToBin BINXSYM_NAME = elfXsyms BINHEX_NAME = elfHex DEPEND_GEN_UTIL = $(CPP) -M # Flags CC_DDI_FLAGS = -tPPC403ES:tornado -X4 -Xsmall-data=0 -Xsmall-const=0 \ -Xstrings-in-text=0 CC_OPTIM_DRIVER = CC_OPTIM_NORMAL = -O CC_OPTIM_TARGET = -O CC_ARCH_SPEC = CC_WARNINGS_ALL = DEFINE_CC = -D__asm__=__asm CFLAGS_AS = $(CC_INCLUDE) $(CC_DEFINE) LDFLAGS = -X -N -Xsection-align=4 LD_PARTIAL_FLAGS= -X -r4 -Xsection-align=4 # new link flags for the config tool LD_RAM_FLAGS = -Bt=$(RAM_LOW_ADRS) LD_ROM_RES_FLAGS= $(ROM_LDFLAGS) -Bt=$(ROM_TEXT_ADRS) -Bd=$(RAM_LOW_ADRS) LD_ROM_CPY_FLAGS= $(ROM_LDFLAGS) -Bt=$(ROM_TEXT_ADRS) -Bd=$(RAM_HIGH_ADRS) LD_ROM_CMP_FLAGS= $(ROM_LDFLAGS) -Bt=$(ROM_TEXT_ADRS) -Bd=$(RAM_HIGH_ADRS) # old link flags for BSP Makefiles LD_LOW_FLAGS = -Bt=$(RAM_LOW_ADRS) LD_HIGH_FLAGS = -Bt=$(RAM_HIGH_ADRS) RES_LOW_FLAGS = -Bt=$(ROM_TEXT_ADRS) -Bd=$(RAM_LOW_ADRS) RES_HIGH_FLAGS = -Bt=$(ROM_TEXT_ADRS) -Bd=$(RAM_HIGH_ADRS) # Misc # WRS default definition of LIBS is lib<CPU><TOOL>. # This has to be overriden, since WRS only supplies lib<CPU>gnu. LIBS = $(WIND_BASE)/target/lib/libPPC604gnuvx.a # override implicit rule for the .s.o rule. Since this # toolchain's assembler doesn't do C-preprocessing, we # build assembly files in two steps. IMPLICIT_RULE_S_O = override .s.o : @ $(RM) $@ $(CC) -P $(CC_INCLUDE) $(CC_DEFINES) $< $(AS) $(CFLAGS_AS) $*.i $(RM) $*.i # end of make.PPC604gnu