2016-05-18 26 views
1

Ich würde gerne wissen, ob es ein Wildcard für Verzeichnisstruktur in Tupfile, etwas wie % B.o, die Eingabe Dateinamen ohne Erweiterung.Wildcard für Unterverzeichnisse in Tupfile

Meine Tupfile Regeln aussehen derzeit wie folgt aus:

. Foreach src/* cpp |> cxx_c_debug |> build/d/o /% Bo

: foreach src/dir ! /*.cpp |> cxx_c_debug |> build/d/o/dir /% Bo

: foreach src/dir2/subdir /*.cpp |> cxx_c_debug |> build/d/o/dir2/Unterverzeichnis /%B.o

...

Wie Sie sich vorstellen können, gibt es viele dir s und subdir s. Ich würde gerne eine Art von Wildcard für bold Ed-Verzeichnisstruktur verwenden, anstatt diese einzeln zu zählen. Gibt es eine Möglichkeit, dies zu erreichen, ohne eine neue Tup-Datei in jedem dieser Verzeichnisse zu erstellen?

Dank

Antwort

2

Der einfachste Weg, um eine Tupdefault Datei verwenden wird.

Diese Funktion ist in tup 0.7.4 verfügbar, aber noch nicht dokumentiert. Wenn Sie eine Datei mit dem Namen Tupdefault an einer beliebigen Stelle in Ihrem Quellbaum platzieren, wird sie in allen Unterverzeichnissen, einschließlich der Stelle, an der Sie sie platziert haben, unter Tupfile ausgeführt.

Um Ihr spezielles Beispiel arbeiten, die Tupdefault Datei kann wie folgt aussehen zu erhalten:

include_rules 
: foreach *.cpp |> !cxx_c_debug |> %B.o 

Sie werden wahrscheinlich auch die TUP Gruppen verwenden müssen, verfügen über alle Objektdateien in einer einzelnen Gruppe in Ihrem platziert sammeln Projektstamm und verwenden Sie diese Gruppe, um sie miteinander zu verknüpfen. Dies ist ein weiteres Merkmal, das derzeit dokumentiert wird, aber es wird von tups Autor Mike Shal hier erklärt:

https://github.com/gittup/tup/issues/85#issuecomment-19423194