过去几天我一直在使用autotools,最后取得了重大进展。我遇到的一个问题是我有两个库需要在主应用程序代码之前编译。我不太清楚如何做到这一点。我的目录结构在下面,也是我的configure.ac的一个片段。
AC_CONFIG_FILES([Makefile
src/Makefile
gtkworkbook/Makefile
csv/Makefile])
AC_OUTPUT
我需要在 src / Makefile 之前编译 csv / Makefile 和 gtkworkbook / Makefile ;有没有办法指定这个?现在我收到关于在应用程序编译过程中不存在的库(csv)的错误。
答案 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
])