就像标题所说,我只想在某个文件不存在的情况下创建一个依赖项,而不是每次更新时。Makefile - 只在文件不存在的情况下依赖项
我有一个根目录(带有makefile的目录),并在其中有一个名为“example”的子目录。在我的根目录中有四个.h文件(functions.h,parser.h,node.h和exception.h),如果这些.h文件不存在,我想将它们复制到“example”子目录在“例子”中。
不幸的是,我不能只是制作一个标准的依赖关系来检查“示例”中的头文件,因为每次我将头文件从根文件复制到“示例”时,“示例”中的头文件将被视为更新并且每次运行make时都会触发该依赖项。我想要一种方法让makefile将头文件从根目录复制到“example”,但前提是它们不存在于“example”中。
该手册是非常,非常清楚的是自动变量(如'$ @')是配方中有效_only_。你不能在目标,先决条件或make条件语句中使用它们(因为在读入makefile时扩展了它们)。在这些情况下,'$ @'展开为空字符串。 – MadScientist
我明白了,但是因为我附加了“example /”,所以ifeq()仍然会评估为false。谢谢你清理那个。我编辑了我的帖子,专注于剩下的问题。 – Daniel