betty.c - first test fw to writo to flash bank0
[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 # all projects
22 all: $(HOST_TARGET) $(CROSS_TARGET)
23
24 # arm code
25 arm: arm_clean $(CROSS_TARGET)
26
27 # .o out of .c
28 %.o: %.c
29         $(CROSS_CC) -c $(CROSS_CFLAGS) -o $@ $<
30
31 # .o out of .s
32 %.o: %.s
33         $(CROSS_AS) $(CROSS_ASLAGS) -o $@ $<
34
35 # .elf out of .o
36 %.elf: %.o startup.o
37         $(CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o -o $@ $<
38
39 # special linker case ...
40 betty.elf: betty.o startup.o
41         $(CROSS_LD) $(CROSS_ROM_LDFLAGS) startup.o -o $@ $<
42
43 # .hex out of .elf
44 %.hex: %.elf
45         $(CROSS_OBJCOPY) -O ihex $< $@
46
47 # host clean
48 clean:
49         rm -f lpcload fwdump
50
51 # arm clean
52 arm_clean:
53         rm -vf *.o *.hex *.elf
54