001
10.03.2009, 16:46 Uhr
0xdeadbeef
Gott (Operator)
|
.SUFFIXES ist ein spezielles Target wie .PHONY. Es steuert, welche Dateiendungen make erkennt - das ist im Zusammenhang mit Suffixregeln wichtig.
leert dabei die bekannte Suffixliste,
Code: |
.SUFFIXES: .cpp $(SUFFIXES)
|
fügt der Suffixliste .cpp und die Default-Suffixe ($(SUFFIXES) enthält die Liste der make standardmäßig bekannten Suffixe) hinzu. Etwas merkwürdig ist das insofern, als dass $(SUFFIXES) .cpp bei allen mir bekannten makes schon enthält - vielleicht geht es hier darum, dass .cpp zuerst überprüft werden soll, um Zeit zu sparen oder so. Damit schieße ich aber ein bisschen ins Blaue.
Interessanter ist das, wenn du Dateiendungen verwendest, die make nicht von Haus aus bekannt sind - beispielsweise m4-Makros oder Java-Code. Und ja, ich weiß, dass man für Java üblicherweise ant verwendet, aber es geht hier nur um ein Beispiel. Das könnte dann so aussehen:
Code: |
.SUFFIXES: .java .class
# Suffix-Regel: .java.class: javac $<
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |