我希望能夠將我的bin和我的代碼文件拆分到不同的目錄中,因爲它變得很難在當前狀態下管理。Makefile如何爲源代碼和二進制文件使用不同的目錄?
我非常想有
project_dir
|-Makefile
|-run_tests.sh
|
|__source
| |-program1.cpp
| |-program2.cpp
|
|__bin
|-program1
|-program2
但是我不能得到這個我目前的系統工作,而無需手動編寫出來的規則,每個程序(請記住,每一個程序是單獨的程序,而不是一系列物體連接在一起)
#Current make system
BIN=./bin/
SOURCE=./source/
LIST=program1 program2...
all: $(LIST)
%: $(SOURCE)%.cpp
$(CC) $(INC) $< $(CFLAGS) -o $(BIN)[email protected] $(LIBS)
這個工程除了它我無法看到目標在當前路徑,因此認爲它總是重建的二進制文件,即使源文件沒有改變。
我現在唯一的想法是寫一個程序來生成一個makefile,但我不想這樣做。使用automake
:
傳統的方法是調用源目錄'src',在那裏建立二進制文件,並有一個單獨的步驟'安裝',其中二進制文件被複制到'bin'目錄 - 甚至還有一個特殊的實用程序'安裝'來做到這一點。 – reinierpost 2012-02-07 19:23:12