如何让 autoconf 和 automake 共享一个关于如何编译某些类型文件的规则?

How do I make autoconf and automake share a rule for how to compile certain types of files?

我在一个用 SpecC 语言编写的项目中大量使用 autotools。我需要找到一种方法让我的构建树中的所有 Makefile.ams 共享相同的 .sc 文件构建规则,以便在它们上使用 'scrc' 编译器。我很忙在 Google 或 Stack Overflow 上寻找这方面的例子,所以我想我会问自己 SO。

没有完全自动的方式来分享这样的规则。不过,您确实有一些选择。

一种选择是不使用递归构建。也就是说,有一个 Makefile.am (可能使用 Automake 的 include%reldir% 功能来允许更简单的子目录维护),并将您的规则放在那里。这种构建风格通常速度更快,并行化效果更好,带来更多好处。

另一种选择是将您的规则放入单独的文件中,然后 include 来自每个需要它的 Makefile.am