Makefileを自己文書化する話のパクリ

makefileの中のコメントを整形してhelpの出力するワンライナーを改造した。

参考文献はここ

私の欲しい仕様ではなかったので、適当にワンライナーを書いた。

仕様は以下の通り。

  1. ターゲット行の前に ## で始まるコメントをつけると、そのターゲットのコメントになる。

  2. 適当な場所に ### で始まるコメントをつけると、ターゲットをグルーピングできる。

コードはこれをMakefileに追加

.PHONY: help
## helpの出力
help :
  @awk '/^### / { printf "\n\033[7m%30s %s\033[0m\n", "", substr($$0, 5)} \
        /^## /  { TC = substr($$0,3)} \
        /^.* :/ { TN=$$0; sub(/:.*/, "", TN); if(TC){printf "\033[3m%-30s\033[0m%s\n", TN,TC; TC=""}} ' \
        $(MAKEFILE_LIST)

出力例はこんな感じ

../../../_images/makehelp.png

コメントの付け方は上記のURLリンクを読んで気合いで理解すると良い。

Comments

comments powered by Disqus