po: Update German man pages translation
[dpkg.git] / Makefile.am
blob74f8df1979dfe51f023de70a6a34ae6f684806ea
1 ## Process this file with automake to produce Makefile.in
3 if BUILD_DSELECT
4   MAYBE_DSELECT = dselect
5 endif
7 SUBDIRS = \
8         lib \
9         src \
10         utils \
11         $(MAYBE_DSELECT) \
12         scripts \
13         po \
14         man \
15         # EOL
17 ACLOCAL_AMFLAGS = -I m4
19 dist_aclocal_DATA = \
20         m4/dpkg-arch.m4 \
21         m4/dpkg-build.m4 \
22         m4/dpkg-compiler.m4 \
23         m4/dpkg-coverage.m4 \
24         m4/dpkg-funcs.m4 \
25         m4/dpkg-headers.m4 \
26         m4/dpkg-libs.m4 \
27         m4/dpkg-linker.m4 \
28         m4/dpkg-progs.m4 \
29         m4/dpkg-types.m4 \
30         m4/dpkg-unicode.m4 \
31         # EOL
33 dist_pkgdata_DATA = \
34         data/pie-compile.specs \
35         data/pie-link.specs \
36         data/no-pie-compile.specs \
37         data/no-pie-link.specs \
38         data/cputable \
39         data/ostable \
40         data/abitable \
41         data/tupletable \
42         # EOL
44 dist_doc_DATA = \
45         doc/README.api \
46         doc/README.feature-removal-schedule \
47         # EOL
49 dist_docspec_DATA = \
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 \
55         # EOL
57 EXTRA_DIST = \
58         ChangeLog.old \
59         README.l10n \
60         autogen \
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 \
70         debian/bug-script \
71         debian/changelog \
72         debian/control \
73         debian/copyright \
74         debian/dpkg-dev.docs \
75         debian/dpkg-dev.install \
76         debian/dpkg-dev.manpages \
77         debian/dpkg.alternatives.logrotate \
78         debian/dpkg.cfg \
79         debian/dpkg.cron.daily \
80         debian/dpkg.docs \
81         debian/dpkg.dpkg-db-backup.service \
82         debian/dpkg.dpkg-db-backup.timer \
83         debian/dpkg.install \
84         debian/dpkg.manpages \
85         debian/dpkg.postinst \
86         debian/dpkg.postrm \
87         debian/dpkg.logrotate \
88         debian/dpkg.lintian-overrides \
89         debian/dpkg.lintian-profile \
90         debian/dselect.cfg \
91         debian/dselect.docs \
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 \
102         debian/rules \
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 \
110         po/its/polkit.its \
111         po/its/polkit.loc \
112         # EOL
114 .PHONY: doc
116 doc: doc/Doxyfile
117         $(DOXYGEN) doc/Doxyfile
119 doc-clean:
120         rm -rf doc/html/
122 # Code coverage support
124 .PHONY: coverage coverage-clean
126 if COVERAGE_ENABLED
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 \
139         # EOL
140 LCOV_INJECT = $(PERL) -i $(top_srcdir)/build-aux/lcov-inject
142 coverage: all
143         : # Remove coverage data from any previous run
144         rm -f *.lcov
145         find -name '*.gcda' -o -name '*.gcov' | xargs rm -f
147         : # Initialize data
148         $(LCOV) $(LCOV_CAPTURE_OPTS) --capture --initial \
149           --output-file dpkg_base.lcov
150         : # Run test cases
151         $(MAKE) -C lib/dpkg check
152         $(MAKE) -C src 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
161         : # Generate reports
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
176 coverage-clean:
177         rm -rf doc/coverage/
178         find -name '*.gcno' -o -name '*.gcda' -o \
179              -name '*.gcov' -o -name '*.lcov' | xargs rm -f
180         $(MAKE) -C scripts $@
181 else
182 coverage:
183         @echo "Need to reconfigure with --enable-coverage"
185 coverage-clean:
186 endif
188 test_scripts = \
189         t/po.t \
190         t/pod.t \
191         t/pod-spell.t \
192         t/pod-coverage.t \
193         t/synopsis.t \
194         t/minimum-version.t \
195         t/module-version.t \
196         t/syntax.t \
197         t/strict.t \
198         t/critic.t \
199         t/codespell.t \
200         t/shellcheck.t \
201         t/cppcheck.t \
202         # EOL
204 test_data = \
205         t/codespell/stopwords \
206         t/cppcheck/cppcheck.supp \
207         t/critic/perlcriticrc \
208         # EOL
210 EXTRA_DIST += \
211         tests \
212         $(test_scripts) \
213         $(test_data) \
214         # EOL
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.
218 TEST_ENV_VARS = \
219         DPKG_DATADIR=$(abs_top_srcdir)/data \
220         # EOL
222 include $(top_srcdir)/build-aux/tap.am
224 check-local: tap-check
226 .PHONY: update-po
228 update-po:
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.
244 dist-hook:
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 ; \
252             exit 1 ; \
253           done ; \
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 ; \
257               exit 1 ; \
258             fi ; \
259           done ; \
260           XDG_CONFIG_HOME= HOME= \
261           git log -C --stat 1.15.0.. >$(distdir)/ChangeLog; \
262         fi
264 clean-local: doc-clean coverage-clean tap-clean