Makefileをしばしば書くことがあるのですが、コマンドを追加したり、ファイル分割したりしていると、
使い方がわからなくなることがあります。そのためhelpをMakefile内に書いたりするのですが、内容を追従するのが面倒になったりします。
もしMakefileのhelpとかusageとかをPythonのdocstringっぽくかければ
、usageを書きやすくなるかなとおもい unmake というコマンドをGoで書いてみました。
なのでちょっと説明を書いておきます。
インストール
go getでインストールします。
$ go get github.com/TakesxiSximada/unmake
インストールが完了すると $GOPATH/bin
配下にunmakeコマンドが作成されます。
使い方
シンタックス
Makefileのコマンドの次の行に \t@##
もしくは \t@#
でコメントを記述します。
一行目を \t@##
で始めた場合は、オプションパラメータとして表示されます。 オプションパラメータの記述は省略することもできます。\t@#
は説明として表示されます。
以下の例の場合は、 param1=value1 param2=value2
がオプションパラメータです。
document 1
、 document 2
、 document 3
がコマンドの説明です。
.PHONY: command
command:
@## param1=value1 param2=value2
@#
@# document 1
@# document 2
@# document 3
echo "EXECUTE COMMANDS..."
実行
第一引数にMakefileへのPATHを渡します。
$ unmake /PATH/TO/YOUR/Makefile
https://github.com/TakesxiSximada/unmake/blob/master/examples/Makefile にサンプルがあります。このサンプルを実行すると以下のように表示されます。
$ unmake examples/Makefile
* help
display usage
* run target=NO
execute an application.
* get target=NO_TARGET
Install a application.
ex) unmake
よかったら使ってね ٩(•౪• ٩)