Clean up the Makefile a little - no functional changes.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19106 a1c6a512-1295-4272-9138-f99709370657
diff --git a/rbutil/mkamsboot/Makefile b/rbutil/mkamsboot/Makefile
index 287ea9b..fe58d82 100644
--- a/rbutil/mkamsboot/Makefile
+++ b/rbutil/mkamsboot/Makefile
@@ -1,137 +1,83 @@
+CC=gcc
 
 # We use the UCL code available in the Rockbox tools/ directory
-
 CFLAGS=-I../../tools/ucl/include
 LIBUCL=../../tools/ucl/src/libucl.a
 
 # 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.
-#
-# If anyone reading this wants to improve this makefile, please do!
 
-BOOTIMAGES = bootimg_clip.o bootimg_e200v2.o bootimg_m200v4.o bootimg_fuze.o
-BOOTHEADERS = bootimg_clip.h bootimg_e200v2.h bootimg_m200v4.h bootimg_fuze.h
+BOOTIMAGES = dualboot_clip.o dualboot_e200v2.o dualboot_m200v4.o dualboot_fuze.o
+BOOTHEADERS = dualboot_clip.h dualboot_e200v2.h dualboot_m200v4.h dualboot_fuze.h
 
-CLIPFILES = dualboot-clip.o dualboot-clip.elf dualboot-clip.o \
-            dualboot-clip.bin bootimg_clip.c bootimg_clip.h
+CLIPFILES = dualboot_clip.arm-o dualboot_clip.o dualboot_clip.c dualboot_clip.h
 
-E200V2FILES = dualboot-e200v2.o dualboot-e200v2.elf dualboot-e200v2.o \
-              dualboot-e200v2.bin bootimg_e200v2.c bootimg_e200v2.h
+E200V2FILES = dualboot_e200v2.arm-o dualboot_e200v2.o dualboot_e200v2.c \
+              dualboot_e200v2.h
 
-M200V4FILES = dualboot-m200v4.o dualboot-m200v4.elf dualboot-m200v4.o \
-              dualboot-m200v4.bin bootimg_m200v4.c bootimg_m200v4.h
+M200V4FILES = dualboot_m200v4.arm-o dualboot_m200v4.o dualboot_m200v4.arm-bin \
+              dualboot_m200v4.c dualboot_m200v4.h
 
-FUZEFILES = dualboot-fuze.o dualboot-fuze.elf dualboot-fuze.o \
-              dualboot-fuze.bin bootimg_fuze.c bootimg_fuze.h
+FUZEFILES = dualboot_fuze.arm-o dualboot_fuze.o dualboot_fuze.c dualboot_fuze.h
 
 all: mkamsboot
 
+# Dualboot bootloaders
+
+dualboot_clip.arm-o: dualboot.S
+	arm-elf-gcc -DSANSA_CLIP -c -o dualboot_clip.arm-o dualboot.S
+
+dualboot_fuze.arm-o: dualboot.S
+	arm-elf-gcc -DSANSA_FUZE -c -o dualboot_fuze.arm-o dualboot.S
+
+dualboot_e200v2.arm-o: dualboot.S
+	arm-elf-gcc -DSANSA_E200V2 -c -o dualboot_e200v2.arm-o dualboot.S
+
+dualboot_m200v4.arm-o: dualboot.S
+	arm-elf-gcc -DSANSA_M200V4 -c -o dualboot_m200v4.arm-o dualboot.S
+
+# Rules for the ucl unpack function
+nrv2e_d8.arm-o: nrv2e_d8.S
+	arm-elf-gcc -DPURE_THUMB -c -o nrv2e_d8.arm-o nrv2e_d8.S
+
+
+
 $(LIBUCL):
 	make -C ../../tools/ucl/src libucl.a
 
 md5.o: md5.c md5.h
-	gcc $(CFLAGS) -c -o md5.o -W -Wall md5.c
+	$(CC) $(CFLAGS) -c -o md5.o -W -Wall md5.c
 
-mkamsboot.o: mkamsboot.c $(BOOTHEADERS) uclimg.h md5.h
-	gcc $(CFLAGS) -c -o mkamsboot.o -W -Wall mkamsboot.c
+mkamsboot.o: mkamsboot.c $(BOOTHEADERS) nrv2e_d8.h md5.h
+	$(CC) $(CFLAGS) -c -o mkamsboot.o -W -Wall mkamsboot.c
 
-mkamsboot: mkamsboot.o $(BOOTIMAGES) uclimg.o md5.o $(LIBUCL)
-	gcc -o mkamsboot mkamsboot.o $(BOOTIMAGES) uclimg.o md5.o $(LIBUCL)
+mkamsboot: mkamsboot.o $(BOOTIMAGES) nrv2e_d8.o md5.o $(LIBUCL)
+	$(CC) -o mkamsboot mkamsboot.o $(BOOTIMAGES) nrv2e_d8.o md5.o $(LIBUCL)
 
-# Rules for our test ARM application - assemble, link, then extract
-# the binary code
+# Rules for the ARM code embedded in mkamsboot - assemble, link, then extract
+# the binary code and finally convert to .c/.h for linking with mkamsboot
 
-# CLIP
+%.arm-elf: %.arm-o
+	arm-elf-ld -e 0 -Ttext=0 -o $@ $<
 
-dualboot-clip.o: dualboot.S
-	arm-elf-gcc -DSANSA_CLIP -c -o dualboot-clip.o dualboot.S
+%.arm-bin: %.arm-elf
+	arm-elf-objcopy -O binary $< $@
 
-dualboot-clip.elf: dualboot-clip.o
-	arm-elf-ld -e 0 -Ttext=0 -o dualboot-clip.elf dualboot-clip.o
+%.c %.h: %.arm-bin bin2c
+	./bin2c $< $*
 
-dualboot-clip.bin: dualboot-clip.elf
-	arm-elf-objcopy -O binary dualboot-clip.elf dualboot-clip.bin
+# Generic host rule.
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $<
 
-bootimg_clip.c bootimg_clip.h: dualboot-clip.bin bin2c
-	./bin2c dualboot-clip.bin bootimg_clip
-
-bootimg_clip.o: bootimg_clip.c
-	gcc -c -o bootimg_clip.o bootimg_clip.c
-
-# FUZE
-
-dualboot-fuze.o: dualboot.S
-	arm-elf-gcc -DSANSA_FUZE -c -o dualboot-fuze.o dualboot.S
-
-dualboot-fuze.elf: dualboot-fuze.o
-	arm-elf-ld -e 0 -Ttext=0 -o dualboot-fuze.elf dualboot-fuze.o
-
-dualboot-fuze.bin: dualboot-fuze.elf
-	arm-elf-objcopy -O binary dualboot-fuze.elf dualboot-fuze.bin
-
-bootimg_fuze.c bootimg_fuze.h: dualboot-fuze.bin bin2c
-	./bin2c dualboot-fuze.bin bootimg_fuze
-
-bootimg_fuze.o: bootimg_fuze.c
-	gcc -c -o bootimg_fuze.o bootimg_fuze.c
-
-# E200V2
-
-dualboot-e200v2.o: dualboot.S
-	arm-elf-gcc -DSANSA_E200V2 -c -o dualboot-e200v2.o dualboot.S
-
-dualboot-e200v2.elf: dualboot-e200v2.o
-	arm-elf-ld -e 0 -Ttext=0 -o dualboot-e200v2.elf dualboot-e200v2.o
-
-dualboot-e200v2.bin: dualboot-e200v2.elf
-	arm-elf-objcopy -O binary dualboot-e200v2.elf dualboot-e200v2.bin
-
-bootimg_e200v2.c bootimg_e200v2.h: dualboot-e200v2.bin bin2c
-	./bin2c dualboot-e200v2.bin bootimg_e200v2
-
-bootimg_e200v2.o: bootimg_e200v2.c
-	gcc -c -o bootimg_e200v2.o bootimg_e200v2.c
-
-# M200V4    
-    
-dualboot-m200v4.o: dualboot.S
-	arm-elf-gcc -DSANSA_M200V4 -c -o dualboot-m200v4.o dualboot.S
-
-dualboot-m200v4.elf: dualboot-m200v4.o
-	arm-elf-ld -e 0 -Ttext=0 -o dualboot-m200v4.elf dualboot-m200v4.o
-
-dualboot-m200v4.bin: dualboot-m200v4.elf
-	arm-elf-objcopy -O binary dualboot-m200v4.elf dualboot-m200v4.bin
-
-bootimg_m200v4.c bootimg_m200v4.h: dualboot-m200v4.bin bin2c
-	./bin2c dualboot-m200v4.bin bootimg_m200v4
-
-bootimg_m200v4.o: bootimg_m200v4.c
-	gcc -c -o bootimg_m200v4.o bootimg_m200v4.c
-        
-# 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
-
-# NOTE: this function has no absolute references, so the link address (-e)
-# is irrelevant.  We just link at address 0, but it can run from anywhere.
-nrv2e_d8.elf: nrv2e_d8.o
-	arm-elf-ld -e 0 -Ttext=0 -o nrv2e_d8.elf nrv2e_d8.o
-
-nrv2e_d8.bin: nrv2e_d8.elf
-	arm-elf-objcopy -O binary nrv2e_d8.elf nrv2e_d8.bin
-
-uclimg.c uclimg.h: nrv2e_d8.bin bin2c
-	./bin2c nrv2e_d8.bin uclimg
-
-uclimg.o: uclimg.c
-	gcc -c -o uclimg.o uclimg.c
+# Cancel the implicit .S -> .o rule
+%.o: %.S
 
 bin2c: bin2c.c
-	gcc -o bin2c bin2c.c
+	$(CC) -o bin2c bin2c.c
 
 clean:
-	rm -f mkamsboot mkamsboot.o nrv2e_d8.o nrv2e_d8.elf nrv2e_d8.bin *~ \
-	bin2c uclimg.c uclimg.h uclimg.o md5.o \
+	rm -f mkamsboot mkamsboot.o nrv2e_d8.arm-o nrv2e_d8.arm-elf \
+	nrv2e_d8.arm-bin *~ bin2c nrv2e_d8.c nrv2e_d8.h nrv2e_d8.o md5.o \
 	$(BOOTIMAGES) $(CLIPFILES) $(E200V2FILES) $(M200V4FILES) $(FUZEFILES)
diff --git a/rbutil/mkamsboot/mkamsboot.c b/rbutil/mkamsboot/mkamsboot.c
index e9438b3..52cb2ce 100644
--- a/rbutil/mkamsboot/mkamsboot.c
+++ b/rbutil/mkamsboot/mkamsboot.c
@@ -86,13 +86,13 @@
 #include <ucl/ucl.h>
 
 /* Headers for ARM code binaries */
-#include "uclimg.h"
+#include "nrv2e_d8.h"
 #include "md5.h"
 
-#include "bootimg_clip.h"
-#include "bootimg_e200v2.h"
-#include "bootimg_fuze.h"
-#include "bootimg_m200v4.h"
+#include "dualboot_clip.h"
+#include "dualboot_e200v2.h"
+#include "dualboot_fuze.h"
+#include "dualboot_m200v4.h"
 
 /* Win32 compatibility */
 #ifndef O_BINARY
@@ -126,21 +126,21 @@
 
 static const unsigned char* bootloaders[] = 
 {
-    bootimg_fuze,
-    bootimg_clip,
+    dualboot_fuze,
+    dualboot_clip,
     NULL,
-    bootimg_e200v2,
-    bootimg_m200v4,
+    dualboot_e200v2,
+    dualboot_m200v4,
     NULL
 };
 
 static const int bootloader_sizes[] = 
 {
-    sizeof(bootimg_fuze),
-    sizeof(bootimg_clip),
+    sizeof(dualboot_fuze),
+    sizeof(dualboot_clip),
     0,
-    sizeof(bootimg_e200v2),
-    sizeof(bootimg_m200v4),
+    sizeof(dualboot_e200v2),
+    sizeof(dualboot_m200v4),
     0
 };
 
@@ -540,9 +540,9 @@
     fprintf(stderr,"[INFO] Bootloader size:          %d bytes\n",(int)bootloader_size);
     fprintf(stderr,"[INFO] Packed bootloader size:   %d bytes\n",rb_packedsize);
     fprintf(stderr,"[INFO] Dual-boot function size:  %d bytes\n",bootloader_sizes[model]);
-    fprintf(stderr,"[INFO] UCL unpack function size: %d bytes\n",sizeof(uclimg));
+    fprintf(stderr,"[INFO] UCL unpack function size: %d bytes\n",sizeof(nrv2e_d8));
 
-    totalsize = bootloader_sizes[model] + sizeof(uclimg) + of_packedsize + 
+    totalsize = bootloader_sizes[model] + sizeof(nrv2e_d8) + of_packedsize + 
                 rb_packedsize;
 
     fprintf(stderr,"[INFO] Total size of new image:  %d bytes\n",totalsize);
@@ -566,8 +566,8 @@
     p = buf + 0x400 + firmware_size;
 
     /* 1 - UCL unpack function */
-    p -= sizeof(uclimg);
-    memcpy(p, uclimg, sizeof(uclimg));
+    p -= sizeof(nrv2e_d8);
+    memcpy(p, nrv2e_d8, sizeof(nrv2e_d8));
 
     /* 2 - Compressed copy of original firmware */
     p -= of_packedsize;
@@ -583,14 +583,14 @@
 
     /* UCL unpack function */
     put_uint32le(&buf[0x420], firmware_size - 1);
-    put_uint32le(&buf[0x424], sizeof(uclimg));
+    put_uint32le(&buf[0x424], sizeof(nrv2e_d8));
 
     /* Compressed original firmware image */
-    put_uint32le(&buf[0x428], firmware_size - sizeof(uclimg) - 1);
+    put_uint32le(&buf[0x428], firmware_size - sizeof(nrv2e_d8) - 1);
     put_uint32le(&buf[0x42c], of_packedsize);
 
     /* Compressed Rockbox image */
-    put_uint32le(&buf[0x430], firmware_size - sizeof(uclimg) - of_packedsize - 1);
+    put_uint32le(&buf[0x430], firmware_size - sizeof(nrv2e_d8) - of_packedsize - 1);
     put_uint32le(&buf[0x434], rb_packedsize);