diff options
author | Sam James <sam@cmpct.info> | 2022-01-18 13:30:14 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-18 14:30:14 +0100 |
commit | c2b7d77784beeae5f86f19e33ba3da5ddce55898 (patch) | |
tree | 3fc4f7fc31219e051afbca994274ee1c6f92112d /example | |
parent | e4a7990a4e4842b4e6f5b10fb51ab288fa340240 (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.in | 22 |
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 |