libnmdb: Remove redundant _ENABLE_X constants
[nmdb.git] / libnmdb / Makefile
blob7e2beafbfdf46640826381e37f316290be232185
2 ENABLE_TCP = 1
3 ENABLE_UDP = 1
4 ENABLE_TIPC := $(shell if echo "\#include <linux/tipc.h>" | \
5 $(CPP) - > /dev/null 2>&1; then echo 1; else echo 0; fi)
6 ENABLE_SCTP := $(shell if echo "\#include <netinet/sctp.h>" | \
7 $(CPP) - > /dev/null 2>&1; then echo 1; else echo 0; fi)
9 CFLAGS += -std=c99 -pedantic -Wall -O3
10 ALL_CFLAGS = -D_XOPEN_SOURCE=500 -fPIC $(CFLAGS)
12 ifdef DEBUG
13 ALL_CFLAGS += -g
14 endif
16 ifdef PROFILE
17 ALL_CFLAGS += -g -pg -fprofile-arcs -ftest-coverage
18 endif
21 # prefix for installing the binaries
22 PREFIX=/usr/local
25 OBJS = libnmdb.o netutils.o tcp.o tipc.o udp.o sctp.o
28 ifneq ($(V), 1)
29 NICE_CC = @echo " CC $@"; $(CC)
30 else
31 NICE_CC = $(CC)
32 endif
35 default: all
37 all: libs libnmdb.pc
39 internal.h: internal.h.in
40 @echo "generating internal.h"
41 @cat internal.h.in | \
42 sed 's/++CONFIG_ENABLE_TIPC++/$(ENABLE_TIPC)/g' | \
43 sed 's/++CONFIG_ENABLE_TCP++/$(ENABLE_TCP)/g' | \
44 sed 's/++CONFIG_ENABLE_UDP++/$(ENABLE_UDP)/g' | \
45 sed 's/++CONFIG_ENABLE_SCTP++/$(ENABLE_SCTP)/g' \
46 > internal.h
48 libnmdb.pc: libnmdb.skel.pc
49 @echo "generating libnmdb.pc"
50 @cat libnmdb.skel.pc | \
51 sed 's@++PREFIX++@$(PREFIX)@g' \
52 > libnmdb.pc
54 libs: libnmdb.so libnmdb.a
56 libnmdb.so: internal.h $(OBJS)
57 $(NICE_CC) $(ALL_CFLAGS) -shared -fPIC $(OBJS) -o libnmdb.so
59 libnmdb.a: internal.h $(OBJS)
60 $(AR) cr libnmdb.a $(OBJS)
63 install-lib: libs libnmdb.pc
64 install -d $(PREFIX)/lib
65 install -m 0755 libnmdb.so $(PREFIX)/lib
66 install -m 0755 libnmdb.a $(PREFIX)/lib
67 install -d $(PREFIX)/include
68 install -m 0644 nmdb.h $(PREFIX)/include
69 install -d $(PREFIX)/lib/pkgconfig
70 install -m 644 libnmdb.pc $(PREFIX)/lib/pkgconfig
71 @echo
72 @echo "Please run ldconfig to update your library cache"
73 @echo
75 install-man:
76 install -d $(PREFIX)/man/man3
77 install -m 0644 libnmdb.3 $(PREFIX)/man/man3/
79 install: install-lib install-man
81 doxygen:
82 $(MAKE) -C doxygen/
84 .c.o:
85 $(NICE_CC) $(ALL_CFLAGS) -c $< -o $@
87 clean:
88 rm -f internal.h libnmdb.pc $(OBJS) libnmdb.so libnmdb.a
89 rm -f *.bb *.bbg *.da *.gcov *.gcda *.gcno gmon.out
90 $(MAKE) -C doxygen $@
92 .PHONY: default all libs install-lib install-man install doxygen clean