# @(#)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...." address@hidden -R 775 * address@hidden -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)) address@hidden -f $(SWAN_VERSION) $(SWAN_VERSION).prev $(SWAN_OBJ)/gen_build_id$(EXE) $(SWAN_VERSION).prev $(SWAN_VERSION) $(SWAN_OBJ)/cvs.tag$(SH) "SKBuild_" "" "-c" "" address@hidden -R 775 * address@hidden -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: address@hidden -f $(SWAN_OBJ)/* $(SWAN_LST)/* $(SWAN_MAP)/* $(SWAN_LIB)/libbsp.a clean: address@hidden -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