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 $^