作为构建过程的一部分我需要使用m4处理一些文件。这些文件以'.in'为扩展名,不仅位于顶级目录中,而且位于子目录中。 我使用find找到它们并在shell循环中处理它们。在makefile中使用m4处理文件
是否有一些makefile语法魔术来编写更简单的规则来处理它们将输出保存到与输入文件相同的目录中的文件(剥离'.in'扩展名)?
这是我在我的Makefile现在:
PROCESS_FILES=$(shell find . -name \*.in)
WORK_FILES=$(subst .in,,$(PROCESS_FILES))
$(WORK_FILES): $(PROCESS_FILES)
for file in $(PROCESS_FILES); \
do \
m4 $$file > $${file%.*};\
done
答案可能是的,但我们中的一些人对m4并不熟悉。你可以显示你现在使用的(最小)makefile吗? – Beta 2012-08-09 11:12:42
嗨,我添加了我当前生成文件的相关部分 – jira 2012-08-09 12:03:45