summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am259
1 files changed, 259 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..10f26ee
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,259 @@
+## Process this file with automake to produce Makefile.in
+
+if BUILD_DSELECT
+ MAYBE_DSELECT = dselect
+endif
+
+SUBDIRS = \
+ lib \
+ src \
+ utils \
+ $(MAYBE_DSELECT) \
+ scripts \
+ po \
+ man \
+ # EOL
+
+ACLOCAL_AMFLAGS = -I m4
+
+aclocaldir = $(datadir)/aclocal
+
+dist_aclocal_DATA = \
+ m4/dpkg-arch.m4 \
+ m4/dpkg-build.m4 \
+ m4/dpkg-compiler.m4 \
+ m4/dpkg-coverage.m4 \
+ m4/dpkg-funcs.m4 \
+ m4/dpkg-libs.m4 \
+ m4/dpkg-linker.m4 \
+ m4/dpkg-progs.m4 \
+ m4/dpkg-types.m4 \
+ m4/dpkg-unicode.m4 \
+ # EOL
+
+dist_pkgdata_DATA = \
+ data/pie-compile.specs \
+ data/pie-link.specs \
+ data/no-pie-compile.specs \
+ data/no-pie-link.specs \
+ data/cputable \
+ data/ostable \
+ data/abitable \
+ data/tupletable \
+ # EOL
+
+dist_doc_DATA = \
+ doc/README.api \
+ doc/README.feature-removal-schedule \
+ # EOL
+
+docspecdir = $(docdir)/spec
+
+dist_docspec_DATA = \
+ doc/spec/frontend-api.txt \
+ doc/spec/protected-field.txt \
+ doc/spec/rootless-builds.txt \
+ doc/spec/triggers.txt \
+ # EOL
+
+EXTRA_DIST = \
+ .gitlab-ci.yml \
+ .mailmap \
+ ChangeLog.old \
+ README.l10n \
+ autogen \
+ build-aux/gen-changelog \
+ build-aux/get-version \
+ build-aux/lcov-inject \
+ build-aux/run-script \
+ build-aux/test-runner \
+ doc/coding-style.txt \
+ debian/README.bug-usertags \
+ debian/bug-script \
+ debian/changelog \
+ debian/control \
+ debian/copyright \
+ debian/dpkg-dev.docs \
+ debian/dpkg-dev.install \
+ debian/dpkg-dev.manpages \
+ debian/dpkg.alternatives.logrotate \
+ debian/dpkg.cfg \
+ debian/dpkg.cron.daily \
+ debian/dpkg.docs \
+ debian/dpkg.dpkg-db-backup.service \
+ debian/dpkg.dpkg-db-backup.timer \
+ debian/dpkg.install \
+ debian/dpkg.manpages \
+ debian/dpkg.postinst \
+ debian/dpkg.postrm \
+ debian/dpkg.logrotate \
+ debian/dpkg.lintian-overrides \
+ debian/dpkg.lintian-profile \
+ debian/dselect.cfg \
+ debian/dselect.docs \
+ debian/dselect.install \
+ debian/dselect.lintian-overrides \
+ debian/dselect.manpages \
+ debian/dselect.postrm \
+ debian/dselect.preinst \
+ debian/dselect.prerm \
+ debian/libdpkg-dev.install \
+ debian/libdpkg-perl.install \
+ debian/source/format \
+ debian/source/lintian-overrides \
+ debian/not-installed \
+ debian/rules \
+ debian/shlibs.default \
+ debian/shlibs.override \
+ debian/tests/control \
+ debian/tests/test-func \
+ debian/tests/test-func-root \
+ debian/tests/test-not-root \
+ debian/tests/test-root \
+ po/its/polkit.its \
+ po/its/polkit.loc \
+ tests \
+ $(test_scripts) \
+ $(test_data) \
+ # EOL
+
+.PHONY: doc
+
+doc: doc/Doxyfile
+ $(DOXYGEN) doc/Doxyfile
+
+doc-clean:
+ rm -rf doc/html/
+
+# Code coverage support
+
+.PHONY: coverage coverage-clean
+
+if COVERAGE_ENABLED
+LCOV_OPTS = --quiet --rc geninfo_checksum=1 --rc lcov_branch_coverage=1
+LCOV_CAPTURE_OPTS = $(LCOV_OPTS) --no-recursion \
+ --directory $(top_builddir)/lib/dpkg \
+ --directory $(top_builddir)/src/common \
+ --directory $(top_builddir)/src/deb \
+ --directory $(top_builddir)/src/split \
+ --directory $(top_builddir)/src/divert \
+ --directory $(top_builddir)/src/query \
+ --directory $(top_builddir)/src/trigger \
+ --directory $(top_builddir)/src/statoverride \
+ --directory $(top_builddir)/src/main \
+ --directory $(top_builddir)/utils \
+ # EOL
+LCOV_INJECT = $(PERL) -i $(top_srcdir)/build-aux/lcov-inject
+
+coverage: all
+ : # Remove coverage data from any previous run
+ rm -f *.lcov
+ find -name '*.gcda' -o -name '*.gcov' | xargs rm -f
+
+ : # Initialize data
+ $(LCOV) $(LCOV_CAPTURE_OPTS) --capture --initial \
+ --output-file dpkg_base.lcov
+ : # Run test cases
+ $(MAKE) -C lib/dpkg check
+ $(MAKE) -C src check
+ $(MAKE) -C utils check
+ : # Merge test coverage data
+ $(LCOV) $(LCOV_CAPTURE_OPTS) --capture \
+ --output-file dpkg_test.lcov
+ $(LCOV) $(LCOV_OPTS) \
+ --add-tracefile dpkg_base.lcov \
+ --add-tracefile dpkg_test.lcov \
+ --output-file dpkg_merge.lcov
+ $(LCOV) $(LCOV_OPTS) --remove dpkg_merge.lcov '/usr/include/*' \
+ --output-file dpkg.lcov
+ : # Generate reports
+ $(LCOV) $(LCOV_OPTS) --list dpkg.lcov
+ $(LCOV_GENHTML) $(LCOV_OPTS) \
+ --legend --title "dpkg $(VERSION) C code coverage" \
+ --output-directory doc/coverage dpkg.lcov
+
+ $(MAKE) -C scripts $@
+
+ : # XXX: Inject perl coverage into lcov index files. This is a fragile
+ : # hack which might break depending on the html output generated.
+ $(LCOV_INJECT) doc/coverage/index-sort-b.html
+ $(LCOV_INJECT) doc/coverage/index-sort-f.html
+ $(LCOV_INJECT) doc/coverage/index-sort-l.html
+ $(LCOV_INJECT) doc/coverage/index.html
+
+coverage-clean:
+ rm -rf doc/coverage/
+ find -name '*.gcno' -o -name '*.gcda' -o \
+ -name '*.gcov' -o -name '*.lcov' | xargs rm -f
+ $(MAKE) -C scripts $@
+else
+coverage:
+ @echo "Need to reconfigure with --enable-coverage"
+
+coverage-clean:
+endif
+
+test_scripts = \
+ t/po.t \
+ t/pod.t \
+ t/pod-spell.t \
+ t/pod-coverage.t \
+ t/synopsis.t \
+ t/minimum-version.t \
+ t/module-version.t \
+ t/syntax.t \
+ t/strict.t \
+ t/critic.t \
+ t/codespell.t \
+ t/shellcheck.t \
+ t/cppcheck.t \
+ # EOL
+
+test_data = \
+ t/codespell/stopwords \
+ t/cppcheck/cppcheck.supp \
+ t/critic/perlcriticrc \
+ # EOL
+
+# We need to use absolute paths here due to strict.t invoking a sub-perl,
+# while changing dir to source dir on out-of-tree builds.
+TEST_ENV_VARS = \
+ DPKG_DATADIR=$(abs_top_srcdir)/data \
+ # EOL
+
+include $(top_srcdir)/build-aux/tap.am
+
+check-local: tap-check
+
+.PHONY: update-po
+
+update-po:
+ $(MAKE) -C po update-po
+ $(MAKE) -C scripts/po update-po
+ $(MAKE) -C dselect/po update-po
+ $(MAKE) -C man update-po
+
+include $(top_srcdir)/build-aux/cpan.am
+
+# If we create the dist tarball from the git repository, make sure
+# that we're not forgetting some files, and we are not storing any symlink
+# in the repository (except for the origins/default one) as those degrade
+# to regular files due to automake telling tar to dereference them.
+dist-hook:
+ echo $(VERSION) >$(distdir)/.dist-version
+ if [ -e .git ]; then \
+ for file in `git ls-tree -r HEAD | grep ^12 | grep -v t/origins/default`; do \
+ echo "$$file is a symlink packed as a file on the dist tar" >&2 ; \
+ exit 1 ; \
+ done ; \
+ for file in `git ls-files | grep -v .gitignore`; do \
+ if [ ! -e "$(distdir)/$$file" ]; then \
+ echo "$$file is missing in $(distdir)" >&2 ; \
+ exit 1 ; \
+ fi ; \
+ done ; \
+ XDG_CONFIG_HOME= HOME= \
+ git log -C --stat 1.15.0.. >$(distdir)/ChangeLog; \
+ fi
+
+clean-local: doc-clean coverage-clean tap-clean