1--- Makefile.orig	2024-01-29 18:20:26 UTC
2+++ Makefile
3@@ -23,22 +23,24 @@ OPT = -O2 -g
4 W	= -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized
5 THREADS = -pthread
6 OPT = -O2 -g
7-CFLAGS	= $(THREADS) $(OPT) $(W) $(XCFLAGS)
8+CFLAGS	+= $(THREADS) $(W)
9 LDLIBS	=
10 SOLIBS	=
11-SOEXT	= .so
12-prefix	= /usr/local
13+SOEXT	= .so.0
14+prefix	?= /usr/local
15 exec_prefix = $(prefix)
16 bindir = $(exec_prefix)/bin
17 libdir = $(exec_prefix)/lib
18 includedir = $(prefix)/include
19 datarootdir = $(prefix)/share
20-mandir = $(datarootdir)/man
21+mandir = $(prefix)/share/man
22
23 ########################################################################
24
25 IHDRS	= lmdb.h
26-ILIBS	= liblmdb.a liblmdb$(SOEXT)
27+LIBS	= liblmdb.a
28+SHLIBS	= liblmdb$(SOEXT)
29+ILIBS	= $(LIBS) $(SHLIBS)
30 IPROGS	= mdb_stat mdb_copy mdb_dump mdb_load
31 IDOCS	= mdb_stat.1 mdb_copy.1 mdb_dump.1 mdb_load.1
32 PROGS	= $(IPROGS) mtest mtest2 mtest3 mtest4 mtest5
33@@ -49,10 +51,11 @@ install: $(ILIBS) $(IPROGS) $(IHDRS)
34 	mkdir -p $(DESTDIR)$(libdir)
35 	mkdir -p $(DESTDIR)$(includedir)
36 	mkdir -p $(DESTDIR)$(mandir)/man1
37-	for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done
38-	for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done
39-	for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done
40-	for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done
41+	for f in $(IPROGS); do $(INSTALL_PROGRAM) $$f $(DESTDIR)$(bindir); done
42+	for f in $(LIBS); do $(INSTALL_DATA) $$f $(DESTDIR)$(libdir); done
43+	for f in $(SHLIBS); do $(INSTALL_LIB) $$f $(DESTDIR)$(libdir); done
44+	for f in $(IHDRS); do $(INSTALL_DATA) $$f $(DESTDIR)$(includedir); done
45+	for f in $(IDOCS); do $(INSTALL_MAN) $$f $(DESTDIR)$(mandir)/man1; done
46
47 clean:
48 	rm -rf $(PROGS) *.[ao] *.[ls]o *~ testdb
49@@ -66,19 +69,30 @@ liblmdb$(SOEXT):	mdb.lo midl.lo
50
51 liblmdb$(SOEXT):	mdb.lo midl.lo
52 #	$(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS)
53-	$(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS)
54+	$(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS)
55
56 mdb_stat: mdb_stat.o liblmdb.a
57+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
58 mdb_copy: mdb_copy.o liblmdb.a
59+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
60 mdb_dump: mdb_dump.o liblmdb.a
61+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
62 mdb_load: mdb_load.o liblmdb.a
63+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
64 mtest:    mtest.o    liblmdb.a
65+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
66 mtest2:	mtest2.o liblmdb.a
67+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
68 mtest3:	mtest3.o liblmdb.a
69+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
70 mtest4:	mtest4.o liblmdb.a
71+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
72 mtest5:	mtest5.o liblmdb.a
73+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
74 mtest6:	mtest6.o liblmdb.a
75+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
76 mplay:	mplay.o liblmdb.a
77+	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
78
79 mdb.o: mdb.c lmdb.h midl.h
80 	$(CC) $(CFLAGS) $(CPPFLAGS) -c mdb.c
81