概要
C言語で開発するとき、せっかくMakefile作るなら自動でmakeして実行させたりしたいですよね。
ファイルの変更監視をする方法はいろいろあるようですが、Rubyの環境を持っているのであればguard-shell
を使ってこんなに簡単にできます、という記事です。
サンプルのファイル一式をこちらに置いておきました。
前提
- RubyおよびRubygemsをインストール・実行できる環境は整っているものとします。
- makeするためのソースコードおよびMakefileはご準備ください。動かしてみるだけなら上記サンプルをダウンロードいただければ。
guard-shell環境構築手順
1. gemのインストール
$ gem install guard
$ gem install guard-shell
2. Guardfile の作成
ファイル監視したいディレクトリに移動した上で、以下のコマンドを実行すると、Guardfile
という名前のサンプルが記載されたファイルが生成されます。
$ guard init
Guardfileを以下のように編集します。``で囲まれた箇所はお好きなコマンドに変更してください。
Guardfile
guard :shell do
watch(/(.*)\.c/) {|m| `make && ./#{File.basename(m[0], ".c")}` }
end
3. 監視の開始
以下のコマンドを叩くだけです。
$ guard
監視対象や実行コマンドを修正したいとき、Guardfileを修正すれば自動的に再読み込みしてくれるのでguard
コマンドを途中で終了したりしなくてよくて便利です。