Angenommen, wir haben zwei Verzeichnisse foo und bar. Wo foo Dateien enthält Beispiel.S, run.c, exec.S und bar enthält Beispiel.S wenn ich foo und bar als Abhängigkeiten übergeben. Ich möchte nur example.S im Verzeichnis bar kompilieren von example.S im Verzeichnis fooIgnorieren von Datei mit ähnlichen Namen aus dem Kompilieren in Makefile
DEP ignorieren: = foo bar
DIR: = $ (foreach $ dirs, $ (DEP) , $ (shell $ (HOME) -find -type d-name $ (dirs))),
würde mir den absoluten Pfad der foo und bar-Verzeichnisse zur Verfügung stellen.
FILES: = $ (foreach-Datei, $ (DIR), $ (Platzhalter $ (file)/*)), würde mir die Liste der Dateien foo und bar als
foo/example. S foo/run.c foo/exec.S bar/example.S
Ich möchte auf mehrere Vorkommen von Datei mit dem gleichen Namen prüfen. und kompiliere nur die neuesten, d. h., anstelle von foo/example.S Ich möchte gerne bar/example.S ...
Ich habe keine Ahnung, wie es geht, wie ich bin sehr neu bei der Erstellung von Makefile.
Danke für die Lösung, wenn ich „$ (Dateien echo)“ ich Liste der Dateien erhalten tun .. Aber –
Vielen Dank für die Lösung, wenn ich "echo $ (Dateien)" Ich bekomme eine Liste von Dateien .. Aber, OBJ_SRC: = $ (info $ (Dateien)) gibt die folgenden 'find /../../foo/example.S /../../foo/run.c/../../foo/exec.S/S./../../bar/example.S -type f -exec sh -c 'echo { } $ (Basisname {}) '\; | sort -u --stable -k2,2 | awk '{print $ 1}' 'Aber ich brauche nur die Dateinamen mit diesem Befehl. –