我的Makefile.am
包含一个文件(带有各种定义的变量),例如:
include make.config
...
问题是这个文件又是由一个工具(即config.generator.sh
)基于一些输入文件(即input.dat
)生成的。直接和错误的想法是添加一个规则来生成make.config
:
make.config : input.dat
config.generator.sh input.dat > make.config
include make.config
...
尽管此内容在automake
没有automake
. 该make.config
文件automake
在我什至有机会执行之前就被包含make
(并且由于文件尚未生成而失败):
automake: cannot open < make.config: No such file or directory
有没有办法将include
指令make
的效果推迟到运行(可能通过使用另一个指令)?
可能有一种方法可以在生成任何生成文件之前简单地运行任意命令(即AC_CONFIG_COMMANDS*
)。但问题更复杂,因为config.generator.sh
它应该使用在同一构建过程中又生成的可执行文件(因此存在逻辑上必须由来自同一项目的 makefile 管理的依赖链)。文档只是确认了逻辑而没有提供替代方案。