Makefile: Liste der Ziele abrufen

Makefile: Liste der Ziele abrufen

Ich verwende den folgenden Code, um ein zu erhalten, makefile targets listdas in den meisten Fällen einwandfrei funktioniert. Wenn Sie jedoch ein Makefile wie dieses verwenden, erhalten Sie nur zwei Ziele und nicht alle.

Der andere Befehl wird nicht angezeigt

KatzeMakefile

command: ## Command description
    @echo "Execution log"

another-command: ## Command description
    @echo "Execution log"

command2: ## Command description
    @echo "Execution log" 

Die Ausgabe ist:

command
command2

Ich verstehe nicht, warum ich den Befehl nicht bekomme another-command. Dies ist der Code

`make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\/t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' `;

Was könnte das Problem sein?

Ich verwende dies als Referenz Wie liste ich alle Ziele in Make auf?

Bildbeschreibung hier eingeben

Antwort1

$ make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'
command
Makefile
command2
another-command

In meinem Zeichensatz gibt es Backslash und Tabulator, in Ihrem Satz sind es Backslash, Schrägstrich und „t“.

Und in "another" ist ein "t" enthalten ;-)

Dank an steeldriver

verwandte Informationen