first commit, basic setup and makefile
[cortex-from-scratch] / Makefile
1 CC=$(TOOLROOT)/arm-none-eabi-gcc
2 LD=arm-none-eabi-ld
3 AR=$(TOOLROOT)/arm-none-eabi-ar
4 AS=arm-none-eabi-as
5 MKIMG=arm-none-eabi-objcopy
6
7 LDFLAGS+= -mthumb -mcpu=cortex-m3 
8 CFLAGS+= -mcpu=cortex-m3 -mthumb 
9
10 as: 
11         $(AS) $(CFLAGS) -o start.o start.asm
12
13 all:
14         $(AS) $(CFLAGS) -o start.o start.asm
15         $(LD) -T link.ld -o start.out start.o
16         $(MKIMG) -Obinary start.out kernel.bin
17
18 run:
19         qemu-system-arm -monitor stdio -M lm3s6965evb -kernel kernel.bin
20
21 examine:
22         arm-none-eabi-objdump -S start.out
23
24 %.o: %.c
25         $(CC) -c $(CFLAGS) $< -o $@
26         $(CC) -MM $(CFLAGS) $< > $*.d
27
28 %.o: %.s
29         $(CC) -c $(CFLAGS) $< -o $@
30
31
32
33