From 96165abec2da60c466659fa0e68e06d97587d51a Mon Sep 17 00:00:00 2001 From: Rafaël Carré Date: Thu, 28 May 2009 18:27:08 +0000 Subject: FS#10253 : mkamsboot v1.0 - Bump version to 1.0 - Add Clipv2 target - Make mkamsboot work as a library (work by domonoky : FS#10185, with a few modifications by me) . Use a macro with variadic arguments for error cases in functions which might error. . Add detailed descriptions to functions exported by the library (in the header file) - modify bin2c.c to produce only one pair of .c/.h files with several files embedded in it - move files needing to be built by an ARM cross compiler into dualboot/ - commit produced .c/.h files (containing nrv2e_d8.S and dualboot.S built for Clip, Fuze, e200v2, c200v2, m200v4, Clipv2) - Write a real README file - cosmetics: indent dualboot.S properly, remove trailing spaces, limit lines to 80 characters - comments: add/correct comments in dualboot.S and mkamsboot.c - move back extract_fw.c to utils/AMS/hacking git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21118 a1c6a512-1295-4272-9138-f99709370657 --- rbutil/mkamsboot/dualboot/Makefile | 54 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 rbutil/mkamsboot/dualboot/Makefile (limited to 'rbutil/mkamsboot/dualboot/Makefile') diff --git a/rbutil/mkamsboot/dualboot/Makefile b/rbutil/mkamsboot/dualboot/Makefile new file mode 100644 index 0000000000..06b90c7fb9 --- /dev/null +++ b/rbutil/mkamsboot/dualboot/Makefile @@ -0,0 +1,54 @@ +CC=gcc + +# Edit the following variables (plus copy/paste another set of rules) when +# adding a new target. mkamsboot.c also needs to be edited to refer to these +# new images. + +BOOTOBJS = nrv2e_d8.o dualboot_clip.o dualboot_e200v2.o dualboot_c200v2.o dualboot_m200v4.o dualboot_fuze.o dualboot_clipv2.o +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 + +all: dualboot.h + +dualboot.h: $(BOOTBINS) + +# Dualboot bootloaders + +dualboot_clip.o: dualboot.S + arm-elf-gcc -DSANSA_CLIP -c -o dualboot_clip.o dualboot.S + +dualboot_fuze.o: dualboot.S + arm-elf-gcc -DSANSA_FUZE -c -o dualboot_fuze.o dualboot.S + +dualboot_e200v2.o: dualboot.S + arm-elf-gcc -DSANSA_E200V2 -c -o dualboot_e200v2.o dualboot.S + +dualboot_m200v4.o: dualboot.S + arm-elf-gcc -DSANSA_M200V4 -c -o dualboot_m200v4.o dualboot.S + +dualboot_c200v2.o: dualboot.S + arm-elf-gcc -DSANSA_C200V2 -c -o dualboot_c200v2.o dualboot.S + +dualboot_clipv2.o: dualboot.S + arm-elf-gcc -DSANSA_CLIPV2 -c -o dualboot_clipv2.o dualboot.S + +# Rules for the ucl unpack function +nrv2e_d8.o: nrv2e_d8.S + arm-elf-gcc -DPURE_THUMB -c -o nrv2e_d8.o nrv2e_d8.S + +# 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-elf: %.o + arm-elf-ld -e 0 -Ttext=0 -o $@ $< + +%.arm-bin: %.arm-elf + arm-elf-objcopy -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) dualboot.c dualboot.h -- cgit v1.2.3