過去に 2 回、GNU make が私の作業を台無しにしてしまいました。これは、その組み込みルールの一部が.c
ターゲットとしてファイルを持っているためです。
というファイルとfoo.c
、foo.l
Lex スキャナーまたはfoo.y
Yacc パーサーがある場合は、注意してください。GNU make は、ファイルがこれらから作成されたターゲットであると想定し.c
(これは明らかに POSIX 要件です!)、mv y.tab.c foo.c
orのようなことを行いますlex -t foo.l > foo.c
。
有用なルールを維持しながら、そのような隠された危険なルール (既知または未知にかかわらず) をすべて無効にする方法は何ですか?
具体的には、GNU Make にこの要求をどのように与えることができますか?