博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
makefile
阅读量:6633 次
发布时间:2019-06-25

本文共 836 字,大约阅读时间需要 2 分钟。

1. makefile 文件描述了整个工程的编译,链接等规则。
 
规则:用于说明如何生成一个或多个目标文件,规则格式如下:
targets: prerequisites
       command
目标 : 依赖
       命令 (命令需要以[TAB]键开始)
例:
main.o: main.c
 gcc -c main.c
 
2. 目标:
Makefile 中只应该有一个最终目标,其他目标都是被这个目标所带出来的
一般,第一条规则中的目标将被认为是最终目标。
 
3. 文件名:
make 命令默认在当前目录下寻找名字为makefile或Makefile的文件。
或使用:
make -f 指定文件名。
 
4. 伪目标:
 
Makefile中把那些没有任何依赖的只有执行动作的目标称为“伪目
标”(phony targets).
 
如:
.PHONY: clean   ( .PHONY 将 clean 目标声明为伪目标)
clean:
 rm -f hello main.o
 
5. 变量:
obj=main.o func1.o func2.o
hello:$(obj)
 gcc $(obj) -o hello
 
在makefile中,存在系统默认的自动化变量
$^ --- 代表所有的依赖文件
$@ --- 代表目标
$< --- 代表第一个依赖文件
 
例:
hello: main.o func1.o func2.o
 gcc main.o func1.o func2.o
==>
hello: main.o func1.o func2.o
 gcc $^ -o $@
 
6. 杂项:
a. Makefile 中 “#” 字符后的内容被视为注释。
b. @ --- 取消回显,不会显示命令信息。
如:
hello: hello.c
 @gcc hello.c -o hello

转载于:https://www.cnblogs.com/hehehaha/archive/2013/01/28/6333009.html

你可能感兴趣的文章