# native builds
CC = gcc
-CFLAGS = -Wall
+CFLAGS = -Wall -I/usr/src/linux/include
# cross build
ARCH = arm-elf
CROSS_ROM_LDFLAGS = -Tlpc2220_rom.ld -nostartfiles -nostdlib
# build objects
-HOST_TARGET = lpcload fwdump
+HOST_TARGET = lpcload fwdump font2b
CROSS_TARGET = fwbc.hex fwflash.hex betty.hex
+# betty deps
+BETTY_DEPS = system.o uart.o buttons.o spi.o display.o flash.o functions.o
+BETTY_DEPS += interrupts.o #pffs.o
+
# all projects
all: $(HOST_TARGET) $(CROSS_TARGET)
+# bmp2b / font2b
+links:
+ ln -sfv ../../api/bmp/bmp.{c,h} .
+
+bmp.c: links
+
+bmp.o: bmp.c
+ $(CC) -c $(CFLAGS) -o $@ $<
+
+bmp2b: bmp.o
+
# arm code
arm: arm_clean $(CROSS_TARGET)
$(CROSS_AS) $(CROSS_ASLAGS) -o $@ $<
# .elf out of .o
-%.elf: %.o startup.o
- $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o -o $@ $<
+%.elf: %.o startup.o interrupts.o
+ $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o interrupts.o -o $@ $<
-# special linker case ...
-betty.elf: betty.o startup.o
- $(CROSS_LD) $(CROSS_ROM_LDFLAGS) startup.o -o $@ $<
+# betty is special ;)
+betty.elf: betty.o startup.o $(BETTY_DEPS)
+ #$(CROSS_LD) $(CROSS_ROM_LDFLAGS) startup.o $(BETTY_DEPS) -o $@ $<
+ $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o $(BETTY_DEPS) -o $@ $<
# .hex out of .elf
%.hex: %.elf
# host clean
clean:
- rm -f lpcload fwdump
+ rm -vf lpcload fwdump
# arm clean
arm_clean: