add new dfboot loader - a complete revison of romboot code.
[openwrt/svn-archive/archive.git] / target / linux / at91-2.6 / image / dfboot / src / Makefile
diff --git a/target/linux/at91-2.6/image/dfboot/src/Makefile b/target/linux/at91-2.6/image/dfboot/src/Makefile
new file mode 100644 (file)
index 0000000..ff92e0d
--- /dev/null
@@ -0,0 +1,94 @@
+# 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