make
|
はじめにソースファイルから実行ファイルを作成するためには,コンパイルとリンクの処理が必要です.多くのソースフィルで構成された長いプログラムの場合,これらの処理を指示するコマンド入力に手間がかかります.その作業を軽減するために「make」を使います.その他にも,make にはいろいろと便利な機能があります. make は万能ではありません.プログラマーは実行ファイルを作成するためのルールを指示しなくてはなりません.その指示内容を記述したファイルが,「Makefile」です.プログラマーはコマンド入力が軽減される代わりに,Makefile を書きます.どっちが楽か? makeを使った経験がある者は,Makefile を書く方が楽と言うに違いありません. このMakefileをきちんと書くと,かなりの作業を自動化できます.例えば,更新されたソースコードのみがコンパイルの対象となり,実行ファイル作成時間が短くなります.更新されたか否かは make が判断するので,プログラマーがコンパイルに必要なファイルを選び出す必要はありません. このページは,makeの使い方に関する私のメモです.完成まで時間がかかりますが,少しずつ書き加えるつもりです. 基本事項
マクロ
基本的な書き方3個のプログラムのソースファイル(main.cpp, file_A.cpp, file_B.cpp)と2個のヘッダーファイル(file_A.h, file_B.h)から,実行ファイル (exec_file) を作成するための Makefile は,次のように書くことができます. #-------------- basic settings --------------- TARGET = exec_file CFLAGS = -Wall CC = g++ #-------------- compile and link --------------- $(TARGET):main.o file_A.o file_B.o Makefile $(CC) $(CFLAGS) -o $(TARGET) main.o file_A.o file-B.o -lm main.o:main.cpp $(CC) $(CFLAGS) -c -o $@ $*.cpp file_A.o:file_A.cpp file_A.h $(CC) $(CFLAGS) -c -o $@ $*.cpp file_B.o:file_B.cpp file_B.h $(CC) $(CFLAGS) -c -o $@ $*.cpp #-------------- others ------------------------ .PHONY: clean clean: rm *.o rm $(TARGET) ページ作成情報参考資料
更新履歴
|