Hi,
We are compiling our source code using a
Diab comliper.
We use Recursive Make.
Attached Makefile calls
Makefile.swan2.
We are facing the following
error:
gmake: expand.c:489:
allocated_variable_append: Assertion 'current_variable_set_list->next != 0'
failed.
Aborted
Could you please explain what is this & how to
overcome?
Regards,
Manjusha
# @(#)Makefile 1.1 2/2/99 SWAN2 #*********************************************************************** #* * #* MODULE: Makefile * #* DATE: 2001/01/22 * #* PURPOSE: makefile to build a pSOSystem SWAN Kernel for SWAN 2 * #* * #*---------------------------------------------------------------------* #* * #* Copyright (C) 2001, Compaq Computer Corporation * #* ALL RIGHTS RESERVED * #* * #* No rights to reproduce, use or disseminate this computer program, * #* whether in part or in whole. * #* * #*---------------------------------------------------------------------* #* * #* This Makefile is the "root" Makefile for the SWAN Kernel and * #* should be placed in the root directory of the SWAN Kernel T7848. * #* * #* The Current Directory, where this Makefile exists will be taken * #* automatically as the SWAN Kernel root directory. If there is any * #* any change needed, define SWAN_HOME environment variable to the * #* the appropriate path. * #* The rest of the paths, including pSOS system files, board support * #* packages are calculated relative to the SWAN_HOME dir. There is * #* no need usually, to modify any of them. * #* * #*********************************************************************** PSS_ROOT = $(SWAN_HOME)/pSOS_devkrnl2 include $(SWAN_HOME)/share/swan2vars.mk
#***********************************************************************
#
# DIAB "Make" options
#
#------------------------------------------------------------------------
# Define the command-line options to the compiler. The options we use
# have the following meanings:
# -t : Produce code for specified target type
# followed by
# F|E (elF|coff)
# S|N (for software floating point support, N for none)
# :psos (default library to include)
# -g : Include debug information (for use with XRAY+)
# -Xfar-code-relative: Provides an output with PC-relative addressing for code
# -Xfar-data-relative: Provides an output with r13relative addressing for data
# -Xpass-source -Wa,-L: -Xpass-source for passing source as comments to asm
# -Wa to pass commands to assembler
# -L for asm to send listing to stdout
#
# -c : Just compile, don't link. Leave output in a .o file
# -XO: for optimization, enables a wide-range of optimization flags
#------------------------------------------------------------------------
# Removed -Xlint temporarily, must be added before checkin
COPTS_COMP = -t$(DTARGET)E$(DFP):psos -c -Xfar-code-relative -Xlint \
-Xansi -Xno-common -g \
-Xfar-data-relative \
-D__DIAB -DSWAN2 -XO -DBZ_NO_STDIO $(EXTRA)
# GOOD_PLD will be set after getting >V.12 of PLD
COPTS_INC = $(SWAN2_INC)
COPTS_PROBE= -DUSE_PROBE $(COPTS_COMP) -DNOMMU
COPTS_PROBE_FLASH = $(COPTS_PROBE) -DPROBE_FLASH=1 #-Xfar-data-relative\
#-DNO_RELOCATE
COPTS_FLASHRAM = -DSC_FLASHRAM=1 -DDEBUG_OUT
XTRA_OPTS = -Xpass-source -Wa,-L
COPTS = $(COPTS_COMP) $(COPTS_INC) $(XTRA_OPTS)
COPTS_BOOT = -t$(DTARGET)E$(DFP):simple -c -Xfar-code-relative \
-Xansi -Xno-common -D__DIAB -DSWAN2 -XO \
-g -Xlint -Xfar-data-relative \
$(COPTS_INC) $(XTRA_OPTS) -Xsmall-const=256 -Xsmall-data=256
DLC_COPTS = $(COPTS_COMP) -Dwan $(COPTS_INC) $(XTRA_OPTS)
AOPTS = -t$(DTARGET)E$(DFP):psos -I$(PSS_INC) -I$(SWAN_INC)
-DSWAN2 -L
LOPTS = -Ws -t$(DTARGET)E$(DFP):psos -Wl,-Xprefix-underscore -a
-m2 \
-Xsection-align=4096 -Xcheck-overlapping
LOPTS_BOOT = -Ws -t$(DTARGET)E$(DFP):simple -Wl, -a -m2
-Xcheck-overlapping
# Experimenting with section-align 08Feb SK
#***********************************************************************
# Board specific objects *
#***********************************************************************
probeflash.hex: SWAN_LST :=$(SWAN_LST).pf
probeflash.hex: SWAN_OBJ :=$(SWAN_OBJ).pf
probeflash.hex: SWAN_MAP :=$(SWAN_MAP).pf
probeflash.hex: AOPTS += -DPROBE_FLASH=1
flash.hex ram.x flashram.x: AOPTS += -DPROBE_FLASH=0
flashram.x: AOPTS += -DUSE_PROBE
BSP_OBJS = $(SWAN_OBJ)/board.o $(SWAN_OBJ)/decrmntr.o \
$(SWAN_OBJ)/lan.o $(SWAN_OBJ)/bspcfg.o \
$(SWAN_OBJ)/iotable.o $(SWAN_OBJ)/isrmain.o \
$(SWAN_OBJ)/isr.o $(SWAN_OBJ)/resetvec.o \
$(SWAN_OBJ)/init.o $(SWAN_OBJ)/abort.o \
$(SWAN_OBJ)/sysexcp.o $(SWAN_OBJ)/asm.o \
$(SWAN_OBJ)/wrappers.o $(SWAN_OBJ)/end.o \
$(SWAN_OBJ)/smc6xx.o $(SWAN_OBJ)/SPI.o \
$(SWAN_OBJ)/gsblk.o $(SWAN_OBJ)/mmuliba.o \
$(SWAN_OBJ)/dipi.o $(SWAN_OBJ)/diti.o \
$(SWAN_OBJ)/mmudae.o $(SWAN_OBJ)/mmuiae.o \
$(SWAN_OBJ)/mmu.o $(SWAN_OBJ)/mmulib.o \
$(SWAN_OBJ)/FlashAPI.o $(SWAN_OBJ)/cputype.o \
$(SWAN_OBJ)/cache60x.o $(SWAN_OBJ)/mii_5221.o \
$(SWAN_OBJ)/reg_rw.o $(SWAN_OBJ)/vector.o \
$(SWAN_OBJ)/ser_mplx.o
FLASH_BSPOBJS = $(BSP_OBJS)
PROBE_BSPOBJS = $(BSP_OBJS) $(SWAN_OBJ)/bpdialog.o
PROBE_FLASH_BSPOBJS =$(SWAN_OBJ)/board.o $(SWAN_OBJ)/decrmntr.o \
$(SWAN_OBJ)/bspcfg.o $(SWAN_OBJ)/isrmain.o \
$(SWAN_OBJ)/isr.o $(SWAN_OBJ)/resetvec.o \
$(SWAN_OBJ)/init.o $(SWAN_OBJ)/abort.o \
$(SWAN_OBJ)/sysexcp.o $(SWAN_OBJ)/asm.o \
$(SWAN_OBJ)/wrappers.o $(SWAN_OBJ)/end.o \
$(SWAN_OBJ)/ConsoleDrv.o $(SWAN_OBJ)/smc6xx.o \
$(SWAN_OBJ)/dipi.o $(SWAN_OBJ)/diti.o \
$(SWAN_OBJ)/gsblk.o \
# $(SWAN_OBJ)/SerialDrv.o \
$(SWAN_OBJ)/RDISerialDrv.o \
$(SWAN_OBJ)/cputype.o \
$(SWAN_OBJ)/cache60x.o \
$(SWAN_OBJ)/reg_rw.o $(SWAN_OBJ)/vector.o\
$(SWAN_OBJ)/bpdialog.o\
$(SWAN_OBJ)/ProbeFlash.o
#$(SWAN_OBJ)/storage.o
DLC_OBJS = $(SWAN_OBJ)/bspcalls.o $(SWAN_OBJ)/dlclib.o
#-----------------------------------------------------------------------
# Defines the various objects used for producing flash and ram outputs.
# The APPOBJS, BSPOBJS, PSSOBJS need to be redefined in the respective
# Makefiles.
# TODO - begin.o, end.o not specified down below.
#-----------------------------------------------------------------------
SWAN_APPOBJS = $(SWAN_OBJ)/version.o $(SWAN_OBJ)/root.o \
$(SWAN_OBJ)/swanmgr.o $(SWAN_OBJ)/tftp.o \
$(SWAN_OBJ)/listener.o $(SWAN_OBJ)/bootpd.o \
$(SWAN_OBJ)/bclient.o $(SWAN_OBJ)/drv_conf.o \
$(SWAN_OBJ)/exec.o $(SWAN_OBJ)/flashc.o \
$(SWAN_OBJ)/dump2.o
SWAN_PROBEAPPOBJS = $(SWAN_OBJ)/root.o $(SWAN_OBJ)/drv_conf.o
SWAN_UTILOBJS = $(SWAN_OBJ)/SKUtils.o $(SWAN_OBJ)/TocAPI.o \
$(SWAN_OBJ)/errors.o $(SWAN_OBJ)/FlashUtils.o \
$(SWAN_OBJ)/blocksort.o $(SWAN_OBJ)/huffman.o \
$(SWAN_OBJ)/crctable.o $(SWAN_OBJ)/randtable.o \
$(SWAN_OBJ)/compress.o $(SWAN_OBJ)/bzlib.o \
$(SWAN_OBJ)/firutz.o
SWAN_PROBEUTILOBJS = $(SWAN_OBJ)/SKUtils.o
PSS_OBJS = $(SWAN_OBJ)/sysinit.o $(SWAN_OBJ)/pnacfg.o \
$(SWAN_OBJ)/prepccfg.o $(SWAN_OBJ)/dialog.o \
$(SWAN_OBJ)/pollio.o $(SWAN_OBJ)/psoscfg.o \
$(SWAN_OBJ)/gsblkcfg.o
PSS_PROBEOBJS = $(PSS_OBJS) $(SWAN_OBJ)/probecfg.o
BOOT_OBJS = $(SWAN_OBJ)/boot.o $(SWAN_OBJ)/inflate.o\
$(SWAN_OBJ)/gunzipVectorTable.o $(SWAN_OBJ)/gunzipBegin.o \
$(SWAN_OBJ)/fct.o
# SNMP variables
MIBCOMPILER = $(PSS_ROOT)/bin/$(HOST)/mibcomp -l
$(PSS_ROOT)/include/epilogue/emissary/std-mibs
SNMP_APPS = $(SWAN_HOME)/snmp2/apps
INC_SNMP = $(SWAN_HOME)/snmp2/include
PSS_SNMP = $(SWAN_HOME)/snmp2/pSOS_snmp/apps/snmp
SNMP_OBJS = $(SWAN_OBJ)/agent.o $(SWAN_OBJ)/arp.o $(SWAN_OBJ)/if.o \
$(SWAN_OBJ)/icmp.o $(SWAN_OBJ)/ip.o $(SWAN_OBJ)/iprte.o \
$(SWAN_OBJ)/smctl.o $(SWAN_OBJ)/swan.o $(SWAN_OBJ)/os.o \
$(SWAN_OBJ)/sys.o $(SWAN_OBJ)/tcp.o $(SWAN_OBJ)/sendtrap.o \
$(SWAN_OBJ)/cookie.o $(SWAN_OBJ)/udp.o $(SWAN_OBJ)/snmpvars.o \
$(SWAN_OBJ)/contbl.o $(SWAN_OBJ)/mib.o $(SWAN_OBJ)/userexit.o \
$(SWAN_OBJ)/psostime.o $(SWAN_OBJ)/snmpcfg.o \
$(SWAN_OBJ)/libfuncs.o $(SWAN_OBJ)/nvutils.o \
$(SWAN_OBJ)/setup.o
SWAN_SMI=
SWAN_MIB = $(PSS_MIBS)/rfc1213.mib $(SNMP_APPS)/swan.mib \
$(SNMP_APPS)/agent.mib
# BIN utils
BIN_OBJS = $(SWAN_BIN)/bin2c$(EXE) $(SWAN_BIN)/s2bin$(EXE)
SWAN_VERSION = $(SWAN_APPS)/version.c
export
.PHONY : flash.hex libbsp.a cflash.hex
#-----------------------------------------------------------------------
# Target "help" defines the various options which will be displayed of
# how to make the SWAN Kernel.
#-----------------------------------------------------------------------
help:
@echo "-----------------------------------$(MAKE)------"
@echo "This Makefile builds the SWAN Kernel. For all Make Requirements"
@echo "you MUST do a 'make' from this ROOT directory. "
@echo "The following targets are available: "
@echo " "
@echo " flash.hex - Provides the NonProbe/Downloadable version "
@echo " ram.x - Provides a Memory Image for Probed Versions "
@echo " clean - Cleans/Removes Object/List/Output files "
@echo " snmpclean - Cleans/Removes SNMP Object/List/Output files "
@echo "---------------------------------------------------------------"
#-----------------------------------------------------------------------
# Target "all" defines what is made when make is invoked with no
# arguments. You may want to change this if you are building something
# else all the time. The possible targets are:
# ram.x - OS and application together in RAM
# ramrc.x - OS and application togther in RAM, but using component
# code (pSOS, pROBE, etc) from the Boot ROMs
# rom.x - OS and application together in ROM
# os.x - OS only, downloaded to RAM
# app.x - application only, downloaded to RAM
# Targets with a ".x" extension are IEEE format. You may build any of
# these in S-record format instead by substituting a ".hex" extension,
# such as "ram.hex".
#-----------------------------------------------------------------------
all: ram.x flash.hex
release:
@echo "--> Making objects for release"
-$(MAKE) clean
$(MAKE) ram.x
-$(MAKE) clean
$(MAKE) cflashram.x
-$(MAKE) clean
$(MAKE) validate
ram.x:
@echo "--> Building Boot Configuration..."
$(MAKE) -C gunzip2 CFLAGS="$(COPTS_PROBE)"
@echo "--> Building SWAN Board Support Package $(SWAN_BSP)..."
@cd $(SWAN_BSP); $(MAKE) -n -C $(SWAN_BSP) CFLAGS="$(COPTS_PROBE)"
@echo "--> Building SWAN Apps..."
@cd $(SWAN_APPS); $(MAKE) CFLAGS="$(COPTS_PROBE)"
@echo "--> Building SNMP Apps..."
@cd $(SNMP_APPS); $(MAKE) CFLAGS="$(COPTS_PROBE)"
@echo "--> Compiling utilities..."
@cd $(SWAN_UTILS); $(MAKE) CFLAGS="$(COPTS_PROBE)"
@echo "--> Building pSOS Configuration..."
@cd $(PSS_CONFIG); $(MAKE) CFLAGS="$(COPTS_PROBE)"
@echo "----------------"
@echo "--> Making ram.x"
@echo $(LOPTS) -o $(SWAN_OBJ)/ram.elf \
-Wm $(SWAN_INC)/ram.lnk $(SWAN_OBJ)/begin.o >$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/os >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PSS_PROBEOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PROBE_BSPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_APPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_UTILOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SNMP_OBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -lsnmp2 -lsys -lprepc$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -limpl -lcfp -lepcom -lc -lquery >>$(SWAN_MAP)/cmd.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.lnk > $(SWAN_MAP)/ram.mapx
ddump -Rv $(SWAN_OBJ)/ram.elf -o $(SWAN_OBJ)/ram.x
# ddump -RI ram.elf >> ram.mapx
@echo "----------------"
@echo "--> Making rambsk.x"
@echo $(LOPTS) -o $(SWAN_OBJ)/rambsk.elf \
-Wm $(SWAN_INC)/rambsk.lnk $(SWAN_OBJ)/begin.o >$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_BSP) -L $(PSS_ROOT) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_BSP) -L $(PSS_ROOT)/sys/os >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PSS_PROBEOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PROBE_BSPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_APPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_UTILOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SNMP_OBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -lsnmp2 -lsys -lprepc$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -limpl -lcfp -lepcom -lc -lquery >>$(SWAN_MAP)/cmd.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.lnk > $(SWAN_MAP)/rambsk.mapx
ddump -Rv $(SWAN_OBJ)/rambsk.elf -o $(SWAN_OBJ)/rambsk.x
ifeq ($(HOST),win32)
v:/estii/convert $(SWAN_OBJ)/ram.elf -b -c
endif
# ddump -RI ram.elf >> ram.mapx
$(SWAN_OBJ)/gen_build_id$(EXE): $(SWAN_SHARE)/gen_build_id.c
gcc -O2 -s -o $@ $^
validate:
$(MAKE) cflash.hex
$(MAKE) libbsp.a
@echo "--> committing...."
[EMAIL PROTECTED] -R 775 *
[EMAIL PROTECTED] -R swan *
cvs -q commit -m "Build complete"
@echo "--> doing cvs tag...."
$(SWAN_OBJ)/cvs.tag$(SH)
flash.hex:
@echo "--> kkkkkkkkkkkkkkkkkkkk"
$(MAKE) $(SWAN_OBJ)/gen_build_id$(EXE)
-rm -f $(SWAN_VERSION)
cd $(dir $(SWAN_VERSION)) && cvs -q update $(notdir $(SWAN_VERSION))
[EMAIL PROTECTED] -f $(SWAN_VERSION) $(SWAN_VERSION).prev
$(SWAN_OBJ)/gen_build_id$(EXE) $(SWAN_VERSION).prev $(SWAN_VERSION)
$(SWAN_OBJ)/cvs.tag$(SH) "SKBuild_" "" "-c" ""
[EMAIL PROTECTED] -R 775 *
[EMAIL PROTECTED] -R swan *
cd $(dir $(SWAN_VERSION)) && cvs -q commit -m "" $(notdir
$(SWAN_VERSION))
@echo "--> Building SWAN Apps..."
@cd $(SWAN_APPS); $(MAKE) CFLAGS=
@echo "--> Building SWAN Board Support Package..."
@cd $(SWAN_BSP); $(MAKE) CFLAGS=
@echo "--> Compiling utilities..."
@cd $(SWAN_UTILS); $(MAKE) CFLAGS=
@echo "--> Building pSOS Configuration..."
@cd $(PSS_CONFIG); $(MAKE) CFLAGS=
@echo "--> Building SNMP Apps..."
@cd $(SNMP_APPS); $(MAKE) CFLAGS=
@echo "--> Making flash.hex"
@echo $(LOPTS) -o $(SWAN_OBJ)/flash.elf \
-Wm $(SWAN_INC)/flash.lnk >$(SWAN_MAP)/cmd.lnk
@echo $(SWAN_OBJ)/begin.o >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_BSP) -L $(PSS_ROOT)/sys/os >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(FLASH_BSPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PSS_OBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_APPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_UTILOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SNMP_OBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -lsnmp2 -lsys -lprepc$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -limpl -lcfp -lepcom -lc >>$(SWAN_MAP)/cmd.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.lnk > $(SWAN_MAP)/flash.maph
ddump -Rv $(SWAN_OBJ)/flash.elf -o $(SWAN_OBJ)/flash.hex
ifeq ($(HOST),win32)
v:/estii/convert $(SWAN_OBJ)/flash.elf -b -c
endif
cflash.hex: flash.hex
@echo "--> Building Boot Configuration..."
@cd $(SWAN_BOOT); $(MAKE) CFLAGS= "COPTS=$(COPTS_BOOT)"
@echo "--> Building Bin Files for $(HOST)..."
@cd $(SWAN_BIN); $(MAKE) CFLAGS=
@echo "--> Converting s2bin"
@$(SWAN_BIN)/s2bin$(EXE) < $(SWAN_OBJ)/flash.hex c
$(SWAN_OBJ)/flash.bin 0x0
@echo "--> Compressing flash.hex"
@gzip -9v -f $(SWAN_OBJ)/flash.bin
@echo "--> Making flash.bin.gz.c and then flash.gz.o"
@$(SWAN_BIN)/bin2c$(EXE) $(SWAN_OBJ)/flash.bin.gz
$(SWAN_OBJ)/flash.gz.c 0x0
$(CC) $(COPTS_BOOT) -o $(SWAN_OBJ)/flash.gz.o $(SWAN_OBJ)/flash.gz.c \
> $(SWAN_LST)/flash.gz.lst
@echo "--> Making cflash.hex"
@echo $(LOPTS_BOOT) -o $(SWAN_OBJ)/cflash.elf \
-Wm $(SWAN_BOOT)/gunzip.lnk > $(SWAN_MAP)/cmd.lnk
@echo -m2 $(BOOT_OBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_OBJ)/flash.gz.o >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.lnk
@echo -limpl -lcfp -lepcom -lc >>$(SWAN_MAP)/cmd.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.lnk > $(SWAN_MAP)/cflash.maph
ddump -Rv $(SWAN_OBJ)/cflash.elf -o $(SWAN_OBJ)/cflash.hex
ifeq ($(HOST),win32)
v:/estii/convert -w $(SWAN_OBJ)/cflash.elf -b -c
endif
@echo $(LOPTS_BOOT) -o $(SWAN_OBJ)/cflash.ice.elf \
-Wm $(SWAN_BOOT)/gunzip.ice.lnk > $(SWAN_MAP)/cmd.ice.lnk
@echo -m2 $(BOOT_OBJS) >>$(SWAN_MAP)/cmd.ice.lnk
@echo -m2 $(SWAN_OBJ)/flash.gz.o >>$(SWAN_MAP)/cmd.ice.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.ice.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.ice.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.ice.lnk
@echo -limpl -lcfp -lepcom -lc >>$(SWAN_MAP)/cmd.ice.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.ice.lnk > $(SWAN_MAP)/cflash.ice.maph
ifeq ($(HOST),win32)
v:/estii/convert -w $(SWAN_OBJ)/flash.elf -b -c
v:/estii/convert -w $(SWAN_OBJ)/cflash.ice.elf -b -c
endif
probeflash.hex:
echo ${SWAN_LST} ${SWAN_OBJ} ${SWAN_MAP}
@echo "--> Building SWAN Board Support Package..."
@cd $(SWAN_BSP); $(MAKE) CFLAGS="$(COPTS_PROBE_FLASH)"
@echo "--> Building SWAN Apps..."
@cd $(SWAN_APPS); $(MAKE) CFLAGS="$(COPTS_PROBE_FLASH)"
@echo "--> Compiling utilities..."
@cd $(SWAN_UTILS); $(MAKE) CFLAGS="$(COPTS_PROBE_FLASH)"
@echo "--> Building pSOS Configuration..."
@cd $(PSS_CONFIG); $(MAKE) CFLAGS="$(COPTS_PROBE_FLASH)"
@echo "----------------"
@echo "--> Making probeflash.hex"
@echo $(LOPTS) -o $(SWAN_OBJ)/probeflash.elf \
-Wm $(SWAN_INC)/probeflash.lnk \
$(SWAN_OBJ)/begin.o >$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_BSP) -L $(PSS_ROOT) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_BSP) -L $(PSS_ROOT)/sys/os >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PSS_PROBEOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PROBE_FLASH_BSPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_PROBEAPPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_PROBEUTILOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -lsys -lsnmp2 -lsys -lprepc$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -limpl -lcfp -lepcom -lc >>$(SWAN_MAP)/cmd.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.lnk > $(SWAN_MAP)/probeflash.maph
ddump -Rv $(SWAN_OBJ)/probeflash.elf -o $(SWAN_OBJ)/probeflash.hex
# ddump -RI ram.elf >> ram.mapx
cflashram.x: flashram.x
@echo "--> Building Boot Configuration..."
@cd $(SWAN_BOOT); $(MAKE) CFLAGS= "COPTS=$(COPTS_BOOT)"
@echo "--> Building Bin Files for $(HOST)..."
@cd $(SWAN_BIN); $(MAKE) CFLAGS=
@echo "--> Converting s2bin"
@$(SWAN_BIN)/s2bin$(EXE) < $(SWAN_OBJ)/flashram.x c
$(SWAN_OBJ)/flashram.bin 0x0
@echo "--> Compressing flashram.x"
@gzip -9v -f $(SWAN_OBJ)/flashram.bin
@echo "--> Making flashram.bin.gz.c and then flashram.gz.o"
@$(SWAN_BIN)/bin2c$(EXE) $(SWAN_OBJ)/flashram.bin.gz
$(SWAN_OBJ)/flashram.gz.c 0x0
$(CC) $(COPTS_BOOT) -o $(SWAN_OBJ)/flashram.gz.o
$(SWAN_OBJ)/flashram.gz.c \
> $(SWAN_LST)/flashram.gz.lst
@echo "--> Making cflashram.hex"
@echo $(LOPTS_BOOT) -o $(SWAN_OBJ)/cflashram.elf \
-Wm $(SWAN_BOOT)/gunzip.lnk > $(SWAN_MAP)/cmd.lnk
@echo -m2 $(BOOT_OBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_OBJ)/flashram.gz.o >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.lnk
@echo -limpl -lcfp -lepcom -lc >>$(SWAN_MAP)/cmd.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.lnk > $(SWAN_MAP)/cflashram.maph
ddump -Rv $(SWAN_OBJ)/cflashram.elf -o $(SWAN_OBJ)/cflashram.hex
ifeq ($(HOST),win32)
v:/estii/convert -w $(SWAN_OBJ)/cflashram.elf -b -c
endif
@echo $(LOPTS_BOOT) -o $(SWAN_OBJ)/cflashram.ice.elf \
-Wm $(SWAN_BOOT)/gunzip.ice.lnk > $(SWAN_MAP)/cmd.ice.lnk
@echo -m2 $(BOOT_OBJS) >>$(SWAN_MAP)/cmd.ice.lnk
@echo -m2 $(SWAN_OBJ)/flashram.gz.o >>$(SWAN_MAP)/cmd.ice.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.ice.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.ice.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.ice.lnk
@echo -limpl -lcfp -lepcom -lc >>$(SWAN_MAP)/cmd.ice.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.ice.lnk > $(SWAN_MAP)/cflashram.ice.maph
ifeq ($(HOST),win32)
v:/estii/convert -w $(SWAN_OBJ)/cflashram.ice.elf -b -c
endif
flashram.x:
@echo "--> Building Boot Configuration..."
@cd $(SWAN_BOOT); $(MAKE) CFLAGS="$(COPTS_PROBE) $(COPTS_FLASHRAM)"
@echo "--> Building SWAN Board Support Package..."
@cd $(SWAN_BSP); $(MAKE) CFLAGS="$(COPTS_PROBE) $(COPTS_FLASHRAM)"
@echo "--> Building SWAN Apps..."
@cd $(SWAN_APPS); $(MAKE) CFLAGS="$(COPTS_PROBE) $(COPTS_FLASHRAM)"
@echo "--> Building SNMP Apps..."
@cd $(SNMP_APPS); $(MAKE) CFLAGS="$(COPTS_PROBE) $(COPTS_FLASHRAM)"
@echo "--> Compiling utilities..."
@cd $(SWAN_UTILS); $(MAKE) CFLAGS="$(COPTS_PROBE) $(COPTS_FLASHRAM)"
@echo "--> Building pSOS Configuration..."
@cd $(PSS_CONFIG); $(MAKE) CFLAGS="$(COPTS_PROBE) $(COPTS_FLASHRAM)"
@echo "----------------"
@echo "--> Making flashram.x"
@echo $(LOPTS) -o $(SWAN_OBJ)/flashram.elf \
-Wm $(SWAN_INC)/flashram.lnk $(SWAN_OBJ)/begin.o
>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/os >>$(SWAN_MAP)/cmd.lnk
@echo -L $(PSS_ROOT)/sys/libc >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -L $(DIABLIB)/PPCE >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PSS_PROBEOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(PROBE_BSPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_APPOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SWAN_UTILOBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -m2 $(SNMP_OBJS) >>$(SWAN_MAP)/cmd.lnk
@echo -lsnmp2 -lsys -lprepc$(DFP) >>$(SWAN_MAP)/cmd.lnk
@echo -limpl -lcfp -lepcom -lc -lquery >>$(SWAN_MAP)/cmd.lnk
$(LD) -m2 -@@$(SWAN_MAP)/cmd.lnk > $(SWAN_MAP)/flashram.mapx
ddump -Rv $(SWAN_OBJ)/flashram.elf -o $(SWAN_OBJ)/flashram.x
ifeq ($(HOST),win32)
v:/estii/convert $(SWAN_OBJ)/flashram.elf -b -c
endif
#ddump -RI flashram.elf >> flashram.mapx
libbsp.a: $(DLC_OBJS)
@echo "Building bsp.lib..."
$(AR) $(ARFLAGS) $(SWAN_LIB)/$@ $^
skclean:
@rm -f $(SWAN_OBJ)/begin.o $(PSS_PROBEOBJS) $(PROBE_BSPOBJS)
$(SWAN_APPOBJS) $(SWAN_OBJ)/end.o $(SWAN_LST)/*.lst
cleanall:
[EMAIL PROTECTED] -f $(SWAN_OBJ)/* $(SWAN_LST)/* $(SWAN_MAP)/*
$(SWAN_LIB)/libbsp.a
clean:
[EMAIL PROTECTED] -f $(SWAN_OBJ)/*.o $(SWAN_LST)/*
snmpclean:
@rm -f $(SNMP_OBJS)
utilsclean:
@cd $(SWAN_UTILS); $(MAKE) clean
gunzipclean:
@cd $(SWAN_BOOT); $(MAKE) clean
binclean:
@cd $(SWAN_BIN); $(MAKE) clean
# @(#)Makefile 1.1 2/2/99
#***********************************************************************
#* *
#* MODULE: Makefile *
#* DATE: 99/02/02 *
#* PURPOSE: makefile to build a pSOSystem SWAN Kernel *
#* *
#*---------------------------------------------------------------------*
#* *
#* Copyright 1999, Tandem Computer, Inc. *
#* ALL RIGHTS RESERVED *
#* *
#* No rights to reproduce, use or disseminate this computer program, *
#* whether in part or in whole. *
#* *
#*---------------------------------------------------------------------*
#* *
#* This Makefile is the "root" Makefile for the SWAN Kernel and *
#* should be placed in the root directory of the SWAN Kernel T7848. *
#* *
#* The Current Directory, where this Makefile exists will be taken *
#* automatically as the SWAN Kernel root directory. If there is any *
#* any change needed, define SWAN_HOME environment variable to the *
#* the appropriate path. *
#* The rest of the paths, including pSOS system files, board support *
#* packages are calculated relative to the SWAN_HOME dir. There is *
#* no need usually, to modify any of them. *
#* *
#***********************************************************************
#***********************************************************************
# Check for SWAN_HOME, else define it to the current directory. *
#***********************************************************************
ifndef SWAN_HOME
SWAN_HOME = $(PWD)
endif
#***********************************************************************
# If SWAN include Makefile.swan1, If SWAN2 include Makefile.swan2 *
#***********************************************************************
include Makefile.swan2
_______________________________________________ Bug-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-make
