Makefileを使って開発の効率化をしよう
以前はmakefileなんか大袈裟なと思って使っていなかったのですが使ってみるととても良かったのでmakefileの基本的な使い方を紹介したいと思います。
Makefileとは
makefileは簡単に言うとコマンドの短縮系を定義できるファイルです。zshではzshrcにbashではbashrcにコマンドのエイリアスを定義できると思うのですがそれはローカルなもので他人のパソコンではそのコマンドをコピーしない限り実行できません。しかしmakefileを使うことによって誰でも簡単にコマンドを使うことができ短い記述で多くの処理をさせることができます!
文字だけで説明するのは難しい気がします。実際に触ってみて理解してみましょう。
Makefileの作成・記述
とりあえず何かディレクトリでも作ってその中に「Makefile」と言うファイルを作りましょう。それだけで作成は完了です。
# シェル
mkdir first-make
cd first-make
touch Makefile
Makefileに以下を書いてみてください
test:
touch test.txt
open:
open test.txt
test-rm:
rm test.txt
以上で実装は終わりです。
実際に実行してみる
makefileが書けたので実行してみます!基本的な実行方法は
make コマンド名
で実行できます。では実行していみます!
ls
make test
ls
make open
make test-rm
ls
lsは必要ないですがディレクトリ内のファイルが生成されていることを確認するために書いています。
実行結果
最初のlsではこの記事通りに進めている場合Makefileしかないと思います。しかしmake testをした後ではtest.txtと言うファイルができていてmake openでtest.txtが開くと思います。さらにmake test-rmを実行することによりtest.txtが消され、lsで確認してもファイルがなくなっていると思います。
Makefileの記述を見ればわかるとは思いますがコマンド名の下の行が実行されています!
以上が実行です。
まとめ
どうでしょうか?Makefileの使い方が理解できたでしょうか?
今回はデモをしたかったためコマンドは短いものを使った故にあまり恩恵は感じられなかったかもしれませんがコマンドが長くなればその恩恵は大きくなると思います。例としてdockerコンテナに対して何か実行するようなコマンドやgrpcのprotoファイルからコードを生成するようなコマンドは長くなることがあります。そのような時は恩恵が大きくなると感じます。
コードを短縮するのはもちろん、makefileではコマンドの記述を簡単にするために変数を使うことができたり一つのコマンドから別のコマンドを呼び出す、といったこともできます。これらを駆使することによりより複雑なコマンドを容易に呼び出すことができより効率の良い開発を行うことができます。
この記事に興味を持てたら是非使ってみてください!
この記事が気に入ったらサポートをしてみませんか?