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の書き方①と全く同じです。