2011-07-02 36 views
0

目前,由於某些意外的遞歸以及必要的文件名集合,我遇到了makefile問題。我想在我的項目的根文件夾中遞歸調用一個Makefile,並且應該通過每個可能的子文件夾(及其子文件夾...),目標是收集所有文件並將它們寫入變量以用作「目標「或依賴文件。遞歸Makefile - 將變量傳遞給根Makefile

例如:/Makefile經過/Source/Source/Boot並且發現/Source/Boot/Boot.s( - 因此>一個目標是/Source/Boot/Boot.o),並且它的推移與/Source/Kernel並且發現/Source/Kernel/Foo.c( - >第二目標因此/Source/Kernel/Foo.o)。我可以在子文件夾中的Makefiles中編譯這些文件,但是當我的根Makefile返回到根目錄時,我需要將它們鏈接起來。

所以問題是,我怎樣才能足夠地將這些目標文件的路徑傳遞給根makefile來鏈接它們?

+3

查看http://miller.emu.id.au/pmiller/books/rmch/,並開始沒有遞歸的makefiles – Mark

+0

@Mark:任何想法如何我可以更合適地解決這個問題? –

+0

@Mark,看起來像一個不好的鏈接。 – ThomasMcLeod

回答

2

遞歸調用的makefiles無法將信息傳遞迴其調用者(除非您訴諸黑客,就像使用外部文件收集對象文件名一樣)。看看Mark的鏈接。它展示了一種組織項目的方式,以可維護的方式做你想做的事。