makeに踊らされないために――makeを思いどおりに動作させるためのヒントと秘訣1分ショートレビュー

makeを支配するには、makefileの理解が欠かせない。暗黙のルールや予期せぬ変数置換に惑わされることのないよう、先人の残した幾つかの知恵を授けよう。

» 2006年12月07日 08時00分 公開
[西尾泰三,ITmedia]

ここで紹介する記事は、developerWorksの「Makeをデバッグする」です。


 「make」――デベロッパーであれば一度くらいは体験したことがあるであろうこのコマンドだが、makefileを読み取ってアクションへとつなげるわけだが、果たしてどれだけのデベロッパーが「makeを理解している」と言えるだろう。

 一般にmakeといっても、大雑把に言ってGNU make、System V make、Berkeley makeの3種類が存在しているし、smakeやhistorical makeなども存在する。名前が違えば機能も少しずつではあるが異なるわけで、その結果、幾つかの困難な状況に遭遇することもある。

 こうした状況を回避し、makeを思い通りに動作させるにはプログラムをビルドするための命令を与えるmakefileの理解が欠かせない。しかし、残念ながらその全体像を捉えたドキュメントは少ない(GNU makeの基本ドキュメンテーションはmanフォーマットではなく、infoシステムを使う必要があることなども影響しているのかもしれないが)。

 本稿では、一件難解なmakefileの構造やその作成時に犯しがちな誤りを防ぐ方法、移植性に関する問題への対処などを中心に解説されている。makeで用いられる暗黙のルールなどは知らないだけで大幅な時間のロスとなる。近年ではビルドプロセスの自動化が進んでいるが、これは動作原理を知らなくてもよいことと同義ではないため、自身の理解度を確かめるためにも一度目を通しておくとよいだろう。少なくとも、以下のmakefile内の構文を一目見て、その間違いに気がつかないのであれば、すぐに上司に聞くか、developerWorksの記事を参照して答えを確認してほしい。


target: dependencies
        instructions

ここで紹介した記事は、developerWorksの「Makeをデバッグする」です。


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ