LoginSignup
2
1

More than 5 years have passed since last update.

guard-shellでソースコードの変更を監視して自動でmake&実行させる

Last updated at Posted at 2018-05-04

概要

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コマンドを途中で終了したりしなくてよくて便利です。

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1