1 ## Process this file with automake to produce Makefile.in
4 MAYBE_DSELECT = dselect
17 ACLOCAL_AMFLAGS = -I m4
34 data/pie-compile.specs \
36 data/no-pie-compile.specs \
37 data/no-pie-link.specs \
46 doc/README.feature-removal-schedule \
50 doc/spec/build-driver.txt \
51 doc/spec/frontend-api.txt \
52 doc/spec/protected-field.txt \
53 doc/spec/rootless-builds.txt \
54 doc/spec/triggers.txt \
61 build-aux/gen-changelog \
62 build-aux/gen-release \
63 build-aux/get-vcs-id \
64 build-aux/get-version \
65 build-aux/lcov-inject \
66 build-aux/run-script \
67 build-aux/test-runner \
68 doc/coding-style.txt \
69 debian/README.bug-usertags \
74 debian/dpkg-dev.docs \
75 debian/dpkg-dev.install \
76 debian/dpkg-dev.manpages \
77 debian/dpkg.alternatives.logrotate \
79 debian/dpkg.cron.daily \
81 debian/dpkg.dpkg-db-backup.service \
82 debian/dpkg.dpkg-db-backup.timer \
84 debian/dpkg.manpages \
85 debian/dpkg.postinst \
87 debian/dpkg.logrotate \
88 debian/dpkg.lintian-overrides \
89 debian/dpkg.lintian-profile \
92 debian/dselect.install \
93 debian/dselect.lintian-overrides \
94 debian/dselect.manpages \
95 debian/dselect.postrm \
96 debian/libdpkg-dev.install \
97 debian/libdpkg-dev.manpages \
98 debian/libdpkg-perl.install \
99 debian/source/format \
100 debian/source/lintian-overrides \
101 debian/not-installed \
103 debian/shlibs.default \
104 debian/shlibs.override \
105 debian/tests/control \
106 debian/tests/test-func \
107 debian/tests/test-func-root \
108 debian/tests/test-not-root \
109 debian/tests/test-root \
117 $(DOXYGEN) doc/Doxyfile
122 # Code coverage support
124 .PHONY: coverage coverage-clean
127 LCOV_OPTS = --quiet --rc checksum=1 --rc branch_coverage=1
128 LCOV_CAPTURE_OPTS = $(LCOV_OPTS) --no-recursion \
129 --directory $(top_builddir)/lib/dpkg \
130 --directory $(top_builddir)/src/common \
131 --directory $(top_builddir)/src/deb \
132 --directory $(top_builddir)/src/split \
133 --directory $(top_builddir)/src/divert \
134 --directory $(top_builddir)/src/query \
135 --directory $(top_builddir)/src/trigger \
136 --directory $(top_builddir)/src/statoverride \
137 --directory $(top_builddir)/src/main \
138 --directory $(top_builddir)/utils \
140 LCOV_INJECT = $(PERL) -i $(top_srcdir)/build-aux/lcov-inject
143 : # Remove coverage data from any previous run
145 find -name '*.gcda' -o -name '*.gcov' | xargs rm -f
148 $(LCOV) $(LCOV_CAPTURE_OPTS) --capture --initial \
149 --output-file dpkg_base.lcov
151 $(MAKE) -C lib/dpkg check
153 $(MAKE) -C utils check
154 : # Merge test coverage data
155 $(LCOV) $(LCOV_CAPTURE_OPTS) --capture \
156 --output-file dpkg_test.lcov
157 $(LCOV) $(LCOV_OPTS) \
158 --add-tracefile dpkg_base.lcov \
159 --add-tracefile dpkg_test.lcov \
160 --output-file dpkg.lcov
162 $(LCOV) $(LCOV_OPTS) --list dpkg.lcov
163 $(LCOV_GENHTML) $(LCOV_OPTS) \
164 --legend --title "dpkg $(VERSION) C code coverage" \
165 --output-directory doc/coverage dpkg.lcov
167 $(MAKE) -C scripts $@
169 : # XXX: Inject perl coverage into lcov index files. This is a fragile
170 : # hack which might break depending on the html output generated.
171 $(LCOV_INJECT) doc/coverage/index-sort-b.html
172 $(LCOV_INJECT) doc/coverage/index-sort-f.html
173 $(LCOV_INJECT) doc/coverage/index-sort-l.html
174 $(LCOV_INJECT) doc/coverage/index.html
178 find -name '*.gcno' -o -name '*.gcda' -o \
179 -name '*.gcov' -o -name '*.lcov' | xargs rm -f
180 $(MAKE) -C scripts $@
183 @echo "Need to reconfigure with --enable-coverage"
194 t/minimum-version.t \
205 t/codespell/stopwords \
206 t/cppcheck/cppcheck.supp \
207 t/critic/perlcriticrc \
216 # We need to use absolute paths here due to strict.t invoking a sub-perl,
217 # while changing dir to source dir on out-of-tree builds.
219 DPKG_DATADIR=$(abs_top_srcdir)/data \
222 include $(top_srcdir)/build-aux/tap.am
224 check-local: tap-check
229 $(MAKE) -C po update-po
230 $(MAKE) -C scripts/po update-po
231 $(MAKE) -C dselect/po update-po
232 $(MAKE) -C man update-po
234 include $(top_srcdir)/build-aux/cpan.am
236 # If we create the dist tarball from the git repository, make sure
237 # that we're not forgetting some files, and we are not storing any symlink
238 # in the repository (except for the origins/default one) as those degrade
239 # to regular files due to automake telling tar to dereference them.
241 # XXX: As long as we have the Makefile based functional test suite, we need
242 # to remove .gitignore files from it, because we are including the entire
243 # hierarchy in EXTRA_DIST.
245 echo $(VERSION) >$(distdir)/.dist-version
246 echo $(PACKAGE_VCS_URL) >$(distdir)/.dist-vcs-url
247 echo $(PACKAGE_VCS_ID) >$(distdir)/.dist-vcs-id
248 find "$(distdir)/tests" -type f -name '.git*' | xargs rm -f
249 if [ -e .git ]; then \
250 for file in `git ls-tree -r HEAD | grep ^12 | grep -v t/origins/default`; do \
251 echo "$$file is a symlink packed as a file on the dist tar" >&2 ; \
254 for file in `git ls-files | grep -vE '\.(git|mailmap)'`; do \
255 if [ ! -e "$(distdir)/$$file" ]; then \
256 echo "$$file is missing in $(distdir)" >&2 ; \
260 XDG_CONFIG_HOME= HOME= \
261 git log -C --stat 1.15.0.. >$(distdir)/ChangeLog; \
264 clean-local: doc-clean coverage-clean tap-clean