2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 INCLUDES
= $(TARGET_INC
) -I
$(FIRMDIR
)/include -I
$(FIRMDIR
)/export -I.
-I
$(OBJDIR
) \
13 DEPFILE
= $(OBJDIR
)/dep-bootloader
14 LDS
:= $(FIRMDIR
)/boot.lds
21 SRC
:= $(shell cat SOURCES |
$(CC
) -DMEMORYSIZE
=$(MEMORYSIZE
) $(INCLUDES
) $(TARGET
) $(DEFINES
) -E
-P
-include "config.h" - )
25 DIRS
+= $(subst :, ,$(APPEXTRA
))
26 INCLUDES
+= $(patsubst %,-I
%,$(subst :, ,$(APPEXTRA
)))
30 VERSION
=$(shell date
+%y
%m
%d-
%H
%M
)
33 CFLAGS
= $(GCCOPTS
) $(INCLUDES
) $(TARGET
) $(DEFINES
) \
34 -DAPPSVERSION
=\"$(VERSION
)\" $(EXTRA_DEFINES
) -DMEM
=${MEMORYSIZE}
36 OBJS
:= $(SRC
:%.c
=$(OBJDIR
)/%.o
)
38 LINKFILE
= $(OBJDIR
)/linkage.lds
39 MAXINFILE
= $(OBJDIR
)/romstart.temp
40 MAXOUTFILE
= $(OBJDIR
)/romstart
42 LIBROCKBOX
= $(BUILDDIR
)/librockbox.a
45 all: $(OBJDIR
)/bootloader.elf
47 all: $(BUILDDIR
)/$(BINARY
) $(FLASHFILE
)
53 @echo
"Build LDS file"
54 @cat
$< |
$(CC
) -DMEMORYSIZE
=$(MEMORYSIZE
) $(INCLUDES
) $(TARGET
) $(DEFINES
) -E
-P
$(ROMBUILD
) - >$@
57 @echo
'#include "config.h"' > $(MAXINFILE
)
58 @echo
"ROM_START" >> $(MAXINFILE
)
59 @cat
$(MAXINFILE
) |
$(CC
) -DMEMORYSIZE
=$(MEMORYSIZE
) $(INCLUDES
) $(TARGET
) $(DEFINES
) -E
-P
$(ROMBUILD
) - > $(MAXOUTFILE
)
62 $(OBJDIR
)/bootloader.elf
: $(OBJS
) $(LINKFILE
) $(DEPFILE
) $(LIBROCKBOX
)
63 @echo
"LD bootloader.elf"
64 $(CC
) $(GCCOPTS
) -Os
-nostdlib
-o
$@
$(OBJS
) -L
$(BUILDDIR
) -L
$(BUILDDIR
)/firmware
-lrockbox
-lgcc
-T
$(LINKFILE
) -Wl
,-Map
,$(OBJDIR
)/bootloader.map
66 $(OBJDIR
)/bootloader.bin
: $(OBJDIR
)/bootloader.elf
68 @
$(OC
) -O binary
$< $@
70 $(OBJDIR
)/bootloader.asm
: $(OBJDIR
)/bootloader.bin
71 $(TOOLSDIR
)/sh2d
-sh1
$< > $@
73 $(BUILDDIR
)/$(BINARY
) : $(OBJDIR
)/bootloader.bin
74 @echo
"Build bootloader file"
77 include $(TOOLSDIR
)/make.inc
80 @echo
"cleaning bootloader"
81 @
-rm -f
$(OBJS
) $(BUILDDIR
)/$(BINARY
) $(OBJDIR
)/bootloader.asm \
82 $(OBJDIR
)/bootloader.bin
$(OBJDIR
)/bootloader.elf
$(OBJDIR
)/*.map \
83 $(LINKFILE
) $(MAXOUTFILE
) $(DEPFILE
)