-I
スイッチを使用せずに、サンドボックスベースディレクトリに関連するファイルをm4テキスト内に含めたい。
これまで、sys呼び出しを使用して環境変数を取得する方法を理解しました。
define(MODEL_ROOT,`syscmd(`printf $MODEL_ROOT')')dnl
次に、その環境変数に基づいたファイルを含めたいと思います。
include(MODEL_ROOT/sw/lib/m4_macros/foreach2.m4)
合計で、私は持っています:
define(MODEL_ROOT,`syscmd(`printf $MODEL_ROOT')')
MODEL_ROOT
MODEL_ROOT/sw/lib/m4_macros/foreach2.m4
include(MODEL_ROOT/sw/lib/m4_macros/foreach2.m4)
どの印刷物:
/home/ross/sandbox
/home/ross/sandbox/sw/lib/m4_macros/foreach2.m4
/home/ross/sandboxforeach_example.m4:7: m4: Cannot open /sw/lib/m4_macros/foreach2.m4: No such file or directory
includeの通常の構文は次のとおりです。
include(`file.m4')
しかし、引用するMODEL_ROOT/sw/lib/m4_macros/foreach2.m4
と、m4は次のようになります。
[...]
include(`MODEL_ROOT/sw/lib/m4_macros/foreach2.m4')
m4は文句を言う:
[...]
foreach_example.m4:7: m4: Cannot open MODEL_ROOT/sw/lib/m4_macros/foreach2.m4: No such file or directory
パスに環境変数を含むファイルを含めるにはどうすればよいですか?