2014-10-22 131 views
0

如何使用生成中間文件和輸出文件的獨立目錄以外的源代碼生成c項目?使用make文件在c中的單獨目錄中生成輸出文件

當前我生成文件的形式是

CC = g++ 

LDLIBS = -lm 

all: test_makefile 

test_makefile: file1.o file2.o file3.o file4.o test_makefile.o 
clean: 
    rm test_makefile *.o 

我想生成/ build目錄,這些中間文件。 任何人都可以幫我修改這個make文件嗎?

+0

您是否嘗試過簡單更改相對路徑? './build/ {name}' – 2014-10-22 04:14:54

+0

make:***目標'build/file1.o'沒有規則,'test_makefile'需要。停止。 這是結果,當我改變路徑./build/{name} – Shihab 2014-10-22 04:22:02

回答

1

您可能需要考慮將Automake(https://www.gnu.org/software/automake/)用於具有獨立源代碼和編譯目錄的大尺寸項目。

如果沒有automake,並且考慮到默認編譯器在CWD中生成輸出文件,您可以簡單地在build目錄中創建makefile。以下是一個使用../作爲源目錄的示例:

all: foo 
foo: ../x.cc 
    $(CXX) $< -o [email protected] 
+0

感謝重播 我是一個新手製作 你能幫我改變我的makefile嗎? 我真的不明白../x.cc $(CXX)$ <-o $ @這些符號 – Shihab 2014-10-22 04:31:07

+0

我們是否需要x.cc或x.c? – Shihab 2014-10-22 04:32:17

+0

我正在嘗試爲小型項目創建makefile,有沒有任何選項可以用一個簡單的makefile來創建CWD以外的中間文件? – Shihab 2014-10-22 04:36:28

相關問題