プログラムグループの保守、アップデート、および再生成(要Makefile)
HP/UXでは「mkmf」、Linuxでは、「imake、xmkmf」等で
Makefileを自動生成可能。
複数Makefileが有った場合の使用するファイルの優先順位。 ※「-f [Makefile名]」とMakefileを宣言した場合は最優先となる。 (1) makefile (2) Makefile (3) s.makefile (4) SCCS/s.makefile (5) s.Makefile or SCCS/s.Makefile
make
make install
make clean
make clobber
make depend
make echo
CFLAGS = [デバッグ(-DDBG等)、コンパイル・オプション、インクルードパス(-I)] DEST = [インストール先パス] EXTHDRS = [カレント・ディレクトリ外のヘッダ] HDRS = [カレント・ディレクトリ内のヘッダ] INSTALL = /usr/sbin/install LD = [コンパイラ(cc、gcc等) default:cc] LDFLAGS = [リンクオプション、リンクに必要なライブラリ等] LIBS = [リンクに必要なライブラリ一覧] MAKEFILE = Makefile OBJS = [オブジェクト一覧] PRINT = [印刷用アプリ default:pr] PROGRAM = [作成アプリ名称 default:a.out] SHELL = /usr/bin/sh SRCS = [コンパイルする ソース一覧] SYSHDRS = [コンパイルに必要なシステム・ヘッダ] all: $(PROGRAM) $(PROGRAM): $(OBJS) $(LIBS) @echo "Linking $(PROGRAM) ..." @$(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o $(PROGRAM) @echo "done" clean:; @rm -f $(OBJS) core clobber:; @rm -f $(OBJS) $(PROGRAM) core tags depend:; @mkmf -f $(MAKEFILE) ROOT=$(ROOT) echo:; @echo $(HDRS) $(SRCS) index:; @ctags -wx $(HDRS) $(SRCS) install: $(PROGRAM) @echo Installing $(PROGRAM) in $(DEST) @-strip $(PROGRAM) @if [ $(DEST) != . ]; then \ (rm -f $(DEST)/$(PROGRAM); $(INSTALL) -f $(DEST) $(PROGRAM)); fi print:; @$(PRINT) $(HDRS) $(SRCS) tags: $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS) update: $(DEST)/$(PROGRAM) $(DEST)/$(PROGRAM): $(SRCS) $(LIBS) $(HDRS) $(EXTHDRS) @$(MAKE) -f $(MAKEFILE) ROOT=$(ROOT) DEST=$(DEST) install