GNU make manual 翻译(七十二)

继续翻译

   Note that the directory prefix (D), as described in *note Implicit Rule Search Algorithm: Implicit Rule Search, is appended (after expansion) to all the patterns in the prerequisites list.  As an example:                        
                        
     .SECONDEXPANSION:                        
                        
     /tmp/foo.o:                        
                        
     %.o: $$(addsuffix /%.c,foo bar) foo.h                        
                        
   The prerequisite list after the secondary expansion and directory prefix reconstruction will be `/tmp/foo/foo.c /tmp/var/bar/foo.c  foo.h'.  If you are not interested in this reconstruction, you can use `$$*' instead of `%' in the prerequisites list.                        

请注意目录前缀 (D), 与此有关的说明在 *note Implicit Rule Search Algorithm: Implicit Rule Search。此前缀会追加到(扩展后)所有 前提条件列表的模式中。如:

        .SECONDEXPANSION:

         /tmp/foo.o:

         %.o: $$(addsuffix  /%.c , foo bar) foo.h

经过二次扩展和目录前缀重新构建后,前提条件列表将会变成:

     /tmp/foo/foo.c  /tmp/var/bar/foo.c  foo.h

如果你对这种重新构建不感兴趣,你可以用 $$* 来带前提条件列表中的 %。

后文待续

原文地址:https://www.cnblogs.com/gaojian/p/2690051.html