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
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to