playing around with pffs (NOT FINISHED, DOESNT COMPILE!)
[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
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 #pffs.o
23
24 # all projects
25 all: $(HOST_TARGET) $(CROSS_TARGET)
26
27 # arm code
28 arm: arm_clean $(CROSS_TARGET)
29
30 # .o out of .c
31 %.o: %.c
32         $(CROSS_CC) -c $(CROSS_CFLAGS) -o $@ $<
33
34 # .o out of .s
35 %.o: %.s
36         $(CROSS_AS) $(CROSS_ASLAGS) -o $@ $<
37
38 # .elf out of .o
39 %.elf: %.o startup.o
40         $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o -o $@ $<
41
42 # betty is special ;)
43 betty.elf: betty.o startup.o $(BETTY_DEPS)
44         #$(CROSS_LD) $(CROSS_ROM_LDFLAGS) startup.o $(BETTY_DEPS) -o $@ $<
45         $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o $(BETTY_DEPS) -o $@ $<
46
47 # .hex out of .elf
48 %.hex: %.elf
49         $(CROSS_OBJCOPY) -O ihex $< $@
50
51 # host clean
52 clean:
53         rm -vf lpcload fwdump
54
55 # arm clean
56 arm_clean:
57         rm -vf *.o *.hex *.elf
58