2016-06-08 125 views
-1

我的路徑:如何使用make在特定目錄中創建目標?

./folder1/folder2/

我的生成文件位於文件夾1。

我的生成文件:在文件夾1生成

CC = g++ 
FLAGS = -o3 -std=c++11 

all: prng.o exec 

prng.o: ./folder2/prng.cpp 
    $(CC) $(FLAGS) -o [email protected] $< 

exec: prng.o 
    /$< 

prng.o。我希望它在folder2中生成。怎麼做?

+0

這還不清楚。 'foo.cpp'是一個源文件,它不會「創建」任何東西。 –

+0

對不起,我編輯了它 –

+0

這仍然沒有幫助 - 假設你的意思是一個實際的可執行文件(而不是一個目標文件),那麼它就是可執行文件將輸出寫入正確位置的責任。 –

回答

0
CC = g++ 
FLAGS = -o3 -std=c++11 

all: folder1/prng.o exec 

folder1/prng.o: folder2/prng.cpp 
    $(CC) $(FLAGS) -o [email protected] $< 

exec: prng.o 
    /$< 

順便說一句,你的C編譯器應該有一個C11二元,像/usr/bin/c11。這將讓你說,

CC = c11 
CFLAGS = -o3 

此外,通過使用CFLAGS(而不是標記),你不應該不得不提到它的配方。

相關問題