Обычно я использую эту строку OBJECTS = $(SOURCES:.cpp=.o)
, чтобы заменить расширение .cpp файлов в SOURCES на .o расширение. У моего проекта теперь есть файлы с расширением .c вместе с .cpp. Как изменить эту строку, чтобы она заменила все расширения .c и .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)' дает '*** шаблон цели не содержит'% '. Стоп. ' –