Makefile 工程管理
2017-04-07 本文已影响0人
那段刻骨的岁月
Ⅰ Makefile的用途
使用GNU Make工具来管理程序是每个Linux工程师必须掌握的技能。Make能够使整个程序的编译、链接只需要一个命令(make)就可以完成。
Ⅱ Makefile的构成
Ⅲ Makefile构成-----规则
规则:用于说明如何生成目标文件,规则的格式
如下:
targets : prerequisites
command
目标 依赖 命令
特别提供:命令需要使用【TAB】键空格
示例:
led.bin: led.o
arm-linux-ld -Tled.lds -o led.elf led.o
Ⅳ Makefile构成-----伪目标
Makefile中把那些只包含命令,没有任何依
赖的目标称为”伪目标”(phony targets).
.PHONY : clean
clean :
rm –f hello main.o func.o
“.PHONY” 将“clean”目标声明为伪目标
ⅤMakefile构成-----变量
使用变量前:
app1: app1.o func1.o func2.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
默认变量:
$^:代表所有的依赖文件
$@:代表目标
$<:代表第一个依赖文件
使用前:
led.o : led.S
arm-linux-gcc -g –o led.o -c led.S
使用后:
led.o : led.S
arm-linux-gcc -g –o $@ -c $^