
Ich verwende den folgenden Code, um ein zu erhalten, makefile targets list
das 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?
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