初识makefile

来源:互联网 发布:验厂app软件 编辑:程序博客网 时间:2024/06/05 14:52

makefile的规则结构:
target  ...  prerequisites ...
command

HelloWorldHelloWorld.o  World.o
           g++   -o  HelloWorld  HelloWorld.o  World.o

HelloWorld.o  HelloWorld.cpp  HelloWorld.h
           g++   -c  HelloWorld.cpp

World.o  World.cpp  World.h
           g++   -c  World.cpp
clean  

           rm  *

copy   

           cp   *  /usr

makefile原理:

       上面是一个简单的makefile的内容。很简单的看出,当执行make命令时,

首先找到的是最终要生成的目标文件“HelloWorld”
然后通过冒号:分隔来查找到生成目标文件所需要的所有依赖文件HelloWorld.oWorld.o,并写入makefile需要执行的command
得到HelloWorld.oWorld.o后,继续下一层次的通过冒号:查找下一层的依赖文件找到.cpp .h文件。(很像二叉树查找叶子)
最后的clean  :,注意其后没有任何文件,这样make就不会自动去找依赖文件 ,而这个clean的作用则是一个动作的名称,你可以自己在makefile文件中预留任何与编译无关的命令,比如打包,备份,删除等等。
要执行clean后的命令,只需make clean就能rm * ,或者make copy执行cp *   /usr.

Makefile有三个非常有用的变量。分别是$@$^$<' arecomments
$@ --目标文件 
$^ --所有的依赖文件 
$< --第一个依赖文件
后续文章中将会有这三个变量的介绍,灵活的使用它们makefile可以写的很简洁。

0 0
原创粉丝点击