2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 INCLUDES
+= -I
$(APPSDIR
)
11 SRC
+= $(call preprocess
, $(APPSDIR
)/SOURCES
)
13 BOOTLDS
:= $(FIRMDIR
)/target
/$(CPU
)/$(MANUFACTURER
)/boot.lds
14 BOOTLINK
:= $(BUILDDIR
)/boot.link
16 CLEANOBJS
+= $(BUILDDIR
)/bootloader.
*
20 $(BOOTLINK
): $(BOOTLDS
)
21 $(call PRINTS
,PP
$(@F
))
22 $(call preprocess2file
,$<,$@
,-DLOADADDRESS
=$(LOADADDRESS
))
25 $(BUILDDIR
)/bootloader.elf
: $$(OBJ
) $$(FIRMLIB
) $$(BOOTLINK
)
26 $(call PRINTS
,LD
$(@F
))$(CC
) $(GCCOPTS
) -Os
-nostdlib
-o
$@
$(OBJ
) \
27 $(FIRMLIB
) -lgcc
-L
$(BUILDDIR
)/firmware
-T
$(BOOTLINK
) \
29 -Wl
,--gc-sections
-Wl
,-Map
,$(BUILDDIR
)/bootloader.map
31 $(BUILDDIR
)/bootloader.bin
: $(BUILDDIR
)/bootloader.elf
32 $(call PRINTS
,OBJCOPY
$(@F
))$(OC
) $(if
$(filter yes
, $(USE_ELF
)), -S
-x
, -O binary
) $< $@
34 $(BUILDDIR
)/bootloader.asm
: $(BUILDDIR
)/bootloader.bin
35 $(TOOLSDIR
)/sh2d
-sh1
$< > $@
37 $(BUILDDIR
)/$(BINARY
) : $(BUILDDIR
)/bootloader.bin
38 $(call PRINTS
,Build bootloader file
)$(MKFIRMWARE
) $< $@
42 include $(ROOTDIR
)/uisimulator
/uisimulator.make
44 $(BUILDDIR
)/$(BINARY
): $$(OBJ
) $$(FIRMLIB
) $$(SIMLIB
) $$(FIRMLIB
)
46 $(call PRINTS
,LD
$(@F
))$(CC
) $(GCCOPTS
) -nostdlib
-o
$@
$^ \
47 $(FIRMLIB
) -lgcc
$(LDOPTS
) -L
$(BUILDDIR
)/firmware
$(GLOBAL_LDOPTS
) \
48 -Wl
,-shared
,-Bsymbolic
-Wl
,-soname
,$(BINARY
) -llog
-Wl
,-Map
,$(BUILDDIR
)/rockbox.map
50 $(call PRINTS
,LD
$(@F
))$(CC
) $(GCCOPTS
) -Os
-nostdlib
-o
$@ \
51 $^
$(FIRMLIB
) -lgcc
$(LDOPTS
) -L
$(BUILDDIR
)/firmware \
52 -llog
$(GLOBAL_LDOPTS
) -Wl
,-Map
,$(BUILDDIR
)/bootloader.map