aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorSam James <sam@cmpct.info>2022-01-18 13:30:14 +0000
committerGitHub <noreply@github.com>2022-01-18 14:30:14 +0100
commitc2b7d77784beeae5f86f19e33ba3da5ddce55898 (patch)
tree3fc4f7fc31219e051afbca994274ee1c6f92112d /example
parente4a7990a4e4842b4e6f5b10fb51ab288fa340240 (diff)
build: respect environment options more (#1392)
* build: update m4/ax_pthread.m4 from serial 23 -> serial 31 Update ax_pthread.m4 to the latest version from the autoconf-archive project. Signed-off-by: Sam James <sam@gentoo.org> * build: properly detect AR, CC, RANLIB It's necessary to be able to override choice of AR/CC/RANLIB and other toolchain variables/tools for cross-compilation, testing with other toolchains, and to ensure the compiler chosen by the user is actually used for the build. Previously, GNU_PREFIX was kind-of used for this but this isn't a standard variable (at all) and it wasn't applied consistently anyway. We now use the standard autoconf mechanisms for finding these tools. (RANLIB is already covered by LT_INIT.) Signed-off-by: Sam James <sam@gentoo.org> * build: use $(MAKE) This ensures that parallel make works correctly, as otherwise, a fresh make job will be started without the jobserver fd, and hence not know about its parent, forcing -j1. * build: respect CPPFLAGS, LDFLAGS - CPPFLAGS is for the C preprocessor (usually for setting defines) - LDFLAGS should be placed before objects for certain flags to work (e.g. -Wl,--as-needed) Signed-off-by: Sam James <sam@gentoo.org> Co-authored-by: Luca Deri <lucaderi@users.noreply.github.com>
Diffstat (limited to 'example')
-rw-r--r--example/Makefile.in22
1 files changed, 12 insertions, 10 deletions
diff --git a/example/Makefile.in b/example/Makefile.in
index 11c30ad5c..bd4353997 100644
--- a/example/Makefile.in
+++ b/example/Makefile.in
@@ -1,11 +1,13 @@
+AR=@AR@
CC=@CC@
CXX=@CXX@
BUILD_MINGW=@BUILD_MINGW@
BUILD_MINGW_X64=@BUILD_MINGW_X64@
SRCHOME=../src
CFLAGS=-g -fPIC -DPIC -I$(SRCHOME)/include @PCAP_INC@ @CFLAGS@
+LDFLAGS=@LDFLAGS@
LIBNDPI=$(SRCHOME)/lib/libndpi.a
-LDFLAGS=$(LIBNDPI) @PCAP_LIB@ @LIBS@ @ADDITIONAL_LIBS@ @LDFLAGS@
+LIBS=$(LIBNDPI) @PCAP_LIB@ @LIBS@ @ADDITIONAL_LIBS@
HEADERS=intrusion_detection.h reader_util.h $(SRCHOME)/include/ndpi_api.h \
$(SRCHOME)/include/ndpi_typedefs.h $(SRCHOME)/include/ndpi_protocol_ids.h
OBJS=ndpiReader.o reader_util.o intrusion_detection.o
@@ -14,17 +16,17 @@ PREFIX?=@prefix@
ifneq ($(BUILD_MINGW),)
SUFFIX:=.exe
CFLAGS+=-I@srcdir@/../windows/WpdPack/Include -I@srcdir@/../windows/WpdPack/Include/pcap
-LDFLAGS+=-Wl,-Bstatic -lpthread -Wl,-Bdynamic
+LIBS+=-Wl,-Bstatic -lpthread -Wl,-Bdynamic
ifneq ($(BUILD_MINGW_X64),)
-LDFLAGS+=@srcdir@/../windows/WpdPack/Lib/x64/wpcap.lib
+LIBS+=@srcdir@/../windows/WpdPack/Lib/x64/wpcap.lib
else
-LDFLAGS+=@srcdir@/../windows/WpdPack/Lib/wpcap.lib
+LIBS+=@srcdir@/../windows/WpdPack/Lib/wpcap.lib
endif
else
-LDFLAGS+=-lpthread
+LIBS+=-lpthread
endif
@@ -34,16 +36,16 @@ EXECUTABLE_SOURCES := ndpiReader.c ndpiSimpleIntegration.c
COMMON_SOURCES := $(filter-out $(EXECUTABLE_SOURCES),$(wildcard *.c ))
libndpiReader.a: $(COMMON_SOURCES:%.c=%.o) $(LIBNDPI)
- ar rsv libndpiReader.a $(COMMON_SOURCES:%.c=%.o)
+ $(AR) rsv libndpiReader.a $(COMMON_SOURCES:%.c=%.o)
ndpiReader$(SUFFIX): libndpiReader.a $(LIBNDPI) ndpiReader.o
- $(CC) $(CFLAGS) ndpiReader.o libndpiReader.a -o $@ $(LDFLAGS)
+ $(CC) $(CFLAGS) $(LDFLAGS) ndpiReader.o libndpiReader.a $(LIBS) -o $@
ndpiSimpleIntegration$(SUFFIX): ndpiSimpleIntegration.o
- $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
+ $(CC) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
%.o: %.c $(HEADERS) Makefile
- $(CC) $(CFLAGS) -c $< -o $@
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
install: ndpiReader$(SUFFIX)
mkdir -p $(DESTDIR)$(PREFIX)/bin/
@@ -56,7 +58,7 @@ install: ndpiReader$(SUFFIX)
[ -f ndpiReader.dpdk ] && cp ndpiReader.dpdk $(DESTDIR)$(PREFIX)/bin/ || true
dpdk:
- make -f Makefile.dpdk
+ $(MAKE) -f Makefile.dpdk
check:
cppcheck --template='{file}:{line}:{severity}:{message}' --quiet --enable=all --force -I$(SRCHOME)/include *.c