Remove executable property that somehow got set
[kugel-rb.git] / rbutil / mkamsboot / Makefile
blob5a626509040d98f2d2cf3806fbcbe61d49bbbcc9
1 CC=gcc
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
9 # new images.
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 \
17 dualboot_e200v2.h
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 \
23 dualboot_c200v2.h
25 FUZEFILES = dualboot_fuze.arm-o dualboot_fuze.o dualboot_fuze.c dualboot_fuze.h
27 all: mkamsboot
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
52 $(LIBUCL):
53 make -C ../../tools/ucl/src libucl.a
55 md5.o: md5.c md5.h
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
67 %.arm-elf: %.arm-o
68 arm-elf-ld -e 0 -Ttext=0 -o $@ $<
70 %.arm-bin: %.arm-elf
71 arm-elf-objcopy -O binary $< $@
73 %.c %.h: %.arm-bin bin2c
74 ./bin2c $< $*
76 # Generic host rule.
77 %.o: %.c
78 $(CC) $(CFLAGS) -c -o $@ $<
80 # Cancel the implicit .S -> .o rule
81 %.o: %.S
83 bin2c: bin2c.c
84 $(CC) -o bin2c bin2c.c
86 clean:
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) \
90 $(C200V2FILES)