|
gdbm.hの生成手順(Makefile)
gdbm.h: gdbm.proto gdbmerrno.h gdbm.proto2 rm -f gdbm.h cp $(srcdir)/gdbm.proto gdbm.h chmod +w gdbm.h grep _ $(srcdir)/gdbmerrno.h >> gdbm.h cat $(srcdir)/gdbm.proto2 >> gdbm.h chmod -w gdbm.h |
gdbmerrno.h,gdbm.proto,gdbm.proto2には,ユーザが直接使用するデータ型の定義 (typedef)と,ユーザが使用する関数のプロトタイプがexternで宣言されている.
INSTALL = /usr/bin/install -c INSTALL_PROGRAM = $(INSTALL) INSTALL_DATA = $(INSTALL) -m 644 DBM_OF = dbminit.o delete.o fetch.o store.o seq.o close.o NDBM_OF = dbmopen.o dbmdelete.o dbmfetch.o dbmstore.o dbmseq.o \ dbmclose.o dbmdirfno.o dbmpagfno.o dbmrdonly.o GDBM_OF = gdbmopen.o gdbmdelete.o gdbmfetch.o gdbmstore.o gdbmclose.o \ gdbmreorg.o gdbmseq.o gdbmsync.o gdbmerrno.o gdbmexists.o gdbmsetopt.o \ bucket.o falloc.o findkey.o global.o hash.o update.o \ version.o OBJS = $(DBM_OF) $(NDBM_OF) $(GDBM_OF) install: libgdbm.a $(INSTALL_DATA) libgdbm.a $(libdir)/libgdbm.a libgdbm.a: $(OBJS) gdbm.h rm -f libgdbm.a ar q libgdbm.a $(OBJS) $(RANLIB) libgdbm.a