Makefile を作る
Completion requirements
1.Makefile
- 一々 gcc を入力するもの面倒くさいので Makefile を作ろう!!
- コマンドラインで make と入力すると,Makefile の内容に従って,コマンドが実行される.
- 同じようなツール(構築ツール,配布ツール)に Java では ant,.NETには NAnt がある.
2.Makefileの文法
基本的のは以下のように書く
作りたいもの:材料1 材料2 材料3 ......
作り方
「作りたいもの」は行の先頭から書く.
「材料」 は「作りたいもの」の後の : に続いて書く.
「作り方」は前には必ず,行頭からTABを1個挿入する.空白ではいけない.
例:
all: euclid
euclid.o: euclid.c gcc euclid.c -c input.o: input.c gcc input.c -c output.o: output.c gcc output.c -c main.o: main.c euclid.h gcc main.c -c euclid: main.o input.o output.o euclid.o gcc main.o input.o output.o euclid.o -o euclid clean: rm -f *.o euclid
コマンド
make euclid と入力すると,euclid が作られる.
単に make と入力すると,all の行が作られる.
3. もう少し洗練された Makefileの書き方
SUBJ = euclid CC = gcc CFLAGS = all: $(SUBJ) .c.o: $(CC) $< $(CFLAGS) -c -O2 euclid: main.o input.o output.o euclid.o gcc main.o input.o output.o euclid.o -o euclid clean: rm -f *.o $(SUBJ)
Last modified: Friday, 12 June 2015, 9:41 AM