Bei einem Makefile VoraussetzungFilter Make-Datei Voraussetzungen
PY_FILES := $(shell find . -type f -name *.py)
my_target: $(PY_FILES)
do_something $(PY_FILES)
Ist es möglich, do_something
auf einer Teilmenge davon nennen heißt ausschließen alle Python-Dateien, die zum Beispiel mit einem Muster übereinstimmen */test/*
?
Mein Verständnis ist, dass $(filter-out pattern, text)
kann etwas ähnliches tun, aber Muster muss eine Liste von Dateien sein, die ich ausschließen möchte.
In diesem Fall konnte ich auch find
mit -not
und das Ergebnis auf eine andere Voraussetzung speichern das ist, was ich zu vermeiden versuche - Ich will die PY_FILES
prereq wiederzuverwenden.
'pattern' muss ein * pattern * sein, das mit Dateien übereinstimmt, die Sie ausschließen möchten. Unglücklicherweise unterstützen Muster nur ein einzelnes Wildcard-Element, so dass Sie '' (filter-out) '' ein Muster, das mit '*/test/*' übereinstimmt, nicht leicht finden können. Sie * können * die mit 'Finden' leicht ignorieren, obwohl Sie angegeben haben. –