2014-05-02 22 views
2

由于幼儿园的每个孩子都知道,递归做成是一件非常糟糕的事情。如何automake不递归包?

我非常清楚如何通过使用包含语句和目录堆栈来正确处理大型非递归但良好分布的GNU Make项目。

我是autotools的新手,现在我正在尝试使用上述知识,对autotools和Linux包执行相同的操作。

Automake的手册说

“的Automake提供足够的跨目录支持2到让你写一个Makefile.am一个复杂的多目录包”

大...但是,这是毫无意义的不是吗?

我当然有多个软件包,而非非递归automake设置的重点是,不要递归这些软件包。因此,就像GNU Make的情况一样,有一个顶级Makefile.am包含特定于各个包的片段。

但是,当然,我仍然想要多个包,就像我通常会用(坏)递归设置一样。

用一个好的非递归设置替换不良的递归设置,应该意味着保持原样,而不是“用一个大包替换所有包”。

是否可以设置非递归automake,而不破坏之前递归设置中找到的以前的目标和目标?

回答

1

我想你宁愿Karel's approach to non-recursive automake而不是mine

一般来说,要回答你的问题是找出你的意思是“包”这个词,因为make没有这样的概念。如果你的意思是通常被称为“模块”的东西,即源代码和构建文件都存在的子目录,那么肯定有可能用Karel的方式完成非递归automake

如果你指的是东西,可以是单独再分配,然后组合在一起打造,那么答案是否定的,有没有这样的方式automake这样做,因为有一个整点构建树就是你有一个单独的分发包,直到make dist会为你创建压缩包。