Я писал Makefile, который выполняет некоторую генерацию зависимостей, и мне пришлось дублировать правила, потому что (устаревшая) кодовая база содержит смесь .cpp
и .cc
файлы. Это кажется немного некрасивым. Можно ли каким-либо образом указать, что предварительные условия цели могут быть файлами .cpp
или .cc
?
Так что вместо того, чтобы иметь:
%.d : %.cpp
$(CPP) -MM $(CPPFLAGS) $<
%.d : %.cc
$(CPP) -MM $(CPPFLAGS) $<
Создать что-нибудь без дублирования, например:
%.d : %.(cpp | cc)
$(CPP) -MM $(CPPFLAGS) $<
Или это принудительное дублирование - просто неудачный элемент дизайна GNU Make?