我有一些C++類,每一個到自己的文件夾生成文件,TEST.CPP用於測試目的等如何將makefile包含到其他makefile中?
Main folder
|-> Class1 folder
|-> Class2 folder
|-> Class2.1 folder
|-> Class2 folder
我有一個主要項目,必須包括這些類。我試圖將所有的子makefile包含到主makefile中。
我有tryed「INCLUDE POO/Makefile文件」,但這種解決方案有2個問題:
- 子makefile文件的路徑不正確,所以都沒有找到文件(「沒有規則,以建立目標'Vector3D.cpp'「)。
- 的「TEST.CPP」文件overrided,可能是因爲路的問題(「警告:壓倒一切的配方目標......」)。
我想獨立於所有makefile文件,所以我可以複製/經過類文件夾到一個新的項目,它仍然工作,或者我可以單獨執行makefile而不用改變它。
所以問題是:如何正確地將makefile包含到其他makefile中?
示例,僅用於測試目的。
主要生成文件(簡化的)
include Vector3D/makefile
include Color/makefile
CPP = g++
CXXFLAGS = $(CXXINCS) -Wall -O0
all: main
main: main.o Vector3D.o Color.o
$(CPP) main.o Vector3D.o Color.o -o main
main.o: main.cpp
$(CPP) -c main.cpp -o main.o $(CXXFLAGS)
子生成文件例子(簡化的)
#Vector3D
CPP = g++
CXXFLAGS = $(CXXINCS) -Wall -O0
all: test
test: Vector3D.o test.o
$(CPP) Vector3D.o test.o -o test
Vector3D/test.o: test.cpp
$(CPP) -c test.cpp -o test.o $(CXXFLAGS)
Vector3D.o: Vector3D.cpp Vector3D.hpp
$(CPP) -c Vector3D.cpp -o Vector3D.o $(CXXFLAGS)
爲彩色/生成文件比的Vector3D
感謝您的回答,我已經寫了與我所使用的解決方案的答案 –