3 # We use the UCL code available in the Rockbox tools/ directory
4 CFLAGS
=-I..
/..
/tools
/ucl
/include
5 LIBUCL
=..
/..
/tools
/ucl
/src
/libucl.a
7 # Edit the following variables (plus copy/paste another set of rules) when
8 # adding a new target. mkamsboot.c also needs to be edited to refer to these
11 BOOTIMAGES
= dualboot_clip.o dualboot_e200v2.o dualboot_c200v2.o dualboot_m200v4.o dualboot_fuze.o
12 BOOTHEADERS
= dualboot_clip.h dualboot_e200v2.h dualboot_c200v2.h dualboot_m200v4.h dualboot_fuze.h
14 CLIPFILES
= dualboot_clip.arm-o dualboot_clip.o dualboot_clip.c dualboot_clip.h
16 E200V2FILES
= dualboot_e200v2.arm-o dualboot_e200v2.o dualboot_e200v2.c \
19 M200V4FILES
= dualboot_m200v4.arm-o dualboot_m200v4.o dualboot_m200v4.arm-bin \
20 dualboot_m200v4.c dualboot_m200v4.h
22 C200V2FILES
= dualboot_c200v2.arm-o dualboot_c200v2.o dualboot_c200v2.c \
25 FUZEFILES
= dualboot_fuze.arm-o dualboot_fuze.o dualboot_fuze.c dualboot_fuze.h
29 # Dualboot bootloaders
31 dualboot_clip.arm-o
: dualboot.S
32 arm-elf-gcc
-DSANSA_CLIP
-c
-o dualboot_clip.arm-o dualboot.S
34 dualboot_fuze.arm-o
: dualboot.S
35 arm-elf-gcc
-DSANSA_FUZE
-c
-o dualboot_fuze.arm-o dualboot.S
37 dualboot_e200v2.arm-o
: dualboot.S
38 arm-elf-gcc
-DSANSA_E200V2
-c
-o dualboot_e200v2.arm-o dualboot.S
40 dualboot_m200v4.arm-o
: dualboot.S
41 arm-elf-gcc
-DSANSA_M200V4
-c
-o dualboot_m200v4.arm-o dualboot.S
43 dualboot_c200v2.arm-o
: dualboot.S
44 arm-elf-gcc
-DSANSA_C200V2
-c
-o dualboot_c200v2.arm-o dualboot.S
46 # Rules for the ucl unpack function
47 nrv2e_d8.arm-o
: nrv2e_d8.S
48 arm-elf-gcc
-DPURE_THUMB
-c
-o nrv2e_d8.arm-o nrv2e_d8.S
53 make
-C ..
/..
/tools
/ucl
/src libucl.a
56 $(CC
) $(CFLAGS
) -c
-o md5.o
-W
-Wall md5.c
58 mkamsboot.o
: mkamsboot.c
$(BOOTHEADERS
) nrv2e_d8.h md5.h
59 $(CC
) $(CFLAGS
) -c
-o mkamsboot.o
-W
-Wall mkamsboot.c
61 mkamsboot
: mkamsboot.o
$(BOOTIMAGES
) nrv2e_d8.o md5.o
$(LIBUCL
)
62 $(CC
) -o mkamsboot mkamsboot.o
$(BOOTIMAGES
) nrv2e_d8.o md5.o
$(LIBUCL
)
64 # Rules for the ARM code embedded in mkamsboot - assemble, link, then extract
65 # the binary code and finally convert to .c/.h for linking with mkamsboot
68 arm-elf-ld
-e
0 -Ttext
=0 -o
$@
$<
71 arm-elf-objcopy
-O binary
$< $@
73 %.c
%.h
: %.arm-bin bin2c
78 $(CC
) $(CFLAGS
) -c
-o
$@
$<
80 # Cancel the implicit .S -> .o rule
84 $(CC
) -o bin2c bin2c.c
87 rm -f mkamsboot mkamsboot.o nrv2e_d8.arm-o nrv2e_d8.arm-elf \
88 nrv2e_d8.arm-bin
*~ bin2c nrv2e_d8.c nrv2e_d8.h nrv2e_d8.o md5.o \
89 $(BOOTIMAGES
) $(CLIPFILES
) $(E200V2FILES
) $(M200V4FILES
) $(FUZEFILES
) \