Merge branch 'master' into gsoc-android-botloader
[kugel-rb.git] / bootloader / bootloader.make
blobea20847983e9c2eadd4cfff39c30d9fbec26b62d
1 # __________ __ ___.
2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6 # \/ \/ \/ \/ \/
7 # $Id$
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.*
18 .SECONDEXPANSION:
20 $(BOOTLINK): $(BOOTLDS)
21 $(call PRINTS,PP $(@F))
22 $(call preprocess2file,$<,$@,-DLOADADDRESS=$(LOADADDRESS))
24 ifeq (APP_TYPE,)
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) \
28 $(GLOBAL_LDOPTS) \
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) $< $@
40 else
42 include $(ROOTDIR)/uisimulator/uisimulator.make
44 $(BUILDDIR)/$(BINARY): $$(OBJ) $$(FIRMLIB) $$(SIMLIB) $$(FIRMLIB)
45 ifeq (1,1)
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
49 else
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
53 endif
54 endif