Makefileのアップグレード
655 ワード
前の記事では、cファイルに対応するのに十分な簡単なMakefileを書きましたが、より多くのインスタンスをコンパイルするときに拡張性が悪いことがわかりました.そこで本の対応するソースコードのMakefileの書き方を参考にして、小さなアップグレードをして、アップグレードしたMakefileはこのように成長しました:
注意しなければならないことを注釈に書いてあると、すぐにMakefileのデザインの牛が追い詰められているのを感じました.
# , $(variable)
ROOT=/usr/local/lib/apue.3e
CC=gcc
CFLAGS=-Wall
LIBAPUE=$(ROOT)/lib/libapue.a
INCLUDE=$(ROOT)/include
PROJS=myls mycp
all:$(PROJS)
# , :
#1. Makefile % 。 % target Makefile 。 , target。
#2. $@ , , %=myls, $@=myls
%: %.c $(INCLUDE)
$(CC) [email protected] -I $(INCLUDE) $(LIBAPUE) -o $@
clean:
rm -rf *.o myls *.out
注意しなければならないことを注釈に書いてあると、すぐにMakefileのデザインの牛が追い詰められているのを感じました.