两次在过去,GNU使已经毁了我的工作,因为它的一些内置的规则有.c
文件作为目标。GNU品牌:禁用所有内置的规则,除了那些期望
如果您有一个名为foo.c
的文件,并且还有一个foo.l
Lex扫描仪或foo.y
Yacc解析器,请小心! GNU化妆假定.c
文件从这些做了一个目标(这显然是一个POSIX的要求!),它将会做这样的事情mv y.tab.c foo.c
或lex -t foo.l > foo.c
。
什么是禁用所有这些隐藏的,危险的规则(无论是已知或未知的),同时保持有用的方式?
具体而言,我们怎么可以给这个请求GNU品牌:“请保留所有相关的(例如).c和.o文件的规则,并禁止其参与任何其他文件类型的所有规则”?
啊,我明白了。我已经在尝试'SUFFIXES',但我只有第二行'.SUFFIXES:.c .o',它增加了设置而不是替换它。谢谢。 – Kaz
另外,你可以用'-Rr'调用_make_(你只需要其中的一个,但我通常会忘记它) – bobbogo