makefile工程管理
makefile檔案:
規則:用于說明如何生成目标檔案,規則的格式如下:
targets : prerequisites
command
目标 依賴 指令
特别注意:指令需要使用【TAB】建空格
例
all: led.o (最終目标)
arm-linux-ld-Tled.lds -o led.elf led.o
arm-linux-objcopy-O binary led.elf led.bin
led.o : led.S
arm-linux-gcc-g -o led.o -c led.S
.PHONY: clean (僞目标)
clean:
rm*.o led.elf led.bin
makefile-變量
使用變量前:
app1: app1.o func1.ofunc2.o
gcc app1.o func1.o func2.o -o app1
app2: app2.o func1.o func2.o
gcc app2.o func1.o func2.o -o app2
使用變量後:
obj=func1.o func2.o
app1: app1.o $(obj)
gcc app1.o $(obj) -o app1
app2: app2.o $(obj)
gcc app2.o $(obj) -o app2
系統定義好的預設變量
v $^:代表所有的依賴檔案
v $@:代表目标
v $<:代表第一個依賴檔案
Makefile規則-變量
使用前:
led.o : led.S
arm-linux-gcc -g –o led.o -c led.S
使用後:
led.o : led.S
arm-linux-gcc -g –o $@ -c $^