Chinaunix首页 | 论坛 | 博客
  • 博客访问: 581638
  • 博文数量: 213
  • 博客积分: 6789
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 17:11
文章分类

全部博文(213)

文章存档

2012年(9)

2011年(62)

2010年(99)

2009年(43)

分类: 嵌入式

2009-09-01 18:17:01

还有一个在“嵌套执行”中比较有用的参数,“-w”或是“--print-directory”会在make 的过程中输出一些信息,让你看到目
前的工作目录。比如,如果我们的下级make 目录是“/home/hchen/gnu/make”,如果我们使用“make -w”来执行,
那么当进入该目录时,我们会看到:
make: Entering directory `/home/hchen/gnu/make'.
而在完成下层make 后离开目录时,我们会看到:
make: Leaving directory `/home/hchen/gnu/make'
当你使用“-C”参数来指定make 下层Makefile 时,“-w”会被自动打开的。如果参数中有“-s”(“--slient”)或是
“--no-print-directory”,那么,“-w”总是失效的。


有一个 make 的环境变量叫“MAKECMDGOALS”,这个变量中会存放你所指定的终极目标的列表,如果在命令行上,你没有指定目标,那么,这个变量是空值。

sources = foo.c bar.c
ifneq ( $(MAKECMDGOALS),clean)
include $(sources:.c=.d)
endif
基于上面的这个例子,只要我们输入的命令不是“make clean”,那么makefile 会自动包含“foo.d”和“bar.d”这两个makefile。



阅读(1016) | 评论(0) | 转发(0) |
0

上一篇:Makefile Variable

下一篇:learning VIM

给主人留下些什么吧!~~