関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。
Makefileって熟れたやつになると呪文みたいになってて、別の人が利用しようとしても、どのターゲットを実行したらいいの?ってなったりします。
慣れていないと何やっているのか分かりづらいですしね。。
んで、何かの書籍に書いてあった以下のターゲットを仕込んでおくと、少し良い感じになるかもという話です。
(どの書籍で知ったのかが思い出せないのが辛い・・メモだけ手元に残っていた)
以下のような呪文を仕込んでおきます。
help: ## ヘルプを表示します
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
これを仕込んでおいてから、各ターゲット行の横に ## コメント を付与しておきます。
たとえば、こんな感じ。
all: run ## デフォルトタスク (run)
clean: ## 成果物をクリアします
$(RM) $(OBJS) $(DEPS) $(PROGRAM_PATH)
run: build ## 実行します
@$(PROGRAM_PATH)
build: $(PROGRAM) ## 成果物をビルドします
で、make help とすると以下のように出力されます。
$ make help all デフォルトタスク (run) clean 成果物をクリアします run 実行します build 成果物をビルドします help ヘルプを表示します
ちょっと便利になるかも。
サンプル
自分がC言語とかのちょっとしたプログラムを作ったりするときに使っているMakefileです。
参考情報
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。