nakomake

第1節「使い方」では、nakomakeの使い方や仕様などを記載しています。nakomakeは、なでしこの実行ファイル作成を支援するコマンドラインツールです。なでしこエディタを起動せずに実行ファイルを作成することができます。

取り込むファイルが多かったりすると、いちいちなでしこエディタから実行→作成をするのが面倒です。また、別のバージョンで実行ファイルを作成したい場合もあるでしょう。そういった、実行ファイルを作成する様々な場面で nakomake は非常に便利です。

また、きちんと環境設定すればコマンドラインから使うことができます。そのため、一度バッチファイルに実行ファイル作成コマンドを書くだけで、以降の実行ファイル作成の手間を Enter 一つに減らすことができます。

では早速 nakomake の使い方を見ていきますが、その前にまずはnakomakeのソースコードをこのサイトもしくはプログラム掲示板から手に入れてください。

サイトの方から入手すれば、実行ファイルも一緒に手に入れられます。その場合は、次のセクションは読み飛ばしても構いません。

nakomake を実行ファイルに

nakomake を使う前に、まずは nakomake 自身を実行ファイルにしましょう。その方が使いやすいので。なでしこエディタで開いて「一度実行→作成」してもいいのですが、せっかくなのでここでは nakomake に自分自身を"make"させてみましょう。

ちなみに、「一度実行」をしてしまうと、 nakomake は自分自身を vnako 方式で実行ファイルにしてしまいます。エディタの実行ファイル作成機能は、こんな感じで「一度実行」というのが厄介なことが多いので、そこで nakomake の出番!というわけですね。

ここでは、 nakomake.nako が dir というフォルダに置いてあるとします。コマンドプロンプトを起動して、次のように打ち込んでいってください。また、なでしこは C:\Program Files\nadesiko_lang\ にインストールされているものとします。

cd dir
"C:\Program Files\nadesiko_lang\cnako.exe" nakomake.nako nakomake.nako -type cnako -plug-ins BREGEXP,nakostr,nakofile

同じことをなでしこでやる場合はこんな感じです。

作業フォルダはdir
『"C:\Program Files\nadesiko_lang\cnako.exe" nakomake.nako nakomake.nako -type cnako -plug-ins BREGEXP,nakostr,nakofile』起動待機

これで、 dir 直下に cnako 方式で nakomake.exe が作成されます。このとき、コマンドプロンプトには以下のように出力されます。( dirUSER_NAME は適宜読み替えてください)

dir\nakomake.nako=nadesiko.nako=0』を、
『C:\Users\USER_NAME\AppData\Local\Temp\nako_make\make.packfile.temp』に、
パックファイル作成。

『C:\Program Files\nadesiko_lang\cnako.exe』と、
『C:\Users\USER_NAME\AppData\Local\Temp\nako_make\make.packfile.temp』を、
『dir\nakomake.exe』に、
パックファイル結合。

『C:\Program Files\nadesiko_lang\plug-ins\dnako.dll』を、
『dir\plug-ins\dnako.dll』に、
ファイルコピー。

『C:\Program Files\nadesiko_lang\plug-ins\BREGEXP.dll』を、
『dir\plug-ins\BREGEXP.dll』に、
ファイルコピー。

『C:\Program Files\nadesiko_lang\plug-ins\nakostr.dll』を、
『dir\plug-ins\nakostr.dll』に、
ファイルコピー。

『C:\Program Files\nadesiko_lang\plug-ins\nakofile.dll』を、
『dir\plug-ins\nakofile.dll』に、
ファイルコピー。

nakomake の使い方

nakomake の使い方を見ていきましょう。 nakomake.exe の置いてあるフォルダが作業フォルダの状態のコマンドプロンプトで、次のように入力します。

nakomake ?

すると、 nakomake の簡単な使い方の説明が表示されます。

nakomake v.0.91 -- 使い方
作者: U D 
-----------------------------------------------------------------------

> nakomake [<INPUT_FILE>] [-<OPTION> <ARG>]...

<INPUT_FILE>は必須だが、オプションはいずれも必須ではない。

*** 引数を取るオプション

-f, -file
  実行ファイルにする対象を指定。<INPUT_FILE>の代わり。
-t, -type
  なでしこの実行方式をvnako/gnako/cnakoのいずれかで指定。
  デフォルトはvnako。
-i, -import
  梱包するファイル一覧を指定。カンマまたはセミコロン区切り。
-p, -plug-ins
  使用するプラグイン一覧を指定。カンマまたはセミコロン区切り。
-r, -runtime
  ランタイムのあるフォルダを指定。
  デフォルトは"C:\Program Files\nadesiko_lang\"。
-o, -output
  実行ファイルの出力先を指定。
  デフォルトは<INPUT_FILE>と同名のEXEファイル。

*** 引数を取らないオプション

-e, -encrypt
  このオプションを使用すると、ソースコードを暗号化する。
  -import で指定した、他の取り込むファイルは暗号化しない。
-h, -help, ?
  このオプションを使用すると、ヘルプを表示して終了する。
-n, -noexe
  このオプションを使用すると、実行ファイル作成を行わない。
  標準出力(処理内容のなでしこコード)のみ行う。
-d, -deltemp
  このオプションを指定すると、実行ファイル作成後
  一時パックファイルをする。デフォルトは削除しない。

-----------------------------------------------------------------------
For more info:
  http://www.undefin.net/nadesiko/xpln/lesson/L1-1

基本的に、"nakomake <INPUT_FILE>"と、 nakomake の後に入力ファイル、つまり実行ファイルを作成したい .nako ファイルを指定するだけです。

他にも色々とオプションをつけることができます。ということで、もっと詳しく nakomake のコマンドラインオプションを見ていきましょう。

-file オプション

このオプションの後ろに、入力ファイルを指定します。"-file"オプションを省略して入力ファイルを直接書くこともできます。一度に指定できるファイルは1つまでです。

nakomake -file <INPUT_FILE>

-type オプション

このオプションの後ろに、なでしこ実行方式を指定します。"vnako", "gnako", "cnako" のいずれかが指定できます。デフォルトは"vnako"です。

nakomake input.nako -type cnako

-import オプション

このオプションの後ろに、実行ファイルに梱包するファイルを指定します。複数指定する場合は、カンマ","もしくはセミコロン";"区切りで複数ファイルを指定するか、あるいは"-import"オプションを複数回使用します。

nakomake input.nako -import import1.nako;import2.txt;import3.jpg

-plug-ins オプション

このオプションの後ろに、使用するプラグイン名(DLLファイル)の一覧を指定します。複数指定する場合は、カンマ","もしくはセミコロン";"区切りで繋げるか、あるいは"-plug-ins"オプションを複数回使用します。拡張子".dll"は省略可能です。

このオプションを指定した時は、指定されたプラグイン名のDLLファイルを探して、あれば出力先にコピーします。このオプションを指定しない場合(デフォルト)は、何もしません。自動で何が必要なDLLか判定してコピーしたりはしません。

nakomake input.nako -plug-ins dnako,nakostr,nakofile

-runtime オプション

このオプションの後ろに、なでしこのランタイムのパス( vnako.exe などがあるフォルダ)を指定します。デフォルトでは"C:\Program Files\nadesiko_lang\"になります。

違う場所にインストールしていて、デフォルト値を変更したい場合は、 nakomake.nako のランタイムの宣言値を変更してください。

なお、"-plug-ins"オプションで指定したプラグインファイルは、"-runtime"オプションで指定したフォルダの下から検索します。

nakomake input.nako -runtime "D:\Program Files\nadesiko\"

-output オプション

このオプションの後に、実行ファイルを作成するフォルダもしくは作成する実行ファイル名を指定します。デフォルトでは入力ファイルと同じフォルダ、同じ名前の EXE ファイルを作成します。

nakomake input1.nako -output ..\other_name.exe
nakomake input2.nako -output ..\output_dir\

-encrypt オプション

このオプションを指定すると、ソースコード(入力ファイルのみ)を暗号化します。"-import"オプションで指定した梱包ファイルの暗号化は行いません。

nakomake input.nako -encrypt

-help オプション

このオプションを指定すると、実行ファイルの作成は行わず、 nakomake のヘルプを表示します。"-help"の代わりに略記法の"?"を使うこともできます。

nakomake -help

-noexe オプション

このオプションは ver.0.8 ではまだ実装されていません。

このオプションを指定すると、実行ファイルの作成は行わず、本来の処理内容をなでしこコード形式で標準出力します。実行ファイルはまだ作らずに、実行ファイル作成用の.nakoプログラムだけ先に作成したい場合や処理内容を確認する時に使用することができます。このオプションはver.0.9以降で利用可能です。

nakomake input.nako -noexe > makeEXE.nako

-deltemp オプション

このオプションは ver.0.8 ではまだ実装されていません。

このオプションを指定すると、実行ファイル作成時に生成される一時ファイルを最後に削除します。デフォルトでは、一時ファイルは削除しません。このオプションはver.0.9以降で利用可能です。

nakomake input.nako -deltemp

nakomake の標準出力

実は nakomake は、実行ファイルを作成するだけでなく、そのために実行したなでしこの命令文をそのまま標準出力に出力します。(出力例を参照)

そのため、どのような処理をしたのか分かるだけでなく、標準出力の内容をそのまま .nako ファイルにして保存すれば、実行ファイル作成用の簡易バッチファイルが簡単に完成します。

nakomake input.nako > make.nako

実行ファイルを同じ条件で何度も作成したい場合、このように標準出力の内容を保存しておいて、そのなでしこファイル make.nako を実行すれば再び同じ条件で実行ファイルを作成できます。

パスを通す(任意)

手軽に nakomake を使うには、 nakomake.exe の置いてあるフォルダにパスを通しておくのが便利です。コントロールパネルの「システム」から、「設定と変更>詳細設定>環境変数」で環境変数の設定ができます。そこで環境変数の"Path"の末尾にパスを追加すれば、コマンドプロンプトやバッチファイルで"nakomake"と書くだけで nakomake が使えるようになります。

パスを通しておけば、例えば次のようなバッチファイルを作って、実行ファイル作成の手間を大幅に減らすことができるでしょう。

set CNAKOMAKE=nakomake -type cnako
set MYPATH=path\to\my\tools\
set LIBS=path\to\my\libs\

%CNAKOMAKE% %MYPATH%nakomake.nako
%CNAKOMAKE% %MYPATH%backup.nako -import %LIBS%mylib.nako
%CNAKOMAKE% %MYPATH%secret.nako -output E:\ -encrypt

バージョン情報

作者
U D
ツール名
nakomake
ツールバージョン
ver.0.91
ツールリビジョン
rev.16
ツール最終更新
2009-11-08T01:00:00+09:00
動作確認バージョン
nadesiko ver.1.525-1.5324
文書バージョン
ver.0.812
文書最終更新
2009-12-28T16:21:32+09:00

この文書は nakomake の仕様書兼説明書です。