Makefile führt phonytargets einer Datei nur dann aus, wenn die Datei nicht existiert

8

Gibt es eine Möglichkeit, dass ich nur die falsche Abhängigkeit einer Datei ausführen kann? Wenn diese Datei nicht existiert?

Wenn die Datei keine falsche Abhängigkeit hat, funktioniert sie und führt nur den Inhalt aus von dieser Regel. Aber wenn ich ein falsches Ziel als Abhängigkeit hinzufüge, führt es weiterhin die Abhängigkeitsregel und die Regel zum Erzeugen der vorhandenen Datei aus.

Ich habe mein Makefile vereinfacht, damit Sie mein Problem sehen können:

%Vor%     
phschoen 25.01.2012, 17:18
quelle

1 Antwort

7

Verwenden Sie Nur-Bestellanforderungen :

  

Gelegentlich haben Sie jedoch eine Situation, in der Sie den zu aktivierenden Regeln eine bestimmte Reihenfolge auferlegen müssen, ohne dass das Ziel aktualisiert werden muss, wenn eine dieser Regeln ausgeführt wird. In diesem Fall möchten Sie nur Bestellanforderungen definieren. Order-only-Voraussetzungen können angegeben werden, indem ein Pipe-Symbol ( | ) in die Liste der Voraussetzungen eingefügt wird: Alle Anforderungen links vom Pipe-Symbol sind normal; Alle erforderlichen Rechte sind nur für Bestellungen verfügbar:

%Vor%      

Der Abschnitt mit den normalen Voraussetzungen kann natürlich leer sein. Sie können auch mehrere Zeilen mit Voraussetzungen für dasselbe Ziel deklarieren: Sie werden entsprechend angehängt (normale Voraussetzungen werden an die Liste der normalen Voraussetzungen angehängt; Nur-Bestellanforderungen werden an die Liste der Nur-Bestellvoraussetzungen angehängt).

>
%Vor%     
Eldar Abusalimov 25.01.2012, 18:23
quelle

Tags und Links