ENABLE_TCP = 1 ENABLE_UDP = 1 ENABLE_TIPC := $(shell if echo "\#include " | \ $(CPP) - > /dev/null 2>&1; then echo 1; else echo 0; fi) ENABLE_SCTP := $(shell if echo "\#include " | \ $(CPP) - > /dev/null 2>&1; then echo 1; else echo 0; fi) CFLAGS += -std=c99 -pedantic -Wall -O3 ALL_CFLAGS = -D_XOPEN_SOURCE=500 -fPIC $(CFLAGS) ifdef DEBUG ALL_CFLAGS += -g endif ifdef PROFILE ALL_CFLAGS += -g -pg -fprofile-arcs -ftest-coverage endif # prefix for installing the binaries PREFIX=/usr/local OBJS = libnmdb.o netutils.o tcp.o tipc.o udp.o sctp.o ifneq ($(V), 1) NICE_CC = @echo " CC $@"; $(CC) else NICE_CC = $(CC) endif default: all all: libs libnmdb.pc internal.h: internal.h.in @echo "generating internal.h" @cat internal.h.in | \ sed 's/++CONFIG_ENABLE_TIPC++/$(ENABLE_TIPC)/g' | \ sed 's/++CONFIG_ENABLE_TCP++/$(ENABLE_TCP)/g' | \ sed 's/++CONFIG_ENABLE_UDP++/$(ENABLE_UDP)/g' | \ sed 's/++CONFIG_ENABLE_SCTP++/$(ENABLE_SCTP)/g' \ > internal.h libnmdb.pc: libnmdb.skel.pc @echo "generating libnmdb.pc" @cat libnmdb.skel.pc | \ sed 's@++PREFIX++@$(PREFIX)@g' \ > libnmdb.pc libs: libnmdb.so libnmdb.a libnmdb.so: internal.h $(OBJS) $(NICE_CC) $(ALL_CFLAGS) -shared -fPIC $(OBJS) -o libnmdb.so libnmdb.a: internal.h $(OBJS) $(AR) cr libnmdb.a $(OBJS) install-lib: libs libnmdb.pc install -d $(PREFIX)/lib install -m 0755 libnmdb.so $(PREFIX)/lib install -m 0755 libnmdb.a $(PREFIX)/lib install -d $(PREFIX)/include install -m 0644 nmdb.h $(PREFIX)/include install -d $(PREFIX)/lib/pkgconfig install -m 644 libnmdb.pc $(PREFIX)/lib/pkgconfig @echo @echo "Please run ldconfig to update your library cache" @echo install-man: install -d $(PREFIX)/man/man3 install -m 0644 libnmdb.3 $(PREFIX)/man/man3/ install: install-lib install-man doxygen: $(MAKE) -C doxygen/ .c.o: $(NICE_CC) $(ALL_CFLAGS) -c $< -o $@ clean: rm -f internal.h libnmdb.pc $(OBJS) libnmdb.so libnmdb.a rm -f *.bb *.bbg *.da *.gcov *.gcda *.gcno gmon.out $(MAKE) -C doxygen $@ .PHONY: default all libs install-lib install-man install doxygen clean