下我的C的目錄結構++項目
編譯,利用makefile所有CPP文件MinGW的
/..
makefile <- the makefile is in root
/include <- subdirectory that has to be included while compiling
/obj <- target place for all *.o and final executable
/src <- sources
而且我目前的Makefile:
CC=g++
CFLAGS=-c -Wall -std=c++11
INC=-Iinclude
SRC=src
TGT=obj
all: myapp
myapp: myapp.o
$(CC) $(TGT)/myapp.o -o $(TGT)/myapp
myapp.o:
$(CC) $(CFLAGS) $(INC) $(SRC)/myapp.cpp -o $(TGT)/myapp.o
clean:
rm -rf $(TGT)
mkdir $(TGT)
這個工作對我的第一個文件。我是一個總的makefile新手 - 請幫我編譯/src
目錄下的所有文件,並將它們鏈接到/obj
目錄中的可執行文件。
的Makefile有Windows下工作,我使用MinGW和MSYS
'-Idir'部分可以參數化嗎?你的解決方案看起來簡潔。有兩件事要改變:make-script應該將'* .o'和最終的可執行文件都放在TGT目錄中...... – emesx
你對參數化有什麼意義?當然,你可以把它放在一個單獨的變量中,並把這個變量加到'CXXFLAGS'中。查看修改後的答案 –
@elmes請嘗試修改後的'Makefile',我調整了單獨的目標目錄。 –