3 # Edit the following variables (plus copy/paste another set of rules) when
4 # adding a new target. mkamsboot.c also needs to be edited to refer to these
7 BOOTOBJS
= nrv2e_d8.o dualboot_clip.o dualboot_e200v2.o dualboot_c200v2.o dualboot_m200v4.o dualboot_fuze.o dualboot_clipv2.o
8 BOOTBINS
= nrv2e_d8.arm-bin dualboot_clip.arm-bin dualboot_e200v2.arm-bin dualboot_c200v2.arm-bin dualboot_m200v4.arm-bin dualboot_fuze.arm-bin dualboot_clipv2.arm-bin
12 dualboot.h
: $(BOOTBINS
)
14 # Dualboot bootloaders
16 dualboot_clip.o
: dualboot.S
17 arm-elf-gcc
-DSANSA_CLIP
-c
-o dualboot_clip.o dualboot.S
19 dualboot_fuze.o
: dualboot.S
20 arm-elf-gcc
-DSANSA_FUZE
-c
-o dualboot_fuze.o dualboot.S
22 dualboot_e200v2.o
: dualboot.S
23 arm-elf-gcc
-DSANSA_E200V2
-c
-o dualboot_e200v2.o dualboot.S
25 dualboot_m200v4.o
: dualboot.S
26 arm-elf-gcc
-DSANSA_M200V4
-c
-o dualboot_m200v4.o dualboot.S
28 dualboot_c200v2.o
: dualboot.S
29 arm-elf-gcc
-DSANSA_C200V2
-c
-o dualboot_c200v2.o dualboot.S
31 dualboot_clipv2.o
: dualboot.S
32 arm-elf-gcc
-DSANSA_CLIPV2
-c
-o dualboot_clipv2.o dualboot.S
34 # Rules for the ucl unpack function
35 nrv2e_d8.o
: nrv2e_d8.S
36 arm-elf-gcc
-DPURE_THUMB
-c
-o nrv2e_d8.o nrv2e_d8.S
38 # Rules for the ARM code embedded in mkamsboot - assemble, link, then extract
39 # the binary code and finally convert to .h for building in mkamsboot
42 arm-elf-ld
-e
0 -Ttext
=0 -o
$@
$<
45 arm-elf-objcopy
-O binary
$< $@
47 dualboot.c dualboot.h
: $(BOOTBINS
) bin2c
48 .
/bin2c dualboot
$(BOOTBINS
)
51 $(CC
) -o bin2c bin2c.c
54 rm -f
*~ bin2c
$(BOOTBINS
) $(BOOTOBJS
) dualboot.c dualboot.h