Makefile简单使用

Make

Make是构建C程序的强大工具,参考:《GNU Make项目管理》
http://shop.oreilly.com/product/9780596006105.do

要是有工具能自动重新编译那些修改过的源文件就好了。

0、make是一个可以替你运行编译命令的工具。

make会检查源文件和目标文件的时间戳,如果目标文件过期,make就会重新编译。
对于每个目标,make需要知道两件事:
(1)依赖项:生成目标需要哪些文件
(2)生成方法:生成该文件要用哪些指令。

launch.o: launch.c launch.h thruster.h
    gcc -c launch.c
thruster.o: thruter.h thruster.c
    gcc -c thruster.c
launch: launch.o thruster.o
    gcc launch.o thruster.o -o launch

注:生成方法必须以tab开头,如果用空格缩进,就无法生成程序。

1、变量:

    CFLAGS = -Wall –Wextra –v
    fred:fred.c
        gcc fred.c $(CFLAGS) –o fred

2、使用%、^ 和 @

很多编译命令看起来都很像:

fred: fred.c
        gcc fred.c –Wall –o fred

这是可以用%符号写一条更通用的“目标/生成方法”:

%: %.c               #假设你想根据<文件>.c创建<文件>
    gcc $^ -Wall –o $@      # $^ 是依赖项的值,  $@是目标的名字

3、隐式规则

Make工具对编译过程一清二楚,即使你不告诉它如何构建文件,它也可以使用隐式规则自行构建。例如,你有一个叫fred.c的文件,但没有makefile,可以用以下命令编译:

make file

关于make的更多信息:
http://www.gnu.org/software/make/

猜你喜欢

转载自blog.csdn.net/zyx_0604/article/details/77397053
今日推荐