Makefile
読み:メイクファイル
外語:Makefile

 makeで用いられる、makeの動作を記述したファイルの標準名。
目次

概要
 makeの種類(実装)によっては他の名前が使われることもあるが、標準で読み込まれるファイル名は、大半のmakeで「makefile」または「Makefile」である。
 メイクファイルの名は、GNU makeだとGNUmakefile→makefile→Makefileの順に優先利用される。GNU makeの独自拡張を使用したメイクファイルはmakefileやMakefileではなくGNUmakefileという名前にすることで、明示的に指定しない限り他のmakeが誤って読むのを避けることができる。
 makefileのほうがMakefileより優先されるにも関わらず、ソース配布のアーカイブでMakefileの名前のほうをよく見掛けるのは、元々は大文字で始まる名前のファイルのほうが、lsしたときにREADMEやChangeLogといった重要ファイルと共に先に表示されるからであった。但し現在では、単に先達の真似をしているだけ、という理由が多いようである。

特徴
 具体的には、作られるファイルと、そのファイルを作るのに必要なファイル、そしてその作られるファイルを作るまでの手順を順に記述しておく。
 こうすると、必要なファイルのどれかが更新された場合に必要な処理を実行し、さもなくば何もしない、という理想的な動作を実現できる。
 手書きすることも可能だが、Makefile自動生成ツールとして、次のようなものもある。

作成例
 Makefileの例は、次の通り。
 #hello.cのコンパイル for MS-DOS/Windows (nmake)
 CC = cl
 LINK = link
 all: hello.obj hello.exe
 hello.obj: hello.c hello.h
  $(CC) -c hello.c
 hello.exe: hello.obj
  $(LINK) hello.obj

再検索