Makefile.am 到 运行 脚本(如果源文件已更改)
Makefile.am to run script if source file changed
我有一个文本文件 input.in 和一个 shell 脚本 input.sh 生成其中有几个 .cpp 和 .h 文件。
我希望在构建任何目标之前 input.sh 到 运行 但前提是 input.in 已更改或缺少要生成的源文件。
在Makefile.am中有没有办法做到这一点?
最简单的方法是使用BUILT_SOURCES
。参见 the relevant page of the manual。
基本思想是 BUILT_SOURCES
列出必须预先计算的源文件 -- 那些普通的自动依赖关系跟踪无法识别的文件。这些源将在常规编译完成之前构建。
然后,您需要一个规则来实际创建这些来源。一个想法可能是:
BUILT_SOURCES = something.c
$(BUILT_SOURCES): input.sh input.in
$(srcdir)/input.sh -o $@
我有一个文本文件 input.in 和一个 shell 脚本 input.sh 生成其中有几个 .cpp 和 .h 文件。
我希望在构建任何目标之前 input.sh 到 运行 但前提是 input.in 已更改或缺少要生成的源文件。
在Makefile.am中有没有办法做到这一点?
最简单的方法是使用BUILT_SOURCES
。参见 the relevant page of the manual。
基本思想是 BUILT_SOURCES
列出必须预先计算的源文件 -- 那些普通的自动依赖关系跟踪无法识别的文件。这些源将在常规编译完成之前构建。
然后,您需要一个规则来实际创建这些来源。一个想法可能是:
BUILT_SOURCES = something.c
$(BUILT_SOURCES): input.sh input.in
$(srcdir)/input.sh -o $@