Linux豆知識 212

「Makefile」ファイル

公開日:2018年03月16日

今回は、「Makefile」ファイルについて。

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。
色々なソフトウェアのソースコードに含まれているので、機会ごとに中身を見てみるとよいでしょう。


ページトップへ