Esc Ich muss rekursiv alle Header-Dateien in einer Liste von Verzeichnissen finden. Ich kann nicht herausfinden, wie ich dem Befehl richtig entgehen kann. Ich habe herumgesucht und verschiedene Informationen über Makefiles gefunden, aber ich konnte dieses Problem nicht lösen.Wie Backslash in Makefile-Shell-Funktion
In bash folgendes tut, was ich will:
find path1 path2 path3 -type f \(-name *.hpp -o -name *.h -o *.hxx \)
In meinem Make-Datei ich ein paar Kombinationen von foreach versucht haben, usw. Zur Zeit dieses habe ich:
INCLUDE_PATHS ?= path1 path2 path3
MY_HEADERS := $(shell find $(INCLUDE_PATHS) -type f \(-name *.h -o -name *.hpp -o -name *.hxx \))
Dies erzeugt:
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]
Wenn ich für eine Erweiterung aussehen gerade wie „* .hpp“ es funktioniert gut (ich nehme an, weil die \ (... \) ist nicht benötigt).
Ich habe verschiedene Kombinationen von $ versucht,‘“. \ Die zu entkommen ‚ohne Erfolg \‘ Zeichen in dem Shell-Befehl.
Jede mögliche Hilfe geschätzt wird stark würde.
Oops ... Ich meinte Backslash im Titel. – sjacobs