5 ENABLE_TIPC
:= $(shell if echo
"\#include <linux/tipc.h>" | \
6 $(CPP
) - > /dev
/null
2>&1; then echo
1; else echo
0; fi
)
7 ENABLE_SCTP
:= $(shell if echo
"\#include <netinet/sctp.h>" | \
8 $(CPP
) - > /dev
/null
2>&1; then echo
1; else echo
0; fi
)
11 BE_ENABLE_QDBM
:= $(shell if
`pkg-config --exists qdbm`; \
12 then echo
1; else echo
0; fi
)
13 BE_ENABLE_BDB
:= $(shell if echo
"\#include <db.h>" | \
14 $(CPP
) - > /dev
/null
2>&1; then echo
1; else echo
0; fi
)
15 BE_ENABLE_TC
:= $(shell if
`pkg-config --exists tokyocabinet`; \
16 then echo
1; else echo
0; fi
)
17 BE_ENABLE_TDB
:= $(shell if
`pkg-config --exists tdb`; \
18 then echo
1; else echo
0; fi
)
22 CFLAGS
+= -std
=c99
-pedantic
-Wall
-O3
23 ALL_CFLAGS
= -D_XOPEN_SOURCE
=600 $(CFLAGS
)
24 ALL_CFLAGS
+= -DENABLE_TIPC
=$(ENABLE_TIPC
) \
25 -DENABLE_TCP
=$(ENABLE_TCP
) \
26 -DENABLE_UDP
=$(ENABLE_UDP
) \
27 -DENABLE_SCTP
=$(ENABLE_SCTP
) \
28 -DBE_ENABLE_QDBM
=$(BE_ENABLE_QDBM
) \
29 -DBE_ENABLE_BDB
=$(BE_ENABLE_BDB
) \
30 -DBE_ENABLE_TC
=$(BE_ENABLE_TC
) \
31 -DBE_ENABLE_TDB
=$(BE_ENABLE_TDB
) \
32 -DBE_ENABLE_NULL
=$(BE_ENABLE_NULL
) \
40 ALL_CFLAGS
+= -g
-pg
-ftest-coverage
-fprofile-generate
44 ALL_CFLAGS
+= -fprofile-use
48 # prefix for installing the binaries
52 OBJS
= cache.o dbloop.o queue.o log.o net.o netutils.o parse.o stats.o main.o \
53 be.o be-bdb.o be-null.o be-qdbm.o be-tc.o be-tdb.o
54 LIBS
= -levent
-lpthread
-lrt
57 ifeq ($(ENABLE_TIPC
), 1)
63 ifeq ($(ENABLE_TCP
), 1)
69 ifeq ($(ENABLE_UDP
), 1)
75 ifeq ($(ENABLE_SCTP
), 1)
82 ifeq ($(BE_ENABLE_QDBM
), 1)
83 ALL_CFLAGS
+= `pkg-config qdbm --cflags`
84 LIBS
+= `pkg-config qdbm --libs-only-L` -lqdbm
86 ifeq ($(BE_ENABLE_BDB
), 1)
89 ifeq ($(BE_ENABLE_TC
), 1)
90 ALL_CFLAGS
+= `pkg-config tokyocabinet --cflags`
91 LIBS
+= `pkg-config tokyocabinet --libs`
93 ifeq ($(BE_ENABLE_TDB
), 1)
94 ALL_CFLAGS
+= `pkg-config tdb --cflags`
95 LIBS
+= `pkg-config tdb --libs`
97 ifeq ($(BE_ENABLE_NULL
), 1)
102 NICE_CC
= @echo
" CC $@"; $(CC
)
113 $(NICE_CC
) $(ALL_CFLAGS
) $(OBJS
) $(LIBS
) -o nmdb
116 $(NICE_CC
) $(ALL_CFLAGS
) -c
$< -o
$@
119 install -d
$(PREFIX
)/bin
120 install -m
0755 nmdb
$(PREFIX
)/bin
123 install -d
$(PREFIX
)/man
/man1
124 install -m
0644 nmdb
.1 $(PREFIX
)/man
/man1
/
126 install: install-bin install-man
128 clean: clean-build clean-prof
134 rm -f
*.bb
*.bbg
*.da
*.gcov
*.gcda
*.gcno gmon.out
136 .PHONY
: default
all \
137 install-bin install-man
install \
138 clean-build clean-prof
clean