95 lines
2.7 KiB
Makefile
95 lines
2.7 KiB
Makefile
|
# 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
|