Piszę plik Makefile, który wykonuje pewne generowanie zależności i muszę już zduplikować reguły, ponieważ (starsza wersja) baza kodów zawiera mieszaninę plików .cpp
i .cc
. Wydaje się nieco brzydki. Czy mimo to można określić, że wymagania wstępne celu mogą być plikami .cpp
lub .cc
?Unikaj duplikowania reguł GNU Make
Więc zamiast:
%.d : %.cpp
$(CPP) -MM $(CPPFLAGS) $<
%.d : %.cc
$(CPP) -MM $(CPPFLAGS) $<
Tworzenie czegoś bez powielania takich jak:
%.d : %.(cpp | cc)
$(CPP) -MM $(CPPFLAGS) $<
Albo jest to egzekwowane redundancja prostu niefortunne elementem GNU Bądź na projekt?
jeśli używasz Autotools GNU, z których możesz prawdopodobnie korzystać z makr m4 – Kevin