mirror of
https://github.com/vel21ripn/nDPI.git
synced 2026-04-28 06:59:40 +00:00
The all-local and clean-local targets copy configuration files from example/, lists/, and tests/cfgs/ directories for out-of-tree builds. These files are only needed for example programs and tests, not for library-only builds. When configured with --with-only-libndpi, EXTRA_TARGETS is empty, so we can skip these setup/cleanup operations by checking if EXTRA_TARGETS is non-empty. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
111 lines
3.8 KiB
Makefile
111 lines
3.8 KiB
Makefile
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
SUBDIRS = src/lib
|
|
|
|
if PLUGINS_ENABLED
|
|
SUBDIRS += src/lib/plugins
|
|
endif
|
|
|
|
SUBDIRS += @EXTRA_TARGETS@
|
|
|
|
if BUILD_FUZZTARGETS
|
|
SUBDIRS += fuzz
|
|
endif
|
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkgconfig_DATA = libndpi.pc
|
|
|
|
EXTRA_DIST = README.md README.fuzzer.md CHANGELOG.md CONTRIBUTING.md \
|
|
autogen.sh wireshark windows utils packages dga \
|
|
influxdb/Makefile.in influxdb/metric_anomaly.c influxdb/README.txt \
|
|
rrdtool/Makefile.in rrdtool/README.txt rrdtool/rrd_anomaly.c rrdtool/rrd_similarity.c \
|
|
doc/requirements.txt doc/conf.py doc/flow_risks.rst doc/protocols.rst doc/guide/nDPI_QuickStartGuide.pages \
|
|
doc/guide/nDPI_QuickStartGuide.pdf doc/img/logo.png doc/index.rst \
|
|
doc/Makefile doc/what_is_ndpi.rst \
|
|
doc/FAQ.rst \
|
|
doc/configuration_parameters.rst \
|
|
doc/library_initialization.rst \
|
|
doc/monitoring.rst \
|
|
python/DEV_GUIDE.md python/dev_requirements.txt python/ndpi_example.py python/ndpi/__init__.py \
|
|
python/ndpi/ndpi_build.py python/ndpi/ndpi.py python/README.md \
|
|
python/requirements.txt python/setup.py python/tests.py \
|
|
lists/100_malware.list \
|
|
lists/42_mining_domain.list \
|
|
lists/101_ads_tracking.list \
|
|
lists/107_gambling.list \
|
|
lists/107_gambling_custom.list \
|
|
lists/124_bots.list \
|
|
lists/125_scanners.list \
|
|
lists/protocols/266_salesforce.list \
|
|
lists/protocols/42_mining_ip.list \
|
|
lists/public_suffix_list.dat \
|
|
lists/README.md \
|
|
lists/protocols/README.md \
|
|
sonar-project.properties .github .ci-ignore \
|
|
src/lib/plugins/README.md
|
|
|
|
doc:
|
|
make -C doc html
|
|
|
|
doc-view:
|
|
python3 -m http.server --bind 127.0.0.1 --directory doc/_build/html 8080
|
|
|
|
coverage: all
|
|
$(MKDIR_P) coverage_report/ndpi_coverage_report
|
|
lcov --directory . --capture --output-file lcov.info
|
|
genhtml -o coverage_report/ndpi_coverage_report lcov.info
|
|
|
|
clean-coverage:
|
|
$(RM) lcov.info
|
|
find . -type f -name "*.gcda" -exec rm "{}" +
|
|
find . -type f -name "*.gcno" -exec rm "{}" +
|
|
|
|
distclean-local:
|
|
$(RM) -r autom4te.cache
|
|
$(RM) libtool config.status config.cache config.log
|
|
$(RM) src/include/stamp-h1
|
|
|
|
pull:
|
|
cd $(top_srcdir) && git pull --rebase
|
|
if test -d $(top_srcdir)/../nDPI-custom; then echo "Pulling ../nDPI-custom"; cd $(top_srcdir)/../nDPI-custom && git pull --rebase; fi
|
|
|
|
changelog:
|
|
cd $(top_srcdir) && git log --since={`curl -s https://github.com/ntop/ndpi/releases | grep datetime | head -n1 | egrep -o "[0-9]+\-[0-9]+\-[0-9]+"`} --name-only --pretty=format:" - %s" | grep "^ " > CHANGELOG.latest
|
|
|
|
# For out-of-tree builds: copy required configuration files
|
|
# ndpiReader has some hard-coded paths in some unit tests: in the out-of-tree builds we need
|
|
# some configuration files in the expected path
|
|
# Avoid all of that if we are compiling only the library
|
|
all-local:
|
|
@if test "$(srcdir)" != . && test -n "@EXTRA_TARGETS@" ; then \
|
|
echo "Setting up out-of-tree build configuration files..."; \
|
|
$(MKDIR_P) example lists tests/cfgs; \
|
|
$(INSTALL_DATA) $(srcdir)/example/*.txt example/; \
|
|
$(INSTALL_DATA) $(srcdir)/example/*.conf example/; \
|
|
$(INSTALL_DATA) $(srcdir)/example/*.csv example/; \
|
|
if test -d $(srcdir)/lists && test -n "$$(ls -A $(srcdir)/lists 2>/dev/null)"; then \
|
|
cp -R $(srcdir)/lists/* lists/; \
|
|
fi; \
|
|
for cfg_dir in $(srcdir)/tests/cfgs/*/ ; do \
|
|
cfg_name=$$(basename "$$cfg_dir"); \
|
|
$(MKDIR_P) tests/cfgs/$$cfg_name; \
|
|
if test -f "$$cfg_dir/config.txt" ; then \
|
|
cp "$$cfg_dir/config.txt" tests/cfgs/$$cfg_name/config.txt; \
|
|
fi; \
|
|
done; \
|
|
fi
|
|
|
|
clean-local:
|
|
@if test "$(srcdir)" != . && test -n "@EXTRA_TARGETS@" ; then \
|
|
echo "Cleaning out-of-tree build configuration files..."; \
|
|
-$(RM) example/*.txt; \
|
|
-$(RM) example/*.conf; \
|
|
-$(RM) example/*.csv; \
|
|
-$(RM) -r lists/*; \
|
|
-$(RM) tests/cfgs/*/config.txt; \
|
|
fi
|
|
|
|
.PHONY: doc doc-view coverage clean-coverage changelog
|
|
|
|
# Prevent parallel execution of clean/distclean to avoid potential race conditions
|
|
.NOTPARALLEL: clean distclean
|