NMake Optional Dependencies

NMake Optional Dependencies

本文关键字:Dependencies Optional NMake      更新时间:2023-10-16

我们目前正在使用NMake将我们的旧构建系统从一堆批处理脚本升级到一个makefile系统。这是一个挑战,因为我们使用一种自定义的中间语言,最终被翻译成c++,我们的一些翻译人员可以生成10多个文件名中有共同部分的文件。另一个具有挑战性的事情是,我们使用一堆CSV文件来配置我们的接口,这些文件被传递到我们的配置工具,从而生成更多的源代码文件。现在,我专注于为我们的配置文件创建简单的规则,但如果存在依赖项,我似乎找不到将依赖项与规则关联起来的方法。我尝试使用$(通配符xxx.csv),但发现这个命令不存在于NMake中,就像它不存在于GNU Make中一样。

那么我怎么能创建我的规则,使它执行和运行我的命令,如果我有两个依赖csv文件,将始终存在和第三个csv文件,将只存在当我的项目调用它?

[. .只有在我的项目需要时才会存在?

这有点不清楚。假设有一个命令(取决于某些外部环境)可能生成第三个csv文件,您可以使用"stamp file"(我认为他们在NMAKE中称之为"伪目标"):

stamp:
    command_that_might_generate_csv3
    touch stamp # updates timestamp of "stamp" (or creates it)
target: csv1 csv2 stamp
    command_using_all_of csv1 csv2 csv3