make [option] [target-file] -f file : Makefile の指定します.指定されない場合は,「 Makefile 」, または,「 makefile 」という名前のファイルが選択されます. なお,Makefile は以下の様な形式をしています. target: target が参照しているファイル [TAB] target を更新するコマンド 引き数 target-file が省略された時は,Makefile の中に最初に書かれたタ ーゲットを参照します.
LIBS = -lm # # プログラム # OBJECT = lpg.o basho_n.o init.o input.o output.o plan.o # # 実行 # lp: $(OBJECT) gcc $(OBJECT) $(LIBS) -o lpg # # コンパイル # c: $(OBJECT)
/temp lpg.c(主プログラム) /temp/input init.c input.c /temp/output output.c /temp/sim basho_n.c plan.c (ディレクトリ /temp にある Makefile ) # # 全体の制御 # LIBS = -L/temp -llpg -lm SUBDIR = input sim output all: lpg.o ${SUBDIR} gcc lpg.o $(LIBS) -o lpg ${SUBDIR}: FRC cd $@; make FRC: (ディレクトリ /temp/input にある Makefile.プログラム input.c がデ ィレクトリ /temp/include にあるヘッダファイル command.h を必要と しているものとします) # # 入力と初期設定プログラム # LIB = /temp/liblpg.a CFLAGS = -I /temp/include OBJECT = $(LIB)(input.o) $(LIB)(init.o) in: $(OBJECT) $(LIB)(input.o): /temp/include/command.h (ディレクトリ /temp/output にある Makefile ) # # 出力プログラム # LIB = /temp/liblpg.a OBJECT = $(LIB)(output.o) out: $(OBJECT) (ディレクトリ /temp/sim にある Makefile ) # # シミュレーションの実行プログラム # LIB = /temp/liblpg.a OBJECT = $(LIB)(basho_n.o) $(LIB)(plan.o) sim: $(OBJECT)
菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |