2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 ifeq ($(ARCHOS
),ifp7xx
)
12 INCLUDES
= -I
$(FIRMDIR
)/include -I
$(FIRMDIR
)/export -I.
-I
$(OBJDIR
) \
15 DEPFILE
= $(OBJDIR
)/dep-stub
18 SRC
:= $(shell cat SOURCES |
$(CC
) -DMEMORYSIZE
=$(MEMORYSIZE
) $(INCLUDES
) $(TARGET
) $(DEFINES
) -E
-P
-include "config.h" - )
22 DIRS
+= $(subst :, ,$(APPEXTRA
))
23 INCLUDES
+= $(patsubst %,-I
%,$(subst :, ,$(APPEXTRA
)))
27 VERSION
=$(shell date
+%y
%m
%d-
%H
%M
)
30 CFLAGS
= $(GCCOPTS
) $(INCLUDES
) $(TARGET
) $(DEFINES
) \
31 -DAPPSVERSION
=\"$(VERSION
)\" $(EXTRA_DEFINES
) -DMEM
=${MEMORYSIZE}
33 OBJS
:= $(SRC
:%.c
=$(OBJDIR
)/%.o
)
35 LINKFILE
= $(OBJDIR
)/linkage.lds
37 LIBROCKBOX
= $(BUILDDIR
)/librockbox.a
39 all: $(BUILDDIR
)/$(BINARY
) $(FLASHFILE
)
44 @echo
"Build LDS file"
45 @cat
$< |
$(CC
) -DMEMORYSIZE
=$(MEMORYSIZE
) $(INCLUDES
) $(TARGET
) $(DEFINES
) -E
-P
$(ROMBUILD
) - >$@
47 $(OBJDIR
)/stub.elf
: $(OBJS
) $(LINKFILE
) $(DEPFILE
) $(LIBROCKBOX
)
49 @
$(CC
) $(GCCOPTS
) -Os
-nostdlib
-o
$@
$(OBJS
) -L
$(BUILDDIR
) -L
$(BUILDDIR
)/firmware
-lrockbox
-lgcc
-T
$(LINKFILE
) -Wl
,-Map
,$(OBJDIR
)/stub.map
51 $(OBJDIR
)/stub.bin
: $(OBJDIR
)/stub.elf
53 @
$(OC
) -O binary
$< $@
55 $(BUILDDIR
)/$(BINARY
) : $(OBJDIR
)/stub.bin
56 @echo
"Build stub file"
59 include $(TOOLSDIR
)/make.inc
63 @
-rm -f
$(OBJS
) $(BUILDDIR
)/$(BINARY
) \
64 $(OBJDIR
)/stub.bin
$(OBJDIR
)/stub.elf
$(OBJDIR
)/*.map \
65 $(LINKFILE
) $(DEPFILE
)
79 OBJS
= start.o sh-stub.o setjmp.o
86 sh-elf-gcc
-O
$(EXTRA
) -I..
/firmware
/export -I..
/firmware
/include -m1
-Wall
-Wstrict-prototypes
-c
-o
$@
$<
89 sh-elf-gcc
-O
-I..
/firmware
/export -I..
/firmware
/include -m1
-Wall
-Wstrict-prototypes
-c
-o
$@
$<
91 $(TARGET
).
$(EXT
): $(TARGET
).elf
92 sh-elf-objcopy
-O binary
$(TARGET
).elf
$(TARGET
).out
93 ..
/tools
/scramble
$(TARGET
).out
$(TARGET
).
$(EXT
)
94 ..
/tools
/sh2d
$(TARGET
).out
-o
09000000 > $(TARGET
).asm
96 $(TARGET
).elf
: $(OBJS
)
97 sh-elf-gcc
-nostartfiles
$(OBJS
) -nostdlib
-Wl
,-Map
,$(TARGET
).map
-o
$(TARGET
).elf
-Tlinker.cfg
100 rm $(OBJS
) $(TARGET
).map
$(TARGET
).elf
$(TARGET
).out
$(TARGET
).mod
$(TARGET
).ajz