+# native builds
CC = gcc
CFLAGS = -Wall
-ARMCC = /scratch/arm-elf/bin/arm-elf-gcc
-ARMCFLAGS = -Wall -mcpu=arm7tdmi-s -nostartfiles -nostdlib
-ARMOBJCOPY = /scratch/arm-elf/bin/arm-elf-objcopy
+# cross build
+ARCH = arm-elf
+CROSS_CC = $(ARCH)-gcc
+CROSS_OBJCOPY = $(ARCH)-objcopy
+CROSS_CFLAGS = -Wall -Os -mcpu=arm7tdmi-s -nostartfiles -nostdlib
-HOSTOBJECTS = lpcload fwdump
-
-ARMOBJECTS = fwbc.hex
+# build objects
+HOST_TARGET = lpcload fwdump
+CROSS_TARGET = fwbc.hex fwflash.hex
# all projects
-all: $(HOSTOBJECTS) $(ARMOBJECTS)
+all: $(HOST_TARGET) $(CROSS_TARGET)
# arm code
-arm: arm_clean $(ARMOBJECTS)
+arm: arm_clean $(CROSS_TARGET)
# fwbc
fwbc:
- $(ARMCC) $(ARMCFLAGS) -c fwbc.c -o fwbc
+ $(CROSS_CC) $(CROSS_CFLAGS) -c fwbc.c -o fwbc
fwbc.hex: fwbc
- $(ARMOBJCOPY) -O ihex fwbc fwbc.hex
+ $(CROSS_OBJCOPY) -O ihex fwbc fwbc.hex
+
+# fwflash
+fwflash:
+ $(CROSS_CC) $(CROSS_CFLAGS) -c fwflash.c -o fwflash
+
+fwflash.hex: fwflash
+ $(CROSS_OBJCOPY) -O ihex fwflash fwflash.hex
clean:
- rm -f lpcload fwbc.hex fwbc
+ rm -f lpcload fwdump
arm_clean:
- rm -f fwbc.hex fwbc
+ rm -f $(CROSS_TARGET) fwbc fwflash