makeのススメ
Abe Asami
2015/09/26 いまどきのフロントエンド環境構築
自己紹介
Abe Asami きの子 (フリーエンジニア)
http://nocono.net/
@aa7th
Scala、Andorid
makeって何?
• ビルドツール(元祖)
• Wikiによると1977年に登場

(https://ja.wikipedia.org/wiki/Make)
• 元々はC/C++ ビルドのためのもの
使うには?
Mac
• XCodeがはいっていればOK (GNU Make)
Linux
• Gnu Make標準装備
Windows(つらい)
• CygwinをいれればGNU Makeが使える(らしい)
• Make for Windowsというソフトがあるみたい
makeの基本
1. Mekefileにビルド手順を書く
2. Makefileをカレントディレクトリに設置
3. makeコマンド実行!
Makefile
main.o : main.c defs.h
cc -c main.c
ターゲット : 依存関係のファイル

<タブ>コマンド
ターゲットがないもしくは
依存ファイルがターゲットより新しい場合に
コマンドを実行する
all: hello
hello:
echo Hello World!!
% make
echo Hello World!!
Hello World!!
Makefile
実行結果
サンプルを書いてみました
• 発表用に作ったものなので細かいツッコミはなしでお願いします
https://gist.github.com/SAMMY7th/
9bc7305a5bbd4b8258d5
makeの嬉しいところ①
専用プラグインが必要ない。単純にコマンド実行するだけ。
• Gulpとかだとプラグインに依存しちゃう
• そもそもプラグインがないことも
• プラグインにバグがある可能性も・・・
• 前、遭遇したことがある(Gruntの頃)
• そのとき結局、Makefileに書いた
makeの嬉しいところ②
Nodeモジュール以外のコマンドも簡単に実行できる
• シェルスクリプトとか
• プロジェクトで必要なコマンドを全て集約しやすい
makeの嬉しいところ③
廃れることはまずない
• ツールの流行りに振り回されない!!!!!
• ありもののGulpfileがあるなら当然Gulp使った方がはや
い(Yoemanとか)
• シェルの知識が多少必要 (逆に言うと知識がつく)
• Gulpプラグイン探すのめんどいコマンド直接実行する方
がはやい!というときにはMakefileに書いた方が早い
• Gulpも使いつつ、GulpコマンドもMakefileに集約する
ということもできるよ
• うまく組み合わせて使うといいと思う
makeどうなん
まとめ
• Gulpなどの今時のツールに依存せず、ビルドツー
ルから直接コマンドを実行するというアプローチ
の仕方があることを知っておいて損はない
• ビルドツールの流行り廃りに振り回されるのは

嫌だ

(余談) npm run-scripts を活用するのもよさそうだと思いました

   (よく知らんけど)
ありがとうございました
参照サイト:
GNU make 日本語訳(Coop編) by @ino2222
http://www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html

makeのススメ