kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

Makefileは便利

Makefile便利ですよね。Serverless Frameworkのgoのテンプレートを作成した際に、Makefileがあり久々に使いましたが、やっぱり楽です。

.PHONY: build clean deploy gomodgen

build: gomodgen
    export GO111MODULE=on
    go mod tidy
    env GOARCH=amd64 GOOS=linux go build -ldflags="-s -w" -o bin/billing billing/main.go

clean:
    rm -rf ./bin ./vendor go.sum

deploy: clean build
    sls deploy --verbose

gomodgen:
    chmod u+x gomod.sh
    ./gomod.sh

コマンドでmake [command] を実行するだけで、まとまった処理ができるのでMakefileに記述していおけば覚えておく必要が少なくなるのがいいですね。

buildしたい場合

make build

deployしたい場合

make deploy 

Makefileにinitを書いたりすれば、初期実行のコマンドを一括で実行できたりします。

日常的に書いてるコマンドであれば覚えていますが、久々に開くプロジェクトのコマンドって忘れがちですよね。使用するコマンドがわかるだけでもかなりのメリットです。

たしかajitofmをやってるVOYAGE GroupではMakefileをよく使うらしく、「なるほど」と思った記憶がありますね。

周りの人で使う人が少ない印象ですがwindowsで開発をする人が多く、Makefileを作成しても使ってもらえなさそう。とか思ってREADMEに書いたりしますが、Makefileに書いておいた方がそのままコマンドを実行できるからこっちの方が圧倒的に便利だと再認識しました。

最近podcast聞かなくなった影響でajitofmが更新されていないことに気づいた。podcast聴く生活を戻したい。