2
M4を使用してファイルを展開するシステムで作業していますが、特定のケースで拡張に問題があります。定義/(可能であれば、私はむしろ、変更しないと思います)マクロの命名のための規則は__<name>__
(すなわち、二重先頭と末尾のアンダースコア)であるので、これは正しく展開されます。make m4は、マクロがマクロと同じ文字で終了するときに表示されます。
define(`__ROOT__', `/home/mydir')
...
__ROOT__/bin
は
/home/mydir/bin
を与えるが、 、
define(`__PREFIX__', `App_Mnemonic')
...
__PREFIX___some_service
は与えるべきである:
App_Mnemonic_some_service
しかし与える
__PREFIX___some_service
(すなわち
私はマクロの末尾のアンダースコアと基礎となるテキストの有効なアンダースコアの間にスペースがないとm4を混乱させると考えます。私はこれについて何かできることはありますか?環境変数のように、中括弧でマクロを区切ることはできますか?