diff options
Diffstat (limited to 'bootloader/bootloader.make')
| -rw-r--r-- | bootloader/bootloader.make | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bootloader/bootloader.make b/bootloader/bootloader.make new file mode 100644 index 0000000..736425e --- /dev/null +++ b/bootloader/bootloader.make @@ -0,0 +1,37 @@ +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $ +# + +INCLUDES += -I$(APPSDIR) +SRC += $(call preprocess, $(APPSDIR)/SOURCES) + +BOOTLDS := $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/boot.lds +BOOTLINK := $(BUILDDIR)/boot.link + +CLEANOBJS += $(BUILDDIR)/bootloader.* + +.SECONDEXPANSION: + +$(BOOTLINK): $(BOOTLDS) + $(call PRINTS,PP $(@F)) + $(call preprocess2file,$<,$@,-DLOADADDRESS=$(LOADADDRESS)) + +$(BUILDDIR)/bootloader.elf: $$(OBJ) $$(FIRMLIB) $$(BOOTLINK) + $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -nostdlib -o $@ $(OBJ) \ + $(FIRMLIB) -lgcc -L$(BUILDDIR)/firmware -T$(BOOTLINK) \ + -Wl,--gc-sections -Wl,-Map,$(BUILDDIR)/bootloader.map + +$(BUILDDIR)/bootloader.bin : $(BUILDDIR)/bootloader.elf + $(call PRINTS,OBJCOPY $(@F))$(OC) $(if $(filter yes, $(USE_ELF)), -S -x, -O binary) $< $@ + +$(BUILDDIR)/bootloader.asm: $(BUILDDIR)/bootloader.bin + $(TOOLSDIR)/sh2d -sh1 $< > $@ + +$(BUILDDIR)/$(BINARY) : $(BUILDDIR)/bootloader.bin + $(call PRINTS,Build bootloader file)$(MKFIRMWARE) $< $@ + |