1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
OBJS := start.o mem.o main.o dev/dev.o lib/lib.o

CFLAGS = -fno-builtin -I$(shell pwd)/include
export CFLAGS

gbbot.bin : $(OBJS)
arm-linux-ld -Tgboot.lds -o gboot.elf $^
arm-linux-objcopy -O binary gboot.elf $@

%.o : %.S
arm-linux-gcc -g -c $<

%.o : %.c
arm-linux-gcc -g $(CFLAGS) -c $<

.PHONY : lib/lib.o @ 根据其他的Makefile琢磨出来的一种响应底层目录文件更改后Makefile不响应的解决之道
lib/lib.o:
cd lib; make; cd ..

.PHONY : dev/dev.o
dev/dev.o:
cd dev; make; cd ..

clean:
rm -f *.o *.elf *.bin
make clean -C lib

make clean -C dev