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