文件名称:隐含规则链-算法引论:一种创造性方法---高清版
文件大小:964KB
文件格式:PDF
更新时间:2024-06-23 16:09:24
Makefile 陈皓
四、隐含规则链 有些时候,一个目标可能被一系列的隐含规则所作用。例如,一个[.o]的文件生成,可 能会是先被 Yacc 的[.y]文件先成[.c],然后再被 C 的编译器生成。我们把这一系列的隐含 规则叫做“隐含规则链”。 在上面的例子中,如果文件[.c]存在,那么就直接调用 C的编译器的隐含规则,如果没 有[.c]文件,但有一个[.y]文件,那么 Yacc 的隐含规则会被调用,生成[.c]文件,然后, 再调用 C 编译的隐含规则 终由[.c]生成[.o]文件,达到目标。 我们把这种[.c]的文件(或是目标),叫做中间目标。不管怎么样,make 会努力自动推 导生成目标的一切方法,不管中间目标有多少,其都会执着地把所有的隐含规则和你书写的 规则全部合起来分析,努力达到目标,所以,有些时候,可能会让你觉得奇怪,怎么我的目 标会这样生成?怎么我的 makefile 发疯了? 第 67 页共 78 页 2005 年 10 月 14 日整理:祝冬华