2012-02-07 70 views
4

嘗試瞭解EDE如何工作,通過使用它爲 生成Makefile以創建包含特定 層次結構下多個目標的項目目錄。我沒有任何運氣,信息頁似乎並沒有 回答我的問題。Emacs CEDET EDE非平凡項目設置

我的目錄結構看起來像: (星號(*)標記包含的main()函數的文件)

research/ 
    flow/ 
    flow.cpp 
    flow.hpp 
    program.cpp * 

    samples/ 
    sample1.yuv 

    utils/ 
    yuvreader.cpp 
    yuvreader.hpp 

    tests/ 
    yuvreader_test.cpp * 

我想有一個或多個子項目創建EDE項目(S);或者我可能只想要一個或多個目標......?

flow的program.cpp需要flow /和utils/sources,但是yuvreader_test 只需要utils/sources。

我在根目錄和所有子目錄中都做了ede-new。我也在根目錄中做了ede-new-target,但是當在子目錄中添加源文件時,它不能識別我創建的目標。

我將不勝感激,如果有人可以指向我一些更復雜的 Project.ede文件,我想要做的事情。你可以猜到 ,我有更多的子目錄包含類代碼文件,其中一些 有獨立的程序使用該代碼;我還有更多的測試代碼 /。任何示例文件/命令工作流程將被 讚賞。

回答

2

生成Makefile或Automakefiles的EDE功能比Make或Automake有更多的約束。例如,屬於目標的文件必須與包含目標的項目位於同一目錄中。在你的例子中,你的根目錄中可能沒有項目。

爲了使多個源在一起成爲一個單獨的程序,一個簡單的機制是使每個子目錄創建一個歸檔(.a)或共享庫(。所以),其在程序鏈接在一起。

如果這太過於束縛,您也可以編寫自己的automake文件,EDE將直接讀取這些文件,以便根據需要進行更復雜的構建過程。

的CEDET分配使用EDE作爲其構建過程,所以你可以看到,作爲一個複雜的例子。它不會生成C++文件,所以它可能沒有你想要的那麼有用。

+0

不幸的是,我認爲這是事實。感謝您的解釋;儘管我不願意,但我會接受這個答案。我希望看到頂層結構的類型實現到EDE的未來 - 節省了我的時間從編寫CMakeLists或automake的文件等 – assem 2012-02-09 05:00:10

+1

由於最近的類似EDE項目大量涌入的問題,我創建了一個快速入門節描述具有包含目錄和共享庫的基本項目的手冊。自動生成的版本在這裏:http://www.randomsample.de/cedetdocs/ede/ede/Quick-Start.html – Eric 2012-02-24 04:58:53