通常情况下,我会正常递归:
recipe-X:
$(MAKE) recipe-Y
然而,在 MacOS 上我以不同的方式递归:
recipe-X:
ifeq ($(shell uname -s),Darwin)
colima ssh -- make $@
else
<recipe script>
endif
我应该使用$(MAKE)
,还是在这种情况下我真的应该使用make
?我不清楚在这种情况下这两种模式之间的区别,以及它们将如何相互作用。我的理解是 是$(MAKE)
一个将并行性、环境和其他问题传播给子 make 的宏……但我遇到了一些麻烦。
我注意到的是,通过传播环境变量,$(MAKE)
可能会破坏原本可以访问网络的命令。但是,使用普通的 ..commands 执行基于网络的命令时,我并没有成功,而当我进入并通过 调用时,这些命令确实有效。vm
make
ssh
vm
cli
因此,在深入研究并做一些过于聪明的事情之前,我认为可能有一种特殊的方法可以make
让我用它来达到这个目的。