2 m4の起動
m4コマンドの形式は次のとおりです。
m4 [option...] [file...]
すべてのオプションは「-」で始まり、長いオプション名を使う場合は「--」で始まります。長いオプション名は完全に書く必要はなく、一意に識別できる接頭部分だけで十分です。POSIXでは、環境変数POSIXLY_CORRECTが設定されていても、m4がファイル名と混在する引数を認識することを要求しています。ほとんどのオプションは指定位置にかかわらず起動時に有効になりますが、一部は、コマンドラインでその前に現れたファイルを処理した後に有効になるものとして、以下で説明します。引数--はオプションの終わりを示す印です。
短いオプションでは、引数を取らないオプションを、その後に続くオプションとまとめて1つのコマンドライン引数にできます。必須の引数を取るオプションは、1つのコマンドライン引数としても2つの引数としても指定できます。任意の引数を取るオプションは、1つの引数として指定する必要があります。つまり、m4 -QPDfoo -d a -dfはm4 -Q -P -D foo -d -df -- ./aと同等ですが、後者が標準的な書き方とされます。
長いオプションでは、必須の引数を取るオプションを、等号(「=」)を使って1つの引数としても、2つの引数としても指定できます。任意の引数を取るオプションは、1つの引数として指定する必要があります。つまり、m4 --def foo --debug aはm4 --define=foo --debug= -- ./aと同等ですが、後者が標準的な書き方とされます(将来のm4に--defaultというオプションが導入された場合にも、後者の方が確実です)。
m4は、機能別に分類した次のオプションを認識します。
- 動作モードのコマンドラインオプション
- プリプロセッサ機能のコマンドラインオプション
- 制限を制御するコマンドラインオプション
- 凍結状態のコマンドラインオプション
- デバッグのコマンドラインオプション
- コマンドラインでの入力ファイルの指定