找回密码
 注册
搜索

16.make之二(剖析makefile)

已有 102 次阅读2014-2-6 10:35 |个人分类:Linux编程| make, makefile, linux编程

Makefilemake命令依赖并读取的配置文件,它描述了编译整个项目的详细规划,为了让make命令得以识别,makefile文件遵循一定的格式,它通常包含以下内容:

(1)    需要由make命令创建的目标对象(targets),通常是目标文件或可执行文件。

(2)    要创建的目标对象所依赖的文件(dependent_files

(3)    创建每个目标对象时需要运行的命令(command

Makefile的一般格式为:

Targets …. :dependent _files….

(tab)command

……

例如,有两个文件分别为hello.chello.h,创建的目标体为hell.o,执行的命令为gcc编译指令“gcc –c hello.c”,则对应的Makefile可写为:

#This is a example for describing makefile

Hello.o: hello.c hello.h

       gcc –c hello.c hello.o

注意,在Makefile文件中的每个command命令前必须有制表符tab,否则在运行make命令时会出错。在Makefile文件所在的目录执行make命令,使用Make命令的格式为:make target,这样make命令就会自动解析Makefile文件并搜寻指定target后面的依赖文件dependent_files,当且仅当依赖文件都存在时才执行后面的command语句,否则需要先生成依赖文件,如下所示:

$ls

hello.c hello.h Makefile

cat Makefile

#This is a example for describing makefile

hello.o: hello.c hello.h

       gcc –c hello.c –o hello.o

$make hello.o

gcc –c hello.c –o hello.o

$ls

hello.c hello.h hello.o Makefile

$

可以看到,make命令执行了Makefile文件中目标对象hello.o对应的命令语句,并生成了目标对象hello.o


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 11:32 , Processed in 0.029265 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部