ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
下面解释make是如何工作的:当遇到目标体clean时,make先查看其是否有依赖体,因为clean没有依赖体,所以make认为目标体是最新的而不执行任何操作.为了编译这个目标体,必须输入make clean.

然而,如果恰巧有一个名为clean的文件存在,make就会发现它.然后和前面一样,因为clean没有依赖体文件,make就认为这个文件是最新的而不会执行相关命令.为了处理这类情况,需要使用特殊的make目标体.PHONY. .PHONY的依赖体文件的含义和通常一样,但是make不检查是否存在有文件名和依赖体中的一个名字相匹配的文件,而是直接执行与之相关的命令.在使用了.PHONY之后,前面的例子如下:
howdy: howdy.o helper.o helper.h
    gcc howdy.o helper.o -o howdy
helper.o: helper.c helper.h
    gcc -c helper.c
howdy.o: howdy.c
    gcc -c howdy.c
hello: hello.c
    gcc hello.c -o hello
all: howdy hello
.PHONY : clean
clean:
    rm howdy hello *.o
posted on 2005-08-04 21:52 ivaneeo 阅读(312) 评论(0)  编辑  收藏 所属分类: GNU牛力

只有注册用户登录后才能发表评论。


网站导航: