0
讓我有一個GNU Makefile中有兩個列表:牛羚有兩個文件列表
LIST1=file01.cpp file02.cpp file03.cpp ......
LIST2=file10.cpp file11.cpp file12.cpp .....
我想要編譯每個文件,但對於每個列表我要使用不同的標誌。
我可以爲每個文件指定一個規則。有沒有更好的辦法?
讓我有一個GNU Makefile中有兩個列表:牛羚有兩個文件列表
LIST1=file01.cpp file02.cpp file03.cpp ......
LIST2=file10.cpp file11.cpp file12.cpp .....
我想要編譯每個文件,但對於每個列表我要使用不同的標誌。
我可以爲每個文件指定一個規則。有沒有更好的辦法?
您可以在目標基礎上聲明make變量。所以:
LIST1=file01.cpp file02.cpp file03.cpp ......
LIST2=file10.cpp file11.cpp file12.cpp .....
OBJ1 = $(patsubst %.cpp,%.o,$(LIST1))
OBJ2 = $(patsubst %.cpp,%.o,$(LIST2))
$(OBJ1): CXXFLAGS = <flags-for-list1>
$(OBJ2): CXXFLAGS = <flags-for-list2>
all: $(OBJ1) $(OBJ2)
$(OBJ1) $(OBJ2): %.o: %.cpp
$(CXX) -c $(CXXFLAGS) $< -o [email protected]
可能接近你想要的。
謝謝。我沒有足夠的聲望來提高分數 –
但是,您可以接受答案,它也有助於將問題過濾爲「已答覆」。 –