summaryrefslogtreecommitdiff
path: root/bootloader/bootloader.make
diff options
context:
space:
mode:
Diffstat (limited to 'bootloader/bootloader.make')
-rw-r--r--bootloader/bootloader.make37
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) $< $@
+