GNU make manual 翻译(六十三)

继续翻译

   After the first expansion phase the prerequisites list of the 'myfile' target will be `onefile' and `$(TWOVAR)'; the first (unescaped) variable reference to ONEVAR is expanded, while the second (escaped) variable reference is simply unescaped, without being recognized as a variable reference.  Now during the secondary expansion the first word is expanded again but since it contains no variable or function references it remains the static value `onefile', while the second word is now a normal reference to the variable TWOVAR, which is expanded to the value `twofile'.  The final result is that there are  two prerequisites, `onefile' and `twofile'. 

 当第一次的扩展阶段结束后,myfile 目的会是:onefile  $(TWOVAR)

对第一个变量 ONEVAR 的反转义,进行了扩展,

然而,对跌入个变量仅仅是进行了一次反转义,并没有人为它就是一个变量参照。

现在,在二次扩展中,第一个词(onefile)依然会被扩展,但是它已不含有变量或者函数参照,所以它保持为静态的 onefile。 而跌入个但是现在是一个正常的,对变量 TWOVAR 的参照了,它会被扩展为 twofile。

最后的结果是,出现两个前提条件: onefile 和 twofile。 

后文待续

posted @ 2012-09-17 11:56  健哥的数据花园  阅读(163)  评论(0编辑  收藏  举报