递归nmake目标
Posted
技术标签:
【中文标题】递归nmake目标【英文标题】:Recursive nmake target 【发布时间】:2009-05-13 02:53:51 【问题描述】:当通过 $(MAKE) 宏递归调用 nmake 时,如何将命令行中指定的目标传递给新实例?
所以,假设我从命令行执行以下操作:
c:\n清理
我希望对 nmake 的递归调用将“干净”目标传递给新的 nmake 实例。
【问题讨论】:
【参考方案1】:你可以这样写规则:
clean all:
cd dir1 && $(MAKE) $*
cd dir2 && $(MAKE) $*
$* 将替换为目标名称(本例中为“clean”或“clean”)
【讨论】:
只是为了评论一个副作用。如果没有指定目标,它将首先运行干净,然后继续运行所有。有效地作为重建。【参考方案2】:我不确定我是否理解这个问题,但您通常具有规则,因为您执行了 makefile 的特定部分,例如:
clean:
cd dir1 && $(MAKE) clean
cd dir2 && $(MAKE) clean
all:
cd dir1 && $(MAKE) all
cd dir2 && $(MAKE) all
如果您的 makefile 中有一些其他设置,最好将其发布,以便我们进行更好的分析。
【讨论】:
以上是关于递归nmake目标的主要内容,如果未能解决你的问题,请参考以下文章
算法递归算法 ② ( 使用递归实现二分法 | if else 编码优化 )