# genlib

指定したディレクトリの関数からライブラリを構築する

## 呼び出し手順

    genlib(lib_name [[,dir_name, [ Force [,verb [,Names]]]])
                genlib(lib_name [,path=dir_name] [,verbose=verb] [,force=Force] [,names=Names])

## パラメータ

lib_name:

  Scilab文字列. (再)作成するライブラリの変数名.

dir_name:

  Scilab文字列. `.sci`-ファイルを探すディレクトリの名前.

Force

  論理値 (デフォルト値は `%f`). sci-ファイルの再コンパイルを強制的に行う場合, `%t`に設定してください.

verb

  論理値 (デフォルト値は `%f`). 情報を取得するには `%t` に設定してください.

Names

  文字列のベクトルで, ライブラリに含まれる 関数の名前です. デフォルトで全ての sci-ファイルが取得されます.

## 説明

`dir_name`にある各`.sci`ファイル (または`Names`引数で指定されたファイルのみ)について, `genlib`は`exec`を 実行し,対応する`.bin`ファイルに関数を保存します. `.sci`ファイルにはScilab関数以外のものを含んでは いけません. ある`.bin`ファイルが対応する`.sci`ファイルよりも 新しい場合, `genlib`はこのファイルを変換/保存しません.

このデフォルトの動作は`force`が指定され, `%t` に設定された場合に変更できます. この場合, 各`.sci`ファイル毎に常に再コンパイルが 行われます.

全ての`.sci` ファイルが処理された場合, `genlib`は`lib_name`という 名前のライブラリ変数を作成し, `dir_name`の中のファイル`lib`に この変数を保存します. Scilab変数 `lib_name`が保護されていない場合 (predef参照), この変数は更新されます.

`verbose` に `%t`が 指定された場合, 構築処理中に情報が表示されます.

`dir_name` 引数が指定されない場合に, Scilab変数`lib_name`が存在し, それがライブラリの場合, dir_name は, `lib_name`ライブラリパスに等しく 設定されます (更新モード).

## 制限

Scilab は, ファイル`foo.sci`が, 少なくとも`foo`という名前の関数を 定義すると仮定します. 補助関数が含まれる場合,これらは 関数`foo`が参照された後でのみ Scilabから既知となります.

## 参照

- getd
- exec
- save
- lib