我通常使用这一行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.' –