導入
「ビルドの自動化」と言われてもピンと来ないかもしれません。まずは make が何をするのかを、いちばん小さな Makefile で体感しましょう。やることは1つ、「make と打つと Makefile に書いた通りにコマンドが実行される」を見るだけです。
説明
Makefile の最小形は、次の3行です。
hello:
echo "Hello, Make!"
- 1行目の
hello:が ターゲット(作りたいもの/実行したい名前)。 - 2行目の
echo "Hello, Make!"が レシピ(そのために実行するコマンド)。
ここで超重要なルールが1つあります。レシピの行頭は、スペースではなく「タブ(Tab)」で字下げすること。これは make の長い歴史から来た決まりで、初心者が必ず一度はハマる罠です(このエディタでは Tab キーを押すと本物のタブ文字が入ります)。
make を実行すると、make は「実行するコマンド行」を画面に出してから、そのコマンドを走らせます。だから echo "Hello, Make!" という行と、その結果の Hello, Make! の2行が出ます。
やってみよう
下の端末で make と打って Enter を押してみましょう。次に、レシピの行の echo を echo "makeは楽しい" に書き換えて、もう一度 make。表示が変わるはずです。レシピ行の行頭がタブになっているかも意識してみてください。
演習
Makefile のレシピを書き換えて、make したときに build start という文字が表示されるようにしてみましょう。
ヒント1を見る
レシピ行(タブ字下げの行)を echo "build start" にします。
ヒント2を見る
行頭がスペースだと 区切り文字がありません というエラーになります。Tab キーで字下げし直してください。