1)简介:make在执行时,需要一个名为Makefile的文件,Makefile文件描述了整过工程的编译,连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译;需要创建哪些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行行文件。
规则格式:
target(目标):prerequisites(依赖)
command(命令)
如: main.o:main.c
gcc -c main.c
注意:命令必须以【TAB】键开始。
3)目标:在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么,一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终目标。
make -f 文件名
5)伪目标:Makefile中把那些没有任何依赖只有执行动作的目标称为“伪目标”(phony targets)。
$^ :代表所有的依赖文件
$@ :代表目标
$< :代表第一个依赖文件
如: hello:main.o func1.o func2.o
gcc main.o func1.o func2.o -o hello
等效于
hello:main.o func1.o func2.o
gcc $^ -o $@
@ : 表示取消回显
如: hello:hello.c
@gcc hello.c -o hello