OpenWrt – Rev 4

Subversion Repositories:
Rev:
# Makefile for DataFlashBoot.bin
# Must use toolchain with H/W FLoating Point

BASENAME=dfboot
BINNAME=$(BASENAME).bin
OUTNAME=$(BASENAME).out
LSSNAME=$(BASENAME).lss
MAPNAME=$(BASENAME).map

BASENAME2=dfbptest
BINNAME2=$(BASENAME2).bin
OUTNAME2=$(BASENAME2).out
LSSNAME2=$(BASENAME2).lss
MAPNAME2=$(BASENAME2).map

INCPATH=include

CFLAGS_LOCAL=-Os -Wall -I$(INCPATH)
BUILD=$(CC) $(CFLAGS) $(CFLAGS_LOCAL)

LDFLAGS+=-T elf32-littlearm.lds -Ttext 0
LINK=$(LD) $(LDFLAGS)

OBJS=objs/cstartup_ram.o objs/at45.o objs/com.o objs/dataflash.o\
        objs/div0.o objs/init.o objs/main.o objs/asm_isr.o objs/asm_mci_isr.o\
        objs/mci_device.o objs/jump.o objs/_udivsi3.o objs/_umodsi3.o

OBJS2=objs/cstartup_ram.o objs/at45.o objs/com.o objs/dataflash.o\
        objs/div0.o objs/init.o objs/ptmain.o objs/asm_isr.o objs/asm_mci_isr.o\
        objs/mci_device.o objs/jump.o objs/_udivsi3.o objs/_umodsi3.o

I=config.h com.h dataflash.h embedded_services.h main.h stdio.h include/AT91RM9200.h include/lib_AT91RM9200.h 

all:clean $(BASENAME) $(BASENAME2)

$(BASENAME): $(OBJS)
        $(LINK) -n -o $(OUTNAME) $(OBJS)
        $(OBJCOPY) $(OUTNAME) -O binary $(BINNAME)
        $(OBJDUMP) -h -s $(OUTNAME) > $(LSSNAME)
        $(NM) -n $(OUTNAME) | grep -v '\( [aUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $(MAPNAME)
        cp $(BINNAME) binary
        
$(BASENAME2): $(OBJS2)
        $(LINK) -n -o $(OUTNAME2) $(OBJS2)
        $(OBJCOPY) $(OUTNAME2) -O binary $(BINNAME2)
        $(OBJDUMP) -h -s $(OUTNAME2) > $(LSSNAME2)
        $(NM) -n $(OUTNAME2) | grep -v '\( [aUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $(MAPNAME2)
        cp $(BINNAME2) binary
        
# C objects here
objs/at45.o: at45.c     $(I)
        $(BUILD) -c -o objs/at45.o              at45.c
objs/com.o: com.c       $(I)
        $(BUILD) -c -o objs/com.o               com.c
objs/dataflash.o: dataflash.c   $(I)
        $(BUILD) -c -o objs/dataflash.o         dataflash.c
objs/mci_device.o: mci_device.c $(I)
        $(BUILD) -c -o objs/mci_device.o                mci_device.c
objs/div0.o: div0.c     $(I)
        $(BUILD) -c -o objs/div0.o              div0.c
objs/init.o: init.c     $(I)
        $(BUILD) -c -o objs/init.o              init.c
objs/main.o: main.c     $(I)
        $(BUILD) -c -o objs/main.o              main.c
objs/ptmain.o: main.c   $(I)
        $(BUILD) -c -D PRODTEST -o objs/ptmain.o                main.c

# ASM objects here
objs/asm_isr.o: asm_isr.S
        $(BUILD) -c -o objs/asm_isr.o           asm_isr.S
objs/asm_mci_isr.o: asm_mci_isr.S
        $(BUILD) -c -o objs/asm_mci_isr.o               asm_mci_isr.S
objs/cstartup_ram.o: cstartup_ram.S
        $(BUILD) -c -o objs/cstartup_ram.o      cstartup_ram.S
objs/jump.o: jump.S
        $(BUILD) -c -o objs/jump.o              jump.S
objs/_udivsi3.o: _udivsi3.S
        $(BUILD) -c -o objs/_udivsi3.o          _udivsi3.S
objs/_umodsi3.o: _umodsi3.S
        $(BUILD) -c -o objs/_umodsi3.o          _umodsi3.S

install:        $(BINNAME) $(BINNAME2)
        cp $(BINNAME) binary
        cp $(BINNAME2) binary

clean:
        rm -f *~
        rm -f objs/*
        rm -f *.out
        rm -f *.bin
        rm -f *.lss
        rm -f *.map
        rm -f .unpacked
        mkdir -p objs