summaryrefslogtreecommitdiff
path: root/rbutil/mkimxboot/dualboot/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/mkimxboot/dualboot/Makefile')
-rw-r--r--rbutil/mkimxboot/dualboot/Makefile41
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 @@
1CC=gcc 1CC=gcc
2CROSS_PREFIX=arm-elf-eabi 2LD=ld
3# Edit the following variables (plus copy/paste another set of rules) when 3OC=objcopy
4# adding a new target. mkimxboot.c also needs to be edited to refer to these 4CROSS_PREFIX=arm-elf-eabi-
5# new images. 5REGS_PATH=../../../firmware/target/arm/imx233/regs
6 6CFLAGS=-mcpu=arm926ej-s -std=gnu99 -I. -I$(REGS_PATH) -nostdlib -ffreestanding -fomit-frame-pointer -O
7BOOTOBJS = dualboot_fuzeplus.o dualboot_zenxfi2.o dualboot_zenxfi3.o 7# Edit the following variables when adding a new target.
8BOOTBINS = 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
13TARGETS=fuzeplus zenxfi2 zenxfi3
14OPT_fuzeplus=-DSANSA_FUZEPLUS -DIMX233_SUBTARGET=3780
15OPT_zenxfi2=-DCREATIVE_ZENXFI2 -DIMX233_SUBTARGET=3780
16OPT_zenxfi3=-DCREATIVE_ZENXFI3 -DIMX233_SUBTARGET=3780
17
18BOOTOBJS=$(patsubst %, dualboot_%.o, $(TARGETS))
19BOOTBINS=$(patsubst %, dualboot_%.arm-bin, $(TARGETS))
9 20
10all: ../dualboot.h ../dualboot.c 21all: ../dualboot.h ../dualboot.c
11 22
12# Dualboot bootloaders 23# Dualboot bootloaders
13 24
14dualboot_fuzeplus.o: dualboot.S 25dualboot_%.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
17dualboot_zenxfi2.o: dualboot.S
18 $(CROSS_PREFIX)-$(CC) -mcpu=arm926ej-s -DCREATIVE_ZENXFI2 -c -o dualboot_zenxfi2.o dualboot.S
19 27
20dualboot_zenxfi3.o: dualboot.S 28dualboot_%.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)