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
)
17 ALL_CFLAGS
+= -g
-pg
-fprofile-arcs
-ftest-coverage
21 # prefix for installing the binaries
25 OBJS
= libnmdb.o netutils.o tcp.o tipc.o udp.o sctp.o
29 NICE_CC
= @echo
" CC $@"; $(CC
)
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' \
48 libnmdb.
pc: libnmdb.skel.
pc
49 @echo
"generating libnmdb.pc"
50 @cat libnmdb.skel.
pc | \
51 sed
's@++PREFIX++@$(PREFIX)@g' \
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
72 @echo
"Please run ldconfig to update your library cache"
76 install -d
$(PREFIX
)/man
/man3
77 install -m
0644 libnmdb
.3 $(PREFIX
)/man
/man3
/
79 install: install-lib install-man
85 $(NICE_CC
) $(ALL_CFLAGS
) -c
$< -o
$@
88 rm -f internal.h libnmdb.
pc $(OBJS
) libnmdb.so libnmdb.a
89 rm -f
*.bb
*.bbg
*.da
*.gcov
*.gcda
*.gcno gmon.out
92 .PHONY
: default
all libs install-lib install-man
install doxygen
clean