makeによって解釈される実行可能スクリプトを作成することは可能ですか?
私はこれを試しました:
#!/usr/bin/env make --makefile=/dev/stdin
main:
@echo Hello!
しかし、それは機能しません-を押すまでハングしますCtrl-c。
#!/usr/bin/make -f
main:
@echo Hello World!
通常、標準のmakeファイルに必要なのはこれだけです。ファイル名は、最後の引数として暗黙的に渡されます。/dev/stdin
これが(通常)ttyです。env
理由があればすべてを行うことができますが、多くの場合、必要はありません。
ajw@rapunzel:~/code/videocc/tools > vi Makefile
ajw@rapunzel:~/code/videocc/tools > chmod a+x Makefile
ajw@rapunzel:~/code/videocc/tools > ./Makefile
Hello World!
以下は間接参照のレベルを追加しますが、これは「makefile」と呼ばれない自己実行makefileに対して私が思いついた最良の解決策です。
#!/bin/sh
exec make -f- "$@" << 'eof'
.PHONY: all
all:
@echo 'hello world!'
#集めようとしています!ここで各言語/プログラムのenvハック。