aboutsummaryrefslogtreecommitdiff
path: root/Makefile.old
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.old')
-rw-r--r--Makefile.old176
1 files changed, 176 insertions, 0 deletions
diff --git a/Makefile.old b/Makefile.old
new file mode 100644
index 000000000..8e2cc2bd6
--- /dev/null
+++ b/Makefile.old
@@ -0,0 +1,176 @@
+CC = gcc
+PROJECT_CFLAGS += -Wall -Wextra $(EXTRA_CFLAGS) -I.
+DEPS_CFLAGS := -DJSMN_STATIC=1 -DJSMN_STRICT=1 -Idependencies -Idependencies/jsmn -Idependencies/uthash/src
+LIBS += -pthread -lpcap -lm -lmaxminddb
+
+GOCC =
+GOFLAGS = -ldflags='-s -w'
+
+UNIX_SOCK_DISTRIBUTOR = /tmp/ndpid-distributor.sock
+UNIX_SOCK_COLLECTOR = /tmp/ndpid-collector.sock
+
+ifneq ($(PKG_CONFIG_BIN),)
+PC_CFLAGS=$(shell $(PKG_CONFIG_BIN) --cflags libndpi)
+PC_LDFLAGS=$(shell $(PKG_CONFIG_BIN) --libs libndpi)
+
+ifneq ($(PKG_CONFIG_PATH),)
+PROJECT_CFLAGS += -Wl,-rpath='$(shell dirname $(PKG_CONFIG_PATH))'
+endif
+
+else # PKG_CONFIG_BIN
+
+ifeq ($(NDPI_WITH_GCRYPT),yes)
+LIBS += -lgcrypt -lgpg-error
+endif
+ifeq ($(NDPI_WITH_PCRE),yes)
+LIBS += -lpcre
+endif
+
+ifneq ($(CUSTOM_LIBNDPI),)
+STATIC_NDPI_LIB += '$(CUSTOM_LIBNDPI)'
+PROJECT_CFLAGS += '-I$(shell dirname $(CUSTOM_LIBNDPI))/../include/ndpi'
+ifeq ($(findstring $*.so, $(CUSTOM_LIBNDPI)),.so)
+PROJECT_CFLAGS += -Wl,-rpath='$(shell dirname $(CUSTOM_LIBNDPI))'
+endif
+else
+LIBS += -lndpi
+endif
+
+endif # PKG_CONFIG_BIN
+
+ifeq ($(ENABLE_MEMORY_PROFILING),yes)
+PROJECT_CFLAGS += -DENABLE_MEMORY_PROFILING=1
+DEPS_CFLAGS += -Duthash_malloc=nDPIsrvd_uthash_malloc -Duthash_free=nDPIsrvd_uthash_free
+endif
+
+ifeq ($(ENABLE_DEBUG),yes)
+PROJECT_CFLAGS += -O0 -g3 -fno-omit-frame-pointer -fno-inline
+endif
+
+ifeq ($(ENABLE_SANITIZER),yes)
+PROJECT_CFLAGS += -fsanitize=address -fsanitize=undefined -fsanitize=enum -fsanitize=leak
+LIBS += -lasan -lubsan
+endif
+
+ifeq ($(ENABLE_SANITIZER_THREAD),yes)
+PROJECT_CFLAGS += -fsanitize=undefined -fsanitize=enum -fsanitize=thread
+LIBS += -lubsan
+endif
+
+GO_DASHBOARD_SRCS := examples/go-dashboard/main.go examples/go-dashboard/ui/ui.go
+
+RM = rm -f
+INSTALL = install
+
+ifeq ($(ENABLE_DEBUG),yes)
+INSTALL_ARGS = -s
+endif
+
+all: help nDPId nDPIsrvd examples
+
+examples: examples/c-collectd/c-collectd examples/c-captured/c-captured examples/c-json-stdout/c-json-stdout examples/go-dashboard/go-dashboard
+
+nDPId: nDPId.c utils.c
+ $(CC) $(PROJECT_CFLAGS) $(CFLAGS) $(PC_CFLAGS) $^ -o $@ $(LDFLAGS) $(PC_LDFLAGS) $(STATIC_NDPI_LIB) $(LIBS)
+
+nDPIsrvd: nDPIsrvd.c utils.c
+ $(CC) $(PROJECT_CFLAGS) $(CFLAGS) $(DEPS_CFLAGS) $^ -o $@ $(LDFLAGS) $(STATIC_NDPI_LIB) $(LIBS)
+
+examples/c-collectd/c-collectd: examples/c-collectd/c-collectd.c
+ $(CC) $(PROJECT_CFLAGS) $(CFLAGS) $(DEPS_CFLAGS) $@.c -o $@ $(LDFLAGS) $(LIBS)
+
+examples/c-captured/c-captured: examples/c-captured/c-captured.c utils.c
+ $(CC) $(PROJECT_CFLAGS) $(CFLAGS) $(DEPS_CFLAGS) $^ -o $@ $(LDFLAGS) $(LIBS)
+
+examples/c-json-stdout/c-json-stdout: examples/c-json-stdout/c-json-stdout.c
+ $(CC) $(PROJECT_CFLAGS) $(CFLAGS) $(DEPS_CFLAGS) $@.c -o $@ $(LDFLAGS) $(LIBS)
+
+examples/go-dashboard/go-dashboard: $(GO_DASHBOARD_SRCS)
+ifneq ($(GOCC),)
+ cd examples/go-dashboard && GO111MODULE=on $(GOCC) mod vendor
+ cd examples/go-dashboard && GO111MODULE=on $(GOCC) build $(GOFLAGS) .
+else
+ @echo '*** Not building examples/go-dashboard/go-dashboard as it requires GOCC to be set ***'
+endif
+
+install: all
+ $(INSTALL) -d '$(DESTDIR)$(PREFIX)/bin' '$(DESTDIR)$(PREFIX)/sbin'
+ $(INSTALL) $(INSTALL_ARGS) ./nDPIsrvd '$(DESTDIR)$(PREFIX)/bin'
+ $(INSTALL) $(INSTALL_ARGS) ./nDPId '$(DESTDIR)$(PREFIX)/sbin'
+ $(INSTALL) $(INSTALL_ARGS) ./examples/c-captured/c-captured '$(DESTDIR)$(PREFIX)/bin/nDPIsrvd-captured'
+ $(INSTALL) $(INSTALL_ARGS) ./examples/c-json-stdout/c-json-stdout '$(DESTDIR)$(PREFIX)/bin/nDPIsrvd-json-dump'
+ $(INSTALL) $(INSTALL_ARGS) ./examples/c-collectd/c-collectd '$(DESTDIR)$(PREFIX)/bin/nDPIsrvd-collectd'
+ $(INSTALL) $(INSTALL_ARGS) ./examples/py-flow-info/flow-info.py '$(DESTDIR)$(PREFIX)/bin/nDPIsrvd-flow-info.py'
+ifneq ($(GOCC),)
+ $(INSTALL) $(INSTALL_ARGS) -t '$(DESTDIR)$(PREFIX)/bin' examples/go-dashboard/go-dashboard
+endif
+
+clean:
+ $(RM) -f nDPId nDPIsrvd examples/c-collectd/c-collectd examples/c-captured/c-captured examples/c-json-stdout/c-json-stdout examples/go-dashboard/go-dashboard
+
+help:
+ @echo '------------------------------------'
+ @echo 'PKG_CONFIG_BIN = $(PKG_CONFIG_BIN)'
+ @echo 'PKG_CONFIG_PATH = $(PKG_CONFIG_PATH)'
+ @echo 'PC_CFLAGS = $(PC_CFLAGS)'
+ @echo 'PC_LDFLAGS = $(PC_LDFLAGS)'
+ @echo 'CC = $(CC)'
+ @echo 'CFLAGS = $(CFLAGS)'
+ @echo 'EXTRA_CFLAGS = $(EXTRA_CFLAGS)'
+ @echo 'LDFLAGS = $(LDFLAGS)'
+ @echo 'PROJECT_CFLAGS = $(PROJECT_CFLAGS)'
+ @echo 'LIBS = $(LIBS)'
+ @echo 'GOCC = $(GOCC)'
+ @echo 'GOFLAGS = $(GOFLAGS)'
+ifeq ($(PKG_CONFIG_BIN),)
+ @echo 'CUSTOM_LIBNDPI = $(CUSTOM_LIBNDPI)'
+ifeq ($(NDPI_WITH_GCRYPT),yes)
+ @echo 'NDPI_WITH_GCRYPT = yes'
+else
+ @echo 'NDPI_WITH_GCRYPT = no'
+endif
+ifeq ($(NDPI_WITH_PCRE),yes)
+ @echo 'NDPI_WITH_PCRE = yes'
+else
+ @echo 'NDPI_WITH_PCRE = no'
+endif
+endif # PKG_CONFIG_BIN
+ifeq ($(ENABLE_MEMORY_PROFILING),yes)
+ @echo 'ENABLE_MEMORY_PROFILING = yes'
+else
+ @echo 'ENABLE_MEMORY_PROFILING = no'
+endif
+ifeq ($(ENABLE_DEBUG),yes)
+ @echo 'ENABLE_DEBUG = yes'
+else
+ @echo 'ENABLE_DEBUG = no'
+endif
+ifeq ($(ENABLE_SANITIZER),yes)
+ @echo 'ENABLE_SANITIZER = yes'
+else
+ @echo 'ENABLE_SANITIZER = no'
+endif
+ifeq ($(ENABLE_SANITIZER_THREAD),yes)
+ @echo 'ENABLE_SANITIZER_THREAD = yes'
+else
+ @echo 'ENABLE_SANITIZER_THREAD = no'
+endif
+ @echo '------------------------------------'
+ @echo 'Example:'
+ @echo ' make ENABLE_DEBUG=yes ENABLE_SANITIZER=yes GOCC=go-1.14.1 \\'
+ @echo ' CUSTOM_LIBNDPI="~/git/libnDPI/_install/lib/libndpi.a)" \\'
+ @echo ' NDPI_WITH_GCRYPT=yes ENABLE_MEMORY_PROFILING=no all'
+
+run-mocksrvd:
+ nc -k -l -U $(UNIX_SOCK_COLLECTOR)
+
+run-raw-out:
+ nc -U $(UNIX_SOCK_DISTRIBUTOR)
+
+run-nDPIsrvd: nDPIsrvd
+ ./nDPIsrvd -l -c $(UNIX_SOCK_COLLECTOR) -s $(UNIX_SOCK_DISTRIBUTOR)
+
+run-nDPId: nDPId
+ sudo ./nDPId -l -c $(UNIX_SOCK_COLLECTOR) -a run-test -u $(shell id -u -n)
+
+.PHONY: all examples install clean help run-mocksrvd run-raw-out run-nDPIsrvd run-nDPId