@@ -6,8 +6,19 @@ INSTALL = /usr/bin/install -c
6
6
BINDIR =$(DESTDIR )$(PREFIX ) /bin
7
7
LIBDIR =$(DESTDIR )$(PREFIX ) /lib
8
8
INCDIR =$(DESTDIR )$(PREFIX ) /include/librdb/
9
+ LIBRDB_INSTALL_SHARED: =yes
10
+ LIBRDB_INSTALL_STATIC: =yes
9
11
10
- VERSION = $(shell grep -oP '(?<=LIBRDB_VERSION_STRING ") [0-9]+\.[0-9]+\.[0-9]+' ./src/lib/version.h)
12
+ UNAME := $(shell uname)
13
+
14
+ ifneq (,$(filter $(UNAME ) ,OpenBSD FreeBSD NetBSD) )
15
+ PKGCONFIGDIR = $(DESTDIR)$(PREFIX)/libdata/pkgconfig
16
+ else
17
+ PKGCONFIGDIR = $(LIBDIR)/pkgconfig
18
+ endif
19
+
20
+ LIBRDB_VERSION = $(shell grep -oP '(?<=LIBRDB_VERSION_STRING ") [0-9]+\.[0-9]+\.[0-9]+' ./src/lib/version.h)
21
+ export LIBRDB_VERSION
11
22
12
23
# ------------------------- ALL --------------------------------------
13
24
25
36
$(MAKE ) -C src/cli -f Makefile clean
26
37
$(MAKE ) -C examples -f Makefile clean
27
38
$(MAKE ) -C test -f Makefile clean
39
+ rm -f librdb.pc
40
+ rm -f librdb-ext.pc
28
41
29
42
distclean : clean
30
43
@@ -48,41 +61,64 @@ valgrind: build_test
48
61
./runtests -v
49
62
50
63
# ------------------------- INSTALL --------------------------------------
51
- install : all
64
+
65
+ librdb.pc : librdb.pc.in Makefile
66
+ sed -e ' s|@PREFIX@|$(PREFIX)|' \
67
+ -e 's|@VERSION@|$(LIBRDB_VERSION)|' \
68
+ $< >$@
69
+
70
+ librdb-ext.pc : librdb-ext.pc.in Makefile
71
+ sed -e ' s|@PREFIX@|$(PREFIX)|' \
72
+ -e 's|@VERSION@|$(LIBRDB_VERSION)|' \
73
+ $< >$@
74
+
75
+ install : all librdb.pc librdb-ext.pc
52
76
$(INSTALL ) -d $(BINDIR )
53
- $(INSTALL ) -m 755 bin/rdb-cli $(BINDIR ) /rdb-cli-$(VERSION )
54
- ln -fsr $(BINDIR ) /rdb-cli-$(VERSION ) $(BINDIR ) /rdb-cli
77
+ $(INSTALL ) -m 755 bin/rdb-cli $(BINDIR ) /rdb-cli-$(LIBRDB_VERSION )
78
+ ln -fsr $(BINDIR ) /rdb-cli-$(LIBRDB_VERSION ) $(BINDIR ) /rdb-cli
55
79
$(INSTALL ) -d $(LIBDIR )
56
- $(INSTALL ) -m 755 lib/librdb.so $(LIBDIR ) /librdb.so.$(VERSION )
57
- ln -fsr $(LIBDIR ) /librdb.so.$(VERSION ) $(LIBDIR ) /librdb.so
58
- $(INSTALL ) -m 755 lib/librdb-ext.so $(LIBDIR ) /librdb-ext.so.$(VERSION )
59
- ln -fsr $(LIBDIR ) /librdb-ext.so.$(VERSION ) $(LIBDIR ) /librdb-ext.so
60
- $(INSTALL ) -m 755 lib/librdb.a $(LIBDIR ) /librdb.a.$(VERSION )
61
- ln -fsr $(LIBDIR ) /librdb.a.$(VERSION ) $(LIBDIR ) /librdb.a
62
- $(INSTALL ) -m 755 lib/librdb-ext.a $(LIBDIR ) /librdb-ext.a.$(VERSION )
63
- ln -fsr $(LIBDIR ) /librdb-ext.a.$(VERSION ) $(LIBDIR ) /librdb-ext.a
80
+
81
+ ifeq ($(LIBRDB_INSTALL_SHARED ) ,yes)
82
+ $(INSTALL) -m 755 lib/librdb.so.$(LIBRDB_VERSION) $(LIBDIR)/librdb.so.$(LIBRDB_VERSION)
83
+ ln -fsr $(LIBDIR)/librdb.so.$(LIBRDB_VERSION) $(LIBDIR)/librdb.so
84
+ $(INSTALL) -m 755 lib/librdb-ext.so.$(LIBRDB_VERSION) $(LIBDIR)/librdb-ext.so.$(LIBRDB_VERSION)
85
+ ln -fsr $(LIBDIR)/librdb-ext.so.$(LIBRDB_VERSION) $(LIBDIR)/librdb-ext.so
86
+ $(INSTALL) -d $(PKGCONFIGDIR)
87
+ $(INSTALL) -m 644 librdb.pc $(PKGCONFIGDIR)
88
+ $(INSTALL) -m 644 librdb-ext.pc $(PKGCONFIGDIR)
89
+ endif
90
+
91
+ ifeq ($(LIBRDB_INSTALL_STATIC ) ,yes)
92
+ $(INSTALL) -m 755 lib/librdb.a $(LIBDIR)/librdb.a.$(LIBRDB_VERSION)
93
+ ln -fsr $(LIBDIR)/librdb.a.$(LIBRDB_VERSION) $(LIBDIR)/librdb.a
94
+ $(INSTALL) -m 755 lib/librdb-ext.a $(LIBDIR)/librdb-ext.a.$(LIBRDB_VERSION)
95
+ ln -fsr $(LIBDIR)/librdb-ext.a.$(LIBRDB_VERSION) $(LIBDIR)/librdb-ext.a
96
+ endif
97
+
64
98
$(INSTALL) -d $(INCDIR)
65
99
$(INSTALL) -m 644 api/librdb-api.h $(INCDIR)
66
100
$(INSTALL) -m 644 api/librdb-ext-api.h $(INCDIR)
67
101
68
102
uninstall :
69
103
rm -f $(BINDIR ) /rdb-cli || true
70
- rm -f $(BINDIR ) /rdb-cli-$(VERSION )
104
+ rm -f $(BINDIR ) /rdb-cli-$(LIBRDB_VERSION )
71
105
rm -f $(LIBDIR ) /librdb.so
72
- rm -f $(LIBDIR ) /librdb.so.$(VERSION )
106
+ rm -f $(LIBDIR ) /librdb.so.$(LIBRDB_VERSION )
73
107
rm -f $(LIBDIR ) /librdb-ext.so
74
- rm -f $(LIBDIR ) /librdb-ext.so.$(VERSION )
108
+ rm -f $(LIBDIR ) /librdb-ext.so.$(LIBRDB_VERSION )
75
109
rm -f $(LIBDIR ) /librdb.a
76
- rm -f $(LIBDIR ) /librdb.a.$(VERSION )
110
+ rm -f $(LIBDIR ) /librdb.a.$(LIBRDB_VERSION )
77
111
rm -f $(LIBDIR ) /librdb-ext.a
78
- rm -f $(LIBDIR ) /librdb-ext.a.$(VERSION )
112
+ rm -f $(LIBDIR ) /librdb-ext.a.$(LIBRDB_VERSION )
79
113
rm -f $(INCDIR ) /librdb-api.h
80
114
rm -f $(INCDIR ) /librdb-ext-api.h
115
+ rm -f $(PKGCONFIGDIR ) /librdb.pc
116
+ rm -f $(PKGCONFIGDIR ) /librdb-ext.pc
81
117
82
118
# ------------------------- HELP --------------------------------------
83
119
84
120
help :
85
- @echo " librdb (v$( VERSION ) ) target rules:"
121
+ @echo " librdb (v$( LIBRDB_VERSION ) ) target rules:"
86
122
@echo " all - Build parser libraries, tests, and run tests"
87
123
@echo " debug - Build without compiler optimization and with assert() enabled"
88
124
@echo " test - Run tests with shared lib"
96
132
@echo " help - Prints this message"
97
133
98
134
99
- .PHONY : all debug test valgrind example clean distclean install uninstall build_test help
135
+ .PHONY : all debug test valgrind example clean distclean install uninstall build_test help
0 commit comments