Linux豆知識 212
「Makefile」ファイル
公開日:2018年03月16日
makeコマンドは、コンパイル作業を行うために様々な作業を自動的に行うためのコマンドです。「Makefile」は、コンパイル、依存関係の管理、インストールなどのルールを記述しておくためのファイルで、makeコマンドが読み込んで処理を行います。Makefileには、ファイルの生成手順や、プログラムを構成しているファイル同士の関係を記述します。
なお、Makefileをうまく記述すれば、プログラムのコンパイル以外にもLaTeXによる文章の作成作業などを自動化することもできます。たとえば、メールを扱うソフトウェア(MTA)であるSendmailの設定ファイル「sendmail.cf」を生成するためのマクロ処理をmakeコマンドを使って行っています。
Makefileの書式は以下の通りです。
--
変数宣言
ターゲット名:依存ファイル名
コマンド
--(注:コマンドの前のインデントはTAB)
ターゲットの記述例は以下の通りです。
--
lists:
ls -al
--
これをmakeで実行するには以下のように、makeファイルにターゲット名を指定して実行します。
$ make lists
ls -al
drwx------ 7 user user 4096 2? 24 02:22 2018 .
drwxr-xr-x. 5 root root 4096 7? 1 12:47 2015 ..
-rw------- 1 user user 17624 2? 4 02:00 2018 .bash_history
-rw-r--r-- 1 user user 18 5? 27 00:46 2011 .bash_logout
-rw-r--r-- 1 user user 176 5? 27 00:46 2011 .bash_profile
カーネルや、様々なOSSのビルドにおいて重要な役割を果たすMakefile。
色々なソフトウェアのソースコードに含まれているので、機会ごとに中身を見てみるとよいでしょう。