Makefile 整个程序编译链接规则
规则
targets:prerequisites
command
make 全执行
make 目标名 只执行这一个命令
变量
变量使用前
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 func1.o func2.o
gcc app2.o $(obj) -o app2
在Linux中读取变量需要加$
默认变量
$^ 代表所有的依赖文件
$@ 代表目标
$< 代表第一个依赖文件
eg:
使用前
led.0:led.S
arm-linux-gcc -g -o led.o -c led.S
使用后
led.0:led.S
arm-linux-gcc -g -o $@ -c $^
通用规则
%.o:%.S
arm-linux-gcc -Wall -c -O2 -o $@ $<
回显去掉
make前加@
@make
1901

被折叠的 条评论
为什么被折叠?



