应用程序之前的Autoconf依赖编译

时间:2009-06-11 21:39:30

标签: makefile autotools autoconf automake

过去几天我一直在使用autotools,最后取得了重大进展。我遇到的一个问题是我有两个库需要在主应用程序代码之前编译。我不太清楚如何做到这一点。我的目录结构在下面,也是我的configure.ac的一个片段。

AC_CONFIG_FILES([Makefile
         src/Makefile
         gtkworkbook/Makefile
         csv/Makefile])
AC_OUTPUT

我需要在 src / Makefile 之前编译 csv / Makefile gtkworkbook / Makefile ;有没有办法指定这个?现在我收到关于在应用程序编译过程中不存在的库(csv)的错误。

1 个答案:

答案 0 :(得分:4)

AC_CONFIG_FILES()中的项目顺序不会影响构建顺序。如果您正在使用我认为是的automake,它将按照您在每个Makefile.am的SUBDIRS列表中列出目录的顺序遍历您的目录树。

话虽如此,您应该让AC_CONFIG_FILES()中的项目顺序镜像构建顺序,以保持一致性/可维护性。

如何以所需顺序构建Makefile.am的SUBDIRS:

SUBDIRS = csv gtkworkbook src

此外,对于这种简单的情况,您不需要AC_CONFIG_FILES()和AC_OUTPUT()。您可以将列表目录传递给AC_OUTPUT():

AC_OUTPUT([
    Makefile
    src/Makefile
    gtkworkbook/Makefile
    csv/Makefile
])