我有一个makefile调用一个python脚本,它与makefile位于同一个目录中。它工作得很好。
在生成文件#1:从另一个目录中的makefile调用python脚本
auto:
./myscript.py
现在,我还有一个Makefile文件,在另一个目录,并希望从中调用第一个生成文件。 在生成文件#2:
target:
cd $(DIR); $(MAKE) auto;
的问题是,在脚本运行时,它运行似乎是在同一个目录的生成文件#2。在标准输出上,在执行make之后和脚本运行之前,我看到“make [3]:离开目录”和到#1的路径。
在一个建议,我试过修改生成文件#2:
target:
(cd $DIR; $MAKE auto;)
但是这解释为 “CD IR; AKE自动”。当我替换DIR和MAKE的括号时,我会得到和以前一样的行为。
我试着修改python脚本,让它假设它是在目录#2中,并给它的路径#1,但行为不会改变。
发生了什么,我该怎么办?
更新: 我下面的评论搞砸代码格式化所以它在这里:
我想这一点,并得到了你的描述基本上是什么。可能与target自动调用“makefile.rules”文件有什么关系?
auto:
@echo this is makefile \#1 making [email protected] in $(PWD)
FLAG=1 $(MAKE) -f makefile.rules rulestargetA