0
我有一個名爲code/
的文件夾,它有幾個.cpp
文件,都需要編譯到它們的.o
版本並放入object/
文件夾中。我有一些問題,確定正確的變量名...如何將值附加到makefile中變量的開頭?
首先,我定義的一些路徑:
OBJPATH=object#All compiled .o files need to be placed here.
CODEPATH=code#All .cpp and .hpp header files reside here.
然後,我嘗試提取所有從代碼路徑文件名的:
SRC=$(wildcard $(CODEPATH)/*.cpp)
然後,SRC的值爲code/A.cpp code/B.cpp code/C.cpp
。我想擺脫code
前綴,最後用$(OBJPATH)
代替它,它的計算結果爲object/
。我最初嘗試這樣的:
TMP=$(SRC:.cpp=.o)
OBJ=$(TMP:$(CODEPATH)=$(OBJPATH))
但是,事實證明,這並不工作,因爲$(var:a=b)
功能將只在變量結束替換字符串,而不是在任意點。
如果我能找到一種方法來擺脫code/
前綴,我的問題就會消失,那麼我該怎麼做呢?