added a bitmap to betty lcd ram conversion tool
[my-code/arm.git] / betty / Makefile
1 # native builds
2 CC = gcc
3 CFLAGS = -Wall
4
5 # cross build
6 ARCH = arm-elf
7 CROSS_CC = $(ARCH)-gcc
8 CROSS_AS = $(ARCH)-as
9 CROSS_LD = $(ARCH)-ld
10 CROSS_OBJCOPY = $(ARCH)-objcopy
11 CROSS_OPTS = -mcpu=arm7tdmi-s
12 CROSS_CFLAGS = $(CROSS_OPTS) -Wall -Os
13 CROSS_ASLAGS = $(CROSS_OPTS) --gstabs
14 CROSS_RAM_LDFLAGS = -Tlpc2220_ram.ld -nostartfiles -nostdlib
15 CROSS_ROM_LDFLAGS = -Tlpc2220_rom.ld -nostartfiles -nostdlib
16
17 # build objects
18 HOST_TARGET = lpcload fwdump bmp2b
19 CROSS_TARGET = fwbc.hex fwflash.hex betty.hex
20
21 # betty deps
22 BETTY_DEPS = system.o uart.o buttons.o spi.o display.o flash.o functions.o
23 #BETTY_DEPS += pffs.o
24
25 # all projects
26 all: links $(HOST_TARGET) $(CROSS_TARGET)
27
28 # bmp2b
29 links:
30         ln -sfv ../../api/bmp/bmp.{c,h} .
31
32 bmp.o: bmp.c
33         $(CC) -c $(CFLAGS) -o $@ $<
34
35 bmp2b: bmp.o
36
37 # arm code
38 arm: arm_clean $(CROSS_TARGET)
39
40 # .o out of .c
41 %.o: %.c
42         $(CROSS_CC) -c $(CROSS_CFLAGS) -o $@ $<
43
44 # .o out of .s
45 %.o: %.s
46         $(CROSS_AS) $(CROSS_ASLAGS) -o $@ $<
47
48 # .elf out of .o
49 %.elf: %.o startup.o
50         $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o -o $@ $<
51
52 # betty is special ;)
53 betty.elf: betty.o startup.o $(BETTY_DEPS)
54         #$(CROSS_LD) $(CROSS_ROM_LDFLAGS) startup.o $(BETTY_DEPS) -o $@ $<
55         $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o $(BETTY_DEPS) -o $@ $<
56
57 # .hex out of .elf
58 %.hex: %.elf
59         $(CROSS_OBJCOPY) -O ihex $< $@
60
61 # host clean
62 clean:
63         rm -vf lpcload fwdump
64
65 # arm clean
66 arm_clean:
67         rm -vf *.o *.hex *.elf
68