From c876d3bbefe0dc00c27ca0c12d29da5874946962 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Wed, 15 Dec 2021 21:04:28 +0100 Subject: rbutil: Merge rbutil with utils folder. rbutil uses several components from the utils folder, and can be considered part of utils too. Having it in a separate folder is an arbitrary split that doesn't help anymore these days, so merge them. This also allows other utils to easily use libtools.make without the need to navigate to a different folder. Change-Id: I3fc2f4de19e3e776553efb5dea5f779dfec0dc21 --- utils/mkimxboot/dualboot/Makefile | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 utils/mkimxboot/dualboot/Makefile (limited to 'utils/mkimxboot/dualboot/Makefile') diff --git a/utils/mkimxboot/dualboot/Makefile b/utils/mkimxboot/dualboot/Makefile new file mode 100644 index 0000000000..b80233226a --- /dev/null +++ b/utils/mkimxboot/dualboot/Makefile @@ -0,0 +1,48 @@ +CC=gcc +LD=ld +OC=objcopy +PREFIX?=arm-elf-eabi- +IMX233_PATH=../../../firmware/target/arm/imx233 +CFLAGS=-mcpu=arm926ej-s -std=gnu99 -I. -I$(IMX233_PATH) -nostdlib -ffreestanding -fomit-frame-pointer -O +# Edit the following variables when adding a new target. +# mkimxboot.c also needs to be edited to refer to these +# To add a new target x you need to: +# 1) add x to the list in TARGETS +# 2) create a variable named OPT_x of the form: +# OPT_x=target specific defines +TARGETS=fuzeplus zenxfi2 zenxfi3 nwze370 nwze360 zenxfistyle +OPT_fuzeplus=-DSANSA_FUZEPLUS -DIMX233_SUBTARGET=3780 +OPT_zenxfi2=-DCREATIVE_ZENXFI2 -DIMX233_SUBTARGET=3780 +OPT_zenxfi3=-DCREATIVE_ZENXFI3 -DIMX233_SUBTARGET=3780 +OPT_nwze370=-DSONY_NWZE370 -DIMX233_SUBTARGET=3780 +OPT_nwze360=-DSONY_NWZE360 -DIMX233_SUBTARGET=3780 +OPT_zenxfistyle=-DCREATIVE_ZENXFISTYLE -DIMX233_SUBTARGET=3780 + +BOOTOBJS=$(patsubst %, dualboot_%.o, $(TARGETS)) +BOOTBINS=$(patsubst %, dualboot_%.arm-bin, $(TARGETS)) +BOOTELFS=$(patsubst %, dualboot_%.arm-elf, $(TARGETS)) + +all: ../dualboot.h ../dualboot.c $(BOOTELFS) + +# Dualboot bootloaders + +dualboot_%.o: dualboot.c + $(PREFIX)$(CC) $(CFLAGS) $(OPT_$(@:dualboot_%.o=%)) -c -o $@ $^ + +dualboot_%.arm-elf: dualboot_%.o + $(PREFIX)$(LD) $(LDFLAGS) -Tdualboot.lds -o $@ $< + +# Rules for the ARM code embedded in mkamsboot - assemble, link, then extract +# the binary code and finally convert to .h for building in mkamsboot + +%.arm-bin: %.arm-elf + $(PREFIX)$(OC) -O binary $< $@ + +../dualboot.c ../dualboot.h: $(BOOTBINS) bin2c + ./bin2c ../dualboot $(BOOTBINS) + +bin2c: bin2c.c + $(CC) -o bin2c bin2c.c + +clean: + rm -f *~ bin2c $(BOOTBINS) $(BOOTOBJS) $(BOOTELFS) -- cgit v1.2.3