Makefile规则

来源:互联网 发布:李雪儿的网络歌曲 编辑:程序博客网 时间:2024/05/18 00:39

规则
目标:依赖
命令
led.bin:led.o
arm-linux-ld -Tled.lds -o led.elf led.o

.PHONY:clean
clean:
rm *-o led.elf led.bin(只有命令,没有依赖,.PHONY:说明它是伪目标)
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)gccapp1.o(obj) -o app1
app2: app2.o (obj)gccapp2.o(obj) -o app2

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

%

%.o : %.S
arm-none-linux-gnueabi-gcc -o @< -c -nostdlib
取代相同形式的所有文件

去回显@

%.o : %.S
@arm-none-linux-gnueabi-gcc -o @< -c -nostdlib
这样即可执行不回显

其他名字makefile

默认只需找Makefile,其他的make -f [filename]

0 0
原创粉丝点击