我通常使用這一行OBJECTS = $(SOURCES:.cpp=.o)
將源文件中的.cpp擴展名替換爲.o擴展名。 我的項目現在有.c擴展名和.cpp文件。如何修改該行以使其替換.o和.cpp的所有.o擴展名?Makefile中的替換文件名
我不喜歡像下方的兩行的解決方案:
OBJECTS_TMP = $(SOURCES:.cpp=.o)
OBJECTS = $(OBJECT_TMP:.c=.o)
我想是這樣
OBJECTS = $(SOURCES:(.cpp|.c)=.o)
甚至
OBJECTS = $(SOURCES:.*=.o)
這是可能的和如何?謝謝!
粗略估計,但沒有測試它:'$(SOURCES:.c = .o:.cpp = .o)'? –
@NiklasR'$(SOURCES:.c = .o:.cpp = .o)'給了我多***個目標模式。 Stop.'和'$(SOURCES:.cpp = .o:.c = .o)'給出'***目標模式不包含'%'。 Stop.' –