1 # Makefile for bootrom, see ../common/Makefile.common for common settings
3 # DO NOT use thumb mode in the phase 1 bootloader since that generates a section with glue code
5 THUMBSRC
= usb.c bootrom.c
6 ASMSRC
= ram-reset.s flash-reset.s
8 ## There is a strange bug with the linker: Sometimes it will not emit the glue to call
9 ## BootROM from ARM mode. The symbol is emitted, but the section will be filled with
10 ## zeroes. As a temporary workaround, do not use thumb for the phase 2 bootloader
11 ## -- Henryk Plötz <henryk@ploetzli.ch> 2009-09-01
12 ARMSRC
:= $(ARMSRC
) $(THUMBSRC
)
15 # Do not move this inclusion before the definition of {THUMB,ASM,ARM}SRC
16 include ..
/common
/Makefile.common
18 all: $(OBJDIR
)/bootrom.s19
20 $(OBJDIR
)/bootrom.elf
: $(VERSIONOBJ
) $(ASMOBJ
) $(ARMOBJ
) $(THUMBOBJ
)
21 $(LD
) -g
-Tldscript-flash
--oformat elf32-littlearm
-Map
=$(patsubst %.elf
,%.map
,$@
) -o
$@
$^
24 $(DELETE
) $(OBJDIR
)$(PATHSEP
)*.o
25 $(DELETE
) $(OBJDIR
)$(PATHSEP
)*.elf
26 $(DELETE
) $(OBJDIR
)$(PATHSEP
)*.s19
27 $(DELETE
) $(OBJDIR
)$(PATHSEP
)*.map
28 $(DELETE
) $(OBJDIR
)$(PATHSEP
)*.d
31 .PHONY
: all clean help
33 @echo Multi-OS Makefile
, you are running on
$(DETECTED_OS
)
34 @echo Possible targets
:
35 @echo
+ all - Make
$(OBJDIR
)/bootrom.s19
, the main bootrom
36 @echo
+ clean - Clean
$(OBJDIR
)