diff options
Diffstat (limited to 'rbutil/mkimxboot/dualboot/Makefile')
-rw-r--r-- | rbutil/mkimxboot/dualboot/Makefile | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/rbutil/mkimxboot/dualboot/Makefile b/rbutil/mkimxboot/dualboot/Makefile index 6386b7c622..4bad3a4a12 100644 --- a/rbutil/mkimxboot/dualboot/Makefile +++ b/rbutil/mkimxboot/dualboot/Makefile | |||
@@ -1,33 +1,38 @@ | |||
1 | CC=gcc | 1 | CC=gcc |
2 | CROSS_PREFIX=arm-elf-eabi | 2 | LD=ld |
3 | # Edit the following variables (plus copy/paste another set of rules) when | 3 | OC=objcopy |
4 | # adding a new target. mkimxboot.c also needs to be edited to refer to these | 4 | CROSS_PREFIX=arm-elf-eabi- |
5 | # new images. | 5 | REGS_PATH=../../../firmware/target/arm/imx233/regs |
6 | 6 | CFLAGS=-mcpu=arm926ej-s -std=gnu99 -I. -I$(REGS_PATH) -nostdlib -ffreestanding -fomit-frame-pointer -O | |
7 | BOOTOBJS = dualboot_fuzeplus.o dualboot_zenxfi2.o dualboot_zenxfi3.o | 7 | # Edit the following variables when adding a new target. |
8 | BOOTBINS = dualboot_fuzeplus.arm-bin dualboot_zenxfi2.arm-bin dualboot_zenxfi3.arm-bin | 8 | # mkimxboot.c also needs to be edited to refer to these |
9 | # To add a new target x you need to: | ||
10 | # 1) add x to the list in TARGETS | ||
11 | # 2) create a variable named OPT_x of the form: | ||
12 | # OPT_x=target specific defines | ||
13 | TARGETS=fuzeplus zenxfi2 zenxfi3 | ||
14 | OPT_fuzeplus=-DSANSA_FUZEPLUS -DIMX233_SUBTARGET=3780 | ||
15 | OPT_zenxfi2=-DCREATIVE_ZENXFI2 -DIMX233_SUBTARGET=3780 | ||
16 | OPT_zenxfi3=-DCREATIVE_ZENXFI3 -DIMX233_SUBTARGET=3780 | ||
17 | |||
18 | BOOTOBJS=$(patsubst %, dualboot_%.o, $(TARGETS)) | ||
19 | BOOTBINS=$(patsubst %, dualboot_%.arm-bin, $(TARGETS)) | ||
9 | 20 | ||
10 | all: ../dualboot.h ../dualboot.c | 21 | all: ../dualboot.h ../dualboot.c |
11 | 22 | ||
12 | # Dualboot bootloaders | 23 | # Dualboot bootloaders |
13 | 24 | ||
14 | dualboot_fuzeplus.o: dualboot.S | 25 | dualboot_%.o: dualboot.c |
15 | $(CROSS_PREFIX)-$(CC) -mcpu=arm926ej-s -DSANSA_FUZEPLUS -c -o dualboot_fuzeplus.o dualboot.S | 26 | $(CROSS_PREFIX)$(CC) $(CFLAGS) $(OPT_$(@:dualboot_%.o=%)) -c -o $@ $^ |
16 | |||
17 | dualboot_zenxfi2.o: dualboot.S | ||
18 | $(CROSS_PREFIX)-$(CC) -mcpu=arm926ej-s -DCREATIVE_ZENXFI2 -c -o dualboot_zenxfi2.o dualboot.S | ||
19 | 27 | ||
20 | dualboot_zenxfi3.o: dualboot.S | 28 | dualboot_%.arm-elf: dualboot_%.o |
21 | $(CROSS_PREFIX)-$(CC) -mcpu=arm926ej-s -DCREATIVE_ZENXFI3 -c -o dualboot_zenxfi3.o dualboot.S | 29 | $(CROSS_PREFIX)$(LD) $(LDFLAGS) -Tdualboot.lds -o $@ $< |
22 | 30 | ||
23 | # Rules for the ARM code embedded in mkamsboot - assemble, link, then extract | 31 | # Rules for the ARM code embedded in mkamsboot - assemble, link, then extract |
24 | # the binary code and finally convert to .h for building in mkamsboot | 32 | # the binary code and finally convert to .h for building in mkamsboot |
25 | 33 | ||
26 | %.arm-elf: %.o | ||
27 | $(CROSS_PREFIX)-ld -Tdualboot.lds -o $@ $< | ||
28 | |||
29 | %.arm-bin: %.arm-elf | 34 | %.arm-bin: %.arm-elf |
30 | $(CROSS_PREFIX)-objcopy -O binary $< $@ | 35 | $(CROSS_PREFIX)$(OC) -O binary $< $@ |
31 | 36 | ||
32 | ../dualboot.c ../dualboot.h: $(BOOTBINS) bin2c | 37 | ../dualboot.c ../dualboot.h: $(BOOTBINS) bin2c |
33 | ./bin2c ../dualboot $(BOOTBINS) | 38 | ./bin2c ../dualboot $(BOOTBINS) |