设为首页 加入收藏

TOP

3.6.6 让make自动推断命令
2013-10-12 06:50:09 来源: 作者: 【 】 浏览:73
Tags:3.6.6 make 自动 推断 命令

3.6.6  让make自动推断命令

我们并不需要为编译每个C源程序而在规则中给出相关命令,因为make自身能够判断出来:它有一个隐含规则,该规则会根据目标文件的命名形式使用"cc -c"命令根据相应的.c文件更新对应的.o文件。例如,它会使用命令"cc -c main.c -o main.o"把"main.c"编译成"main.o"。因此我们可以省略.o目标文件规则中的命令。

当一个.c文件被以这种方式自动地使用,那么它也会被自动地添加到先决条件(依赖关系)中。因此我们可以省略规则先决条件中的".c"文件--假定我们同时省略了命令。

下面是包括这两种改变和使用了变量的完整Makefile例子:

objects = main.o kbd.o command.o display.o insert.o search.o files.o utils.o
edit : $(objects)
cc -o edit $(objects)
main.o : defs.h
kbd.o : defs.h command.h
command.o : defs.h command.h
display.o : defs.h buffer.h
insert.o : defs.h buffer.h
search.o : defs.h buffer.h
files.o : defs.h buffer.h command.h
utils.o : defs.h
clean :
-rm edit $(objects)

这就是我们平时实际编写Makefile文件的样式。因为隐含规则使编译工作变得很方便,所以很重要。我们会经常使用它们。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.6.7 隐含规则中的自动变量 下一篇3.6.5 Makefile中的变量

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: