Makefile学习笔记(一)

来源:互联网 发布:香樟木家具的危害知乎 编辑:程序博客网 时间:2024/04/20 08:23

Linux下gcc/g++为我们提供了一个完善的c/c++程序编译环境,可是为什么还需要Makefile呢?原因很简单,Makefile就是告诉g++编译器怎样进行编译的一组规则。g++提供的make工具能够读取Makefile所定义的规则,并生成我们所需要的目标文件。当然我们也可以不写Makefile,用g++手动一个文件一个文件按顺序编译,但是当你面对大型项目的时候这种手动的方法就无能为力了,需要一套自动化的机制,Makefile的目的也正在于此。

 

Sample: 项目有两个文件,hello.cpp 和add.h

Makefile:

 

hello: hello.cpp add.o

           g++  hello.cpp -o hello

add.o: add.h

           g++ add.h -c

 

 

Makefile的格式:

target file: source file1,source file2,....

            [command]

            [command]

target file2: source file3, source file4..

            [command]

            [command]

Make工具以递归回朔的方式解释Makefile,首先看target file是否存在或者是否过期,如是,并且source files均存在,则执行下面的command.., 跳过command检查target file2. 最后回朔。生成我们最终的目标文件。

原创粉丝点击