1#### Start of system configuration section. ####
2
3srcdir = .
4top_builddir = .
5
6
7CC = mipsel-linux-uclibc-gcc
8RANLIB = mipsel-linux-linux26-ranlib
9LIBTOOL = $(SHELL) $(top_builddir)/libtool
10
11# GDBM 1.8.3 builds shared libraries version 3.0
12SHLIB_VER = 3 0 0
13
14INSTALL = /usr/bin/install -c
15INSTALL_PROGRAM = ${INSTALL}
16INSTALL_DATA = ${INSTALL} -m 644
17
18# File ownership and group
19BINOWN = `id -u`
20BINGRP = `id -g`
21
22MAKEINFO = makeinfo
23TEXI2DVI = texi2dvi
24
25DEFS =
26
27# Where the system [n]dbm routines are...
28LIBS =  -lc
29
30CFLAGS += -Os -I${PKG_INSTALL_DIR}/usr/include -I${PKG_INSTALL_DIR}/include
31LDFLAGS += -L${PKG_INSTALL_DIR}/usr/lib -L${PKG_INSTALL_DIR}/lib
32
33# Common prefix for installation directories
34prefix = /usr
35exec_prefix = /usr
36binprefix = $(exec_prefix)
37manprefix = $(prefix)
38
39INSTALL_ROOT = $(PKG_INSTALL_DIR)
40
41# Directory in which to put libgdbm.a.
42libdir = ${exec_prefix}/lib
43# The include directory for gdbm.h and dbm.h.
44includedir = ${prefix}/include
45# Info and man directories.
46infodir = /usr/info
47man3dir = /usr/man/man3
48manext = 3
49
50#### End of system configuration section. ####
51
52.SUFFIXES:
53.SUFFIXES: .c .lo .o
54
55.c.o:
56	$(CC) -c $(CPPFLAGS) $(DEFS) -I. -I$(srcdir) $(CFLAGS) $<
57
58.c.lo:
59	$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(DEFS) -I. -I$(srcdir) $(CFLAGS) $<
60
61SHELL = /bin/sh
62
63PROGS = libgdbm.la libgdbm.a testgdbm testdbm testndbm tndbm tdbm conv2gdbm
64
65DBM_CF = dbminit.c delete.c fetch.c store.c seq.c close.c
66
67NDBM_CF = dbmopen.c dbmdelete.c dbmfetch.c dbmstore.c dbmseq.c \
68	dbmclose.c dbmdirfno.c dbmpagfno.c dbmrdonly.c
69
70GDBM_CF = gdbmopen.c gdbmdelete.c gdbmfetch.c  gdbmstore.c gdbmclose.c \
71	gdbmreorg.c gdbmseq.c gdbmsync.c gdbmerrno.c gdbmexists.c gdbmfdesc.c \
72	gdbmsetopt.c bucket.c falloc.c findkey.c global.c hash.c update.c \
73	version.c
74
75TEST_CF = testdbm.c testndbm.c testgdbm.c
76
77
78DBM_OF = dbminit.o delete.o fetch.o store.o seq.o close.o
79
80NDBM_OF = dbmopen.o dbmdelete.o dbmfetch.o dbmstore.o dbmseq.o \
81	dbmclose.o dbmdirfno.o dbmpagfno.o dbmrdonly.o
82
83GDBM_OF = gdbmopen.o gdbmdelete.o gdbmfetch.o  gdbmstore.o gdbmclose.o \
84	gdbmreorg.o gdbmseq.o gdbmsync.o gdbmerrno.o gdbmexists.o gdbmfdesc.o \
85	gdbmsetopt.o bucket.o falloc.o findkey.o global.o hash.o update.o \
86	version.o
87
88DBM_LOF = dbminit.lo delete.lo fetch.lo store.lo seq.lo close.lo
89
90NDBM_LOF = dbmopen.lo dbmdelete.lo dbmfetch.lo dbmstore.lo dbmseq.lo \
91	dbmclose.lo dbmdirfno.lo dbmpagfno.lo dbmrdonly.lo
92
93GDBM_LOF = gdbmopen.lo gdbmdelete.lo gdbmfetch.lo  gdbmstore.lo gdbmclose.lo \
94	gdbmreorg.lo gdbmseq.lo gdbmsync.lo gdbmerrno.lo gdbmexists.lo \
95	gdbmfdesc.lo gdbmsetopt.lo bucket.lo falloc.lo findkey.lo global.lo \
96	hash.lo update.lo version.lo
97
98TEX_F = gdbm.aux gdbm.cp gdbm.dvi gdbm.fn gdbm.ky gdbm.log gdbm.pg \
99	gdbm.toc gdbm.tp gdbm.vr
100
101TEXI_F = gdbm.info
102     
103SRCS = $(DBM_CF) $(NDBM_CF) $(GDBM_CF) $(TEST_CF)
104
105# The old all in one library:
106#OBJS = $(DBM_OF) $(NDBM_OF) $(GDBM_OF)
107#
108#LOBJS = $(DBM_LOF) $(NDBM_LOF) $(GDBM_LOF)
109
110# The new split libraries:
111OBJS = $(GDBM_OF)
112LOBJS = $(GDBM_LOF)
113
114C_OBJS = $(DBM_OF) $(NDBM_OF)
115C_LOBJS = $(DBM_LOF) $(NDBM_LOF)
116
117HDRS = gdbmdefs.h extern.h gdbmerrno.h systems.h dbm.h ndbm.h gdbmconst.h \
118	proto.h
119
120MSCFILES = COPYING ChangeLog Makefile.in README gdbm.3 gdbm.texinfo \
121	gdbm.info NEWS INSTALL gdbm.proto gdbm.proto2 conv2gdbm.c \
122	configure configure.in getopt.c getopt.h samp1.cc \
123	autoconf.h.in install-sh mkinstalldirs config.guess config.sub \
124	aclocal.m4 ltconfig ltmain.sh
125
126DISTFILES = $(SRCS) $(HDRS) $(MSCFILES)
127
128all: libgdbm.la libgdbm_compat.la libgdbm.a libgdbm_compat.a 
129
130progs: $(PROGS)
131
132install: libgdbm.la gdbm.h gdbm.info libgdbm.a libgdbm_compat.a
133	$(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \
134		$(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \
135		$(INSTALL_ROOT)$(infodir)
136	$(LIBTOOL) $(INSTALL) -c libgdbm.a $(INSTALL_ROOT)$(libdir)/libgdbm.a
137	$(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la
138	$(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \
139		$(INSTALL_ROOT)$(includedir)/gdbm.h
140	$(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \
141		$(INSTALL_ROOT)$(man3dir)/gdbm.3
142	$(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \
143		$(INSTALL_ROOT)$(infodir)/gdbm.info
144
145install-compat:
146	$(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \
147		$(INSTALL_ROOT)$(includedir)
148	$(LIBTOOL) $(INSTALL) -c libgdbm_compat.a \
149		$(INSTALL_ROOT)$(libdir)/libgdbm_compat.a
150	$(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \
151		$(INSTALL_ROOT)$(libdir)/libgdbm_compat.la
152	$(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \
153		$(INSTALL_ROOT)$(includedir)/dbm.h
154	$(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \
155		$(INSTALL_ROOT)$(includedir)/ndbm.h
156
157libgdbm.a: $(OBJS) gdbm.h
158	rm -f libgdbm.a
159	ar q libgdbm.a $(OBJS)
160	$(RANLIB) libgdbm.a
161
162libgdbm.la: $(LOBJS) gdbm.h
163	rm -f libgdbm.la
164	$(LIBTOOL) --mode=link $(CC) -o libgdbm.la -rpath $(libdir) \
165		-version-info $(SHLIB_VER) $(LOBJS)
166
167libgdbm_compat.a: $(OBJS) gdbm.h
168	rm -f libgdbm_compat.a
169	ar q libgdbm_compat.a $(OBJS)
170	$(RANLIB) libgdbm_compat.a
171
172libgdbm_compat.la: $(C_LOBJS) gdbm.h
173	rm -f libgdbm_compat.la
174	$(LIBTOOL) --mode=link $(CC) -o libgdbm_compat.la -rpath $(libdir) \
175		-version-info $(SHLIB_VER) $(C_LOBJS)
176
177gdbm.h:	gdbm.proto gdbmerrno.h gdbm.proto2
178	rm -f gdbm.h
179	cp $(srcdir)/gdbm.proto gdbm.h
180	chmod +w gdbm.h
181	grep _ $(srcdir)/gdbmerrno.h >> gdbm.h
182	cat $(srcdir)/gdbm.proto2 >> gdbm.h
183	chmod -w gdbm.h
184
185testgdbm: testgdbm.o libgdbm.la 
186	$(LIBTOOL) $(CC) $(LDFLAGS) -o testgdbm testgdbm.o libgdbm.la 
187
188testdbm: testdbm.o libgdbm.la libgdbm_compat.la
189	$(LIBTOOL) $(CC) $(LDFLAGS) -o testdbm testdbm.o libgdbm.la libgdbm_compat.la
190
191tdbm: testdbm.o
192	$(CC) $(LDFLAGS) -o tdbm testdbm.o $(LIBS)
193
194testndbm.o: testndbm.c
195	$(CC) -c -I. -I$(srcdir) $(CFLAGS) $(DEFS) -DGNU $(srcdir)/testndbm.c
196
197testndbm: testndbm.o libgdbm.la libgdbm_compat.la
198	$(LIBTOOL) $(CC) $(LDFLAGS) -o testndbm testndbm.o libgdbm.la libgdbm_compat.la
199
200tndbm.o: testndbm.c
201	cp $(srcdir)/testndbm.c ./tndbm.c
202	$(CC) -c -I. -I$(srcdir) $(CFLAGS) $(DEFS) ./tndbm.c
203	rm -f ./tndbm.c
204
205tndbm: tndbm.o
206	$(CC) $(LDFLAGS) -o tndbm tndbm.o $(LIBS)
207
208conv2gdbm: conv2gdbm.o libgdbm.la 
209	$(LIBTOOL) $(CC) $(LDFLAGS) -o conv2gdbm conv2gdbm.o $(LIBS) libgdbm.la 
210
211lintgdbm: 
212	lint $(DEFS) $(LFLAGS) $(DBM_CF) $(NDBM_CF) $(GDBM_CF) testgdbm.c
213
214TAGS: $(SRCS)
215	etags $(SRCS)
216
217info: gdbm.info
218
219gdbm.info: gdbm.texinfo
220	$(MAKEINFO) $(srcdir)/gdbm.texinfo
221
222dvi: gdbm.dvi
223
224gdbm.dvi: gdbm.texinfo
225	$(TEXI2DVI) $(srcdir)/gdbm.texinfo
226
227clean:
228	rm -rf $(PROGS) $(TEX_F) *.a *.la *.o *.lo core *.core junk* \
229		.libs _libs
230
231mostlyclean: clean
232
233distclean: clean
234	rm -f Makefile autoconf.h config.status config.cache config.log \
235		gdbm.h libtool $(TEXI_F) *~
236
237realclean: distclean
238	rm -f TAGS
239	-rm -f \
240	  `sed -n 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/gdbm-\1/p' \
241		version.c`.tar.gz
242
243dist:
244	echo \
245	  `sed -n 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/gdbm-\1/p' \
246		version.c` > .fname
247	rm -rf `cat .fname`
248	mkdir `cat .fname`
249	ln $(DISTFILES) `cat .fname`
250	tar chf `cat .fname`.tar `cat .fname`
251	gzip `cat .fname`.tar
252	rm -rf `cat .fname` .fname
253
254# dbm files
255dbminit.o:	autoconf.h gdbmdefs.h proto.h extern.h gdbmerrno.h
256delete.o:	autoconf.h gdbmdefs.h proto.h extern.h
257fetch.o:	autoconf.h gdbmdefs.h proto.h extern.h
258store.o:	autoconf.h gdbmdefs.h proto.h extern.h
259seq.o:		autoconf.h gdbmdefs.h proto.h extern.h
260
261# ndbm files
262dbmopen.o:	autoconf.h gdbmdefs.h extern.h gdbmerrno.h
263dbmdelete.o:	autoconf.h gdbmdefs.h extern.h
264dbmfetch.o:	autoconf.h gdbmdefs.h extern.h
265dbmstore.o:	autoconf.h gdbmdefs.h extern.h
266dbmseq.o:	autoconf.h gdbmdefs.h extern.h
267dbmclose.o:	autoconf.h gdbmdefs.h systems.h
268dbmpagfno.o:	autoconf.h gdbmdefs.h extern.h
269dbmdirfno.o:	autoconf.h gdbmdefs.h extern.h
270
271
272# gdbm files
273gdbmclose.o:	autoconf.h gdbmdefs.h 
274gdbmdelete.o:	autoconf.h gdbmdefs.h gdbmerrno.h 
275gdbmfetch.o:	autoconf.h gdbmdefs.h gdbmerrno.h 
276gdbmfdesc.o:	autoconf.h gdbmdefs.h
277gdbmopen.o:	autoconf.h gdbmdefs.h gdbmerrno.h 
278gdbmreorg.o:	autoconf.h gdbmdefs.h gdbmerrno.h extern.h
279gdbmseq.o:	autoconf.h gdbmdefs.h 
280gdbmstore.o:	autoconf.h gdbmdefs.h gdbmerrno.h 
281
282# gdbm support files
283bucket.o:	autoconf.h gdbmdefs.h
284falloc.o:	autoconf.h gdbmdefs.h
285findkey.o:	autoconf.h gdbmdefs.h
286global.o:	autoconf.h gdbmdefs.h gdbmerrno.h 
287hash.o:		autoconf.h gdbmdefs.h
288update.o:	autoconf.h gdbmdefs.h
289version.o:
290extern.h:
291gdbmdefs.h:	gdbmconst.h systems.h
292	touch gdbmdefs.h
293
294# other programs
295testgdbm.o:	autoconf.h gdbmdefs.h extern.h gdbmerrno.h systems.h
296testdbm.o:	autoconf.h
297testndbm.o:	autoconf.h ndbm.h
298tdbm.o:		autoconf.h
299conv2gdbm.o:	autoconf.h gdbm.h
300