IMPORT_MODULE
ようやく考えがまとまってきたので、小物から実装し始めました。
今日の成果物
ほとんどオリジナルと似たものになっています。
さて、今日のbjam豆知識はIMPORT_MODULEルールです。
これはIMPORTモジュールと違い、モジュール中のルールを全てインポートするものですが、個々のルールを個別にインポートするわけではなく、「モジュール名.ルール名」の形式でアクセスできるようにするものです。
なので、
module test { rule hello ( ) { ECHO hello ; } } # 現在のモジュールにモジュールtestをインポート IMPORT_MODULE test : $(__name__); test.hello ; # OK: 「hello」を出力 module test { rule hello2 ( ) { ECHO hello2 ; } } test.hello2 ; # OK: 「hello2」を出力
のようにIMPORT_MODULEの後で追加したルールにもアクセスできます。
内部的にはIMPORT_MODULEしたモジュールの名前だけが記録されていて、IMPORTED_MODULESルールで一覧を取得することもできます。
まぁ、やはり普通はこんなことしないと思いますけど。