我在 IAR Workbench 中有一个项目,需要自定义构建步骤来构建中间文件;该文件是由一组具有公共扩展名的其他文件组合而成的(即,对于特定领域语言的输入文件有一个中间链接步骤)。
在我看来,“自定义工具”一次只能处理一个输入文件;这是真的,还是需要设置一个复选标记,以便所有与扩展名列表匹配的文件都在一次运行中传递?
不支持一次可以使用多个源文件的自定义构建步骤。自定义构建步骤的工作方式类似于编译器,而不是链接器。
将具有共同扩展名的文件放入它们自己的组文件夹中。右键单击组文件夹并选择选项,自定义构建,覆盖继承的设置。
然后,您可以使用“make”程序通过将这些文件名放入 make 执行的文件中,从所有辅助源文件生成中间文件。
是的,将为每个文件运行 make,但由于中间文件在第一次迭代后将比所有辅助源文件更新,因此在为每个剩余的辅助源文件调用时它不会做太多。
不完美,但应该可以。缺点是管理列出所有输入文件的文件以创建您需要的中间文件。
在较新的工作台版本(我检查了 EWARM 7.60 和更新版本)中,自定义构建步骤接受工具输入和输出的文件列表。这些文件列表都被添加到内部依赖树中。
自定义构建步骤的文件扩展名不一定需要匹配“真实”生成的文件。您还可以使用“假”文件(例如dummy.step
)来运行带有外部批处理文件的外部工具,然后该批处理文件会立即向该工具提供所有必要的文件。
这种方法的缺点是,您需要手动管理文件列表两次(在工具的外部批处理文件中和在正确依赖树的构建步骤配置中)。