### 第7部　MAKE編

ここでは、更新されたソースファイルなどをチェックし、必要最低限なビルド作業を行なわせる「プログラム保守ユーティリティ」“MAKE.EXE”のコマンドラインオプションや、エラーメッセージなどについてを説明します。

## 第19章　MAKEの概要

MAKEは、プログラム開発を自動化します。MAKEは、ソースファイル（ASM）、オブジェクトファイル（OBJ）、オプションファイル（OPT）、CGROMファイル（CGR）などが更新された場合、実行可能ファイル（EVA）を自動的に更新します。

MAKEを実行するには、MAKEが必要とする情報を含むファイル（MAKEファイル）を必要とします。MAKEファイルは、さまざまな命令で構成されるテキストファイルであり、この命令にしたがってプログラムをビルドします。これらの命令は、記述ブロック、マクロ、ディレクティブ、推論規則で構成されます。記述ブロックには、ターゲットとその依存ファイル、ターゲットをビルドするためのコマンドが記述されます。MAKEは、ターゲットのタイムスタンプと依存ファイルのタイムスタンプを比較し、ターゲットの最終更新日時以降に依存ファイルが更新されている場合、記述ブロックのコマンドを実行しターゲットをビルドします。

### 19-1　MAKEの実行

MAKEを起動するには、次のコマンドを入力します。

>     MAKE [options] [/f makefile] [/x errorfile] [targets]

#### optionsフィールド

optionsフィールドには、MAKEのオプションを指定します。MAKEのオプションついては「19.1.2　コマンドラインオプション」を参照してください。

#### makefile

makefileには、MAKEファイルの名称を指定します。この場合’／f’と’makefile’の間にはスペースが必要です。MAKEファイル名が’MAKEFILE’の場合、ファイル名を省略できます。

#### errorfile

errorfileには、エラー出力ファイルの名称を指定します。この場合’／x’および’errorfile’の間にはスペースが必要です。通常、エラー出力は、ディスプレイですがこのオプションを指定することにより、ファイルへの出力ができます。

#### targetsフィールド

targetsフィールドには、ビルドするターゲットを指定します。コマンドラインで指定されたターゲットがビルドされます。ターゲットの指定がなく、.TARGETディレクティブの指定もない場合には、MAKEファイル中の最初に指定されているターゲットがビルドされます。

#### 19-1-1　ビルドの優先順位

MAKEによるビルド処理は、次の優先順位にしたがいます。

1. ／fオプションを指定した場合、MAKEは指定されたMAKEファイルをカレントディレクトリまたは指定のディレクトリより検索します。ファイルが見つからない場合は、処理を中止します。
2. ／fオプションを指定しない場合は、MAKEはファイル名が’MAKEFILE’というMAKEファイルをカレントディレクトリで探します。
3. ／rオプションを指定しない場合、MAKEはメイクルールファイルをカレントディレクトリより探します。カレントディレクトリにない場合は、MAKE本体のあるディレクトリを探します。メイクルールファイルが見つからない場合は、処理を中止します。

#### 19-1-2　コマンドラインオプション

MAKEの処理を制御するために、次のオプションがサポートされています。オプションは、大文字でも小文字でもかまいません。また、指定する場合は、オプション名の前に’／’を付加します。

. |

### /E
外部マクロを優先する

マクロ参照において外部マクロを優先します。ディフォルトは、内部マクロ優先です。

[←] | [INDEX] | [→]