diff options
Diffstat (limited to 'utils/mkamsboot/dualboot/Makefile')
-rw-r--r-- | utils/mkamsboot/dualboot/Makefile | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/utils/mkamsboot/dualboot/Makefile b/utils/mkamsboot/dualboot/Makefile new file mode 100644 index 0000000000..0aa1e3f7d9 --- /dev/null +++ b/utils/mkamsboot/dualboot/Makefile | |||
@@ -0,0 +1,61 @@ | |||
1 | CC=gcc | ||
2 | CROSS_PREFIX?=arm-elf-eabi | ||
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 | ||
5 | # new images. | ||
6 | |||
7 | BOOTOBJS = nrv2e_d8.o dualboot_clip.o dualboot_e200v2.o dualboot_c200v2.o dualboot_m200v4.o dualboot_fuze.o dualboot_clipv2.o dualboot_clipplus.o dualboot_fuzev2.o dualboot_clipzip.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 dualboot_clipplus.arm-bin dualboot_fuzev2.arm-bin dualboot_clipzip.arm-bin | ||
9 | |||
10 | all: ../dualboot.h ../dualboot.c | ||
11 | |||
12 | # Dualboot bootloaders | ||
13 | |||
14 | dualboot_clip.o: dualboot.S | ||
15 | $(CROSS_PREFIX)-$(CC) -DSANSA_CLIP -c -o dualboot_clip.o dualboot.S | ||
16 | |||
17 | dualboot_fuze.o: dualboot.S | ||
18 | $(CROSS_PREFIX)-$(CC) -DSANSA_FUZE -c -o dualboot_fuze.o dualboot.S | ||
19 | |||
20 | dualboot_e200v2.o: dualboot.S | ||
21 | $(CROSS_PREFIX)-$(CC) -DSANSA_E200V2 -c -o dualboot_e200v2.o dualboot.S | ||
22 | |||
23 | dualboot_m200v4.o: dualboot.S | ||
24 | $(CROSS_PREFIX)-$(CC) -DSANSA_M200V4 -c -o dualboot_m200v4.o dualboot.S | ||
25 | |||
26 | dualboot_c200v2.o: dualboot.S | ||
27 | $(CROSS_PREFIX)-$(CC) -DSANSA_C200V2 -c -o dualboot_c200v2.o dualboot.S | ||
28 | |||
29 | dualboot_clipv2.o: dualboot.S | ||
30 | $(CROSS_PREFIX)-$(CC) -DSANSA_CLIPV2 -c -o dualboot_clipv2.o dualboot.S | ||
31 | |||
32 | dualboot_clipplus.o: dualboot.S | ||
33 | $(CROSS_PREFIX)-$(CC) -DSANSA_CLIPPLUS -c -o dualboot_clipplus.o dualboot.S | ||
34 | |||
35 | dualboot_fuzev2.o: dualboot.S | ||
36 | $(CROSS_PREFIX)-$(CC) -DSANSA_FUZEV2 -c -o dualboot_fuzev2.o dualboot.S | ||
37 | |||
38 | dualboot_clipzip.o: dualboot.S | ||
39 | $(CROSS_PREFIX)-$(CC) -DSANSA_CLIPZIP -c -o dualboot_clipzip.o dualboot.S | ||
40 | |||
41 | # Rules for the ucl unpack function | ||
42 | nrv2e_d8.o: nrv2e_d8.S | ||
43 | $(CROSS_PREFIX)-$(CC) -DPURE_THUMB -c -o nrv2e_d8.o nrv2e_d8.S | ||
44 | |||
45 | # Rules for the ARM code embedded in mkamsboot - assemble, link, then extract | ||
46 | # the binary code and finally convert to .h for building in mkamsboot | ||
47 | |||
48 | %.arm-elf: %.o | ||
49 | $(CROSS_PREFIX)-ld -e 0 -Ttext=0 -o $@ $< | ||
50 | |||
51 | %.arm-bin: %.arm-elf | ||
52 | $(CROSS_PREFIX)-objcopy -O binary $< $@ | ||
53 | |||
54 | ../dualboot.c ../dualboot.h: $(BOOTBINS) bin2c | ||
55 | ./bin2c ../dualboot $(BOOTBINS) | ||
56 | |||
57 | bin2c: bin2c.c | ||
58 | $(CC) -o bin2c bin2c.c | ||
59 | |||
60 | clean: | ||
61 | rm -f *~ bin2c $(BOOTBINS) $(BOOTOBJS) | ||