Makefileの書き方④

 前回では、内部マクロをつかって、Makefileを書き直しました。今回はさらにプレフィックスルールを使って書き直します。

プレフィックスルール

 C言語では必ず、.cファイルから.oファイルが作られます。そこであらかじめ.cファイルから.oファイルを作ることを、

.c.o:
        ${CC} -c $<

という形で、Makefile中で宣言しておきます。$は内部マクロです。
 これによりターゲットとしての.oファイルを記すだけで、その依存ファイルである.cファイルからコンパイルを行います。

ソースコード

OBJS = echo_main.o listened_socket.o main.o
CC = gcc

a.out: ${OBJS}
        ${CC} -o $@ $^

main.o:
echo_main.o:
listened_socket.o:

main.c: server.h

.c.o:
        ${CC} -c $<

 今回は

main.o:
echo_main.o:
listened_socket.o:

のようにターゲットファイルのみを書き、依存ファイルやその実行コマンド等は省略しました。
動作的にはMakefileの書き方①と全く同じです。