上記の例では、私たちが編集のルールを見てみましょう:
編集:main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o CC - 編集O main.o kbd.o command.o display.o \ insert.o search.o files.oのutils.o
私たちは、新しいプロジェクト[の.o]ファイルを追加する必要がある場合、我々は2つの場所にする必要がプラス(同様に、3ヶ所である必要があり、[の.o]ファイルの文字列が二回繰り返され、見ることができます代わりにきれい)。もちろん、私たちのメイクファイルは複雑ではないので、2つの場所に加えて、疲れになりますが、メイクファイルが複雑であるので、我々はおそらく忘れ場所を追加する必要がありますし、コンパイルが失敗した場合はありません。そのため、注文メイクファイルにメイクファイルで、我々は変数を使用することができ、保守が容易です。C言語のマクロとして理解する文字列ですmakefileの変数は、良いかもしれません。
例えば、我々は関係なく、限り、彼らはライン上のOBJファイルを表すように何、オブジェクト、オブジェクト、OBJS、OBJS、OBJ、またはとにかくOBJ、という名前の変数を宣言していません。そこで我々は、メイクファイルの先頭で定義されています:
オブジェクト= main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
だから私たちは私たちのメイクファイルに「$(オブジェクト)」は、この変数を使用する方法では簡単にできますので、我々はバージョンは、このような次のmakefileになっ修正:
オブジェクト= main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o 編集:$(オブジェクト) のcc - O編集$(オブジェクト) main.o:main.cのDEFS。 H CC - C main.cの kbd.o:kbd.c defs.h command.h CC - C kbd.c command.o:command.c defs.h command.h CC - C command.c display.o:ディスプレイ.C defs.h buffer.h CC - C display.c insert.o:insert.c defs.h buffer.h CC - C insert.c search.o:search.c defs.h buffer.h CC - C検索.C files.o:files.c defs.h buffer.h command.h CC - C files.c utils.o:あるutils.c defs.h のcc - Cあるutils.c クリーン: RM編集$(オブジェクト)
新しい.oファイルを追加しているのであれば、我々は単に上のオブジェクト変数を変更します。
変数の複数のトピックについて、私はあなたに11年間のフォローアップを与えるでしょう。