The Quick Gold Fox

技術系メモブログ

CygwinにCaffeine Monkeyを導入する

Caffeine Monkeyは,Secure Worksによって開発された,JavaScriptを解析することができるツールです.
JavaScriptエンジンとしてSpider Monkeyが使用されています.

本エントリでは,Caffeine MonkeyをCygwinに導入するための手順を説明します.


☆前提
Cygwinwgetgcc,makeが導入済.

☆環境
Windows 7 Professional 64bit
Cygwin i686 ver 1.7.35
wget ver 1.16.3
gcc ver 4.9.2
・make ver 4.1

Caffeine MonkeyはSecure WorksのURLからダウンロードすることができます.
本エントリ作成時(2015/04/28)の最新バージョンは 0.5.1 です.

☆手順
まずはCaffeine Monkeyをダウンロードし,解凍します.
解凍ができれば,Makefileがある場所まで移動します.

$ mkdir CaffeineMonkey
$ cd CaffeineMonkey
$ wget http://www.secureworks.com/assets/24669/caffeine-monkey-0.5.1.tgz
...
$ tar zxvf ./caffeine-monkey-0.5.1.tgz
...
$ cd ./js/src

あとはmakeするだけですが,README.htmlに書いてある通りにmakeすると以下の様なエラーが出ます.

$ make -r Makefile.ref
config.mk:146: config/WINNT6.1-WOW.mk: No such file or directory
cat: ../../dist/WINNT6.1-WOW_DBG.OBJ/nspr/Version: No such file or directory
make: *** ターゲット 'config/WINNT6.1-WOW.mk' を make するルールがありません.  中止.

ポンコツ技術者なので詳しいことはわかりませんが,とにかくCygwinだとmakeできない模様.
いろいろ調べてみたところ,以下の様にmakeすると導入できました.
一度エラーは出ますが,その後オプションを付与した同様のコマンドを再度実行すると,実行ファイルが生成されるようです.
(参考サイト様:CygwinにSpiderMonkeyをインストール

$ make -r Makefile.ref OS_ARCH=Linux
...
rules.mk:118: ターゲット 'Linux_All_DBG.OBJ/libjs.so' のレシピで失敗しました
make[1]: *** [Linux_All_DBG.OBJ/libjs.so] エラー 1
make[1]: ディレクトリ '/home/Lisa/CaffeineMonkey/js/src' から出ます
rules.mk:65: ターゲット 'all' のレシピで失敗しました
make: *** [all] エラー 2
$ make -r Makefile.ref OS_ARCH=Linux js

正しくmakeできていれば,以下の様にCaffeineMonkeyが実行できます.

$ cd ./Linux_All_DBG.OBJ
$ ./js.exe
js>

念のため動作確認もしておきましょう.

js> var a = "Hello World";
js> document.write(a);
js> quit();

実行結果等は,/tmp/js_function.logに記録されます.

$ cat /tmp/js_function.log
DOCUMENT_WRITE: Hello World

これで,CygwinにCaffeineMonkeyが導入されました.