プログラムが複雑になってくると、 リンクするライブラリが増えたり、インクルードするファイルのパスを指定したりで、 段々とコンパイルコマンドが長くなってきます。 ある程度まではシェルのヒストリ機能でなんとかなりますが、 複数のソースファイルを分割コンパイルしたりすると、 その都度指定するファイルが異なったりして大変です。
このような場合、一つの Makefile を作っておくと、 コンパイルは make と打つだけですべて済ませることが可能になります。
以下に、第4節の演習問題用の Makefile の一例を示します。 この中で、$(CC) の前のスペースは、タブであることにだけ注意してください。
-----------------------# # Makefile for "ex4" # CC = gcc INCFLAGS = -I/usr/X11/include LDFLAGS = -L/usr/X11/lib -R/usr/X11/lib (ここで改行しない) -lXtc -lX11 -lm -lsocket -lnsl ex4: ex4.c $(CC) -o $@ $@.c $(INCFLAGS) $(LDFLAGS) # **** end of Makefile ****-----------------------