2009-06-11 54 views
1

過去幾天我一直在使用autotools工具,最後取得了重大進展。我遇到的一個問題是我有兩個庫需要在主應用程序代碼之前編譯。我不太清楚如何做到這一點。我的目錄結構如下,也是我的configure.ac中的一個片段。Autoconf在應用程序之前編譯依賴關係

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

我需要CSV/Makefile文件gtkworkbook/Makefile文件到兩個前的src/Makefile文件進行編譯;有什麼方法可以指定這個嗎?現在,我正在獲取關於庫(csv)在應用程序編譯過程中不存在的錯誤。

回答

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 
]) 
+0

即你需要 SUBDIRS = CSV gtkworkbook SRC (是的,我是鍵入答案爲安東尼做了他!) – dajobe 2009-06-11 22:12:59

相關問題