次のコードを使用してmakefile targets list
を取得しますが、ほとんどの場合は問題なく動作しますが、このようなmakefileを使用すると、2つだけのターゲットが取得され、すべてが取得されるわけではありません。
別のコマンドが表示されない
猫Makefile
command: ## Command description
@echo "Execution log"
another-command: ## Command description
@echo "Execution log"
command2: ## Command description
@echo "Execution log"
出力は次のとおりです:
command
command2
another-command
コマンドを取得できない理由がわかりません。これはコードです
`make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\/t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' `;
何が問題でしょうか?
私はこれを参照として使用します makeですべてのターゲットをリストする方法?
$ make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'
command
Makefile
command2
another-command
私の文字セットにはバックスラッシュとタブがあり、あなたのセットにはバックスラッシュ、スラッシュ、「t」があります。
そして「another」には「t」が含まれます;-)
Steeldriverへのクレジット