Commit | Line | Data |
---|---|---|
1479465f GJ |
1 | ## Process this file with automake to produce Makefile.in |
2 | ||
3 | if BUILD_DSELECT | |
4 | MAYBE_DSELECT = dselect | |
5 | endif | |
6 | ||
7 | SUBDIRS = \ | |
8 | lib \ | |
9 | dpkg-deb \ | |
10 | dpkg-split \ | |
11 | src \ | |
12 | utils \ | |
13 | $(MAYBE_DSELECT) \ | |
14 | scripts \ | |
15 | t-func \ | |
16 | po \ | |
17 | man | |
18 | ||
19 | ACLOCAL_AMFLAGS = -I m4 | |
20 | ||
21 | ||
22 | dist_pkgdata_DATA = \ | |
23 | data/pie-compile.specs \ | |
24 | data/pie-link.specs \ | |
25 | data/no-pie-compile.specs \ | |
26 | data/no-pie-link.specs \ | |
27 | data/cputable \ | |
28 | data/ostable \ | |
29 | data/abitable \ | |
30 | data/tupletable \ | |
31 | $(nil) | |
32 | ||
33 | EXTRA_DIST = \ | |
34 | .mailmap \ | |
35 | ChangeLog.old \ | |
36 | README.l10n \ | |
37 | get-version \ | |
38 | run-script \ | |
39 | doc/README.api \ | |
40 | doc/README.feature-removal-schedule \ | |
41 | doc/coding-style.txt \ | |
42 | doc/frontend.txt \ | |
43 | doc/lcov-inject.pl \ | |
44 | doc/triggers.txt \ | |
45 | debian/changelog \ | |
46 | debian/compat \ | |
47 | debian/control \ | |
48 | debian/copyright \ | |
49 | debian/dpkg-dev.docs \ | |
50 | debian/dpkg-dev.install \ | |
51 | debian/dpkg-dev.manpages \ | |
52 | debian/dpkg-dev.preinst \ | |
53 | debian/dpkg-dev.lintian-overrides \ | |
54 | debian/dpkg.cfg \ | |
55 | debian/dpkg.cron.daily \ | |
56 | debian/dpkg.docs \ | |
57 | debian/dpkg.install \ | |
58 | debian/dpkg.manpages \ | |
59 | debian/dpkg.postinst \ | |
60 | debian/dpkg.postrm \ | |
61 | debian/dpkg.prerm \ | |
62 | debian/dpkg.logrotate \ | |
63 | debian/dpkg.lintian-overrides \ | |
64 | debian/dselect.cfg \ | |
65 | debian/dselect.docs \ | |
66 | debian/dselect.install \ | |
67 | debian/dselect.manpages \ | |
68 | debian/dselect.preinst \ | |
69 | debian/dselect.lintian-overrides \ | |
70 | debian/libdpkg-dev.docs \ | |
71 | debian/libdpkg-dev.install \ | |
72 | debian/libdpkg-dev.lintian-overrides \ | |
73 | debian/libdpkg-perl.docs \ | |
74 | debian/libdpkg-perl.install \ | |
75 | debian/libdpkg-perl.lintian-overrides \ | |
76 | debian/source/lintian-overrides \ | |
77 | debian/source/format \ | |
78 | debian/source/options \ | |
79 | debian/usertags \ | |
80 | debian/rules \ | |
81 | debian/shlibs.default \ | |
82 | debian/shlibs.override \ | |
83 | $(test_scripts) \ | |
84 | $(test_data) \ | |
85 | $(nil) | |
86 | ||
87 | .PHONY: doc | |
88 | ||
89 | doc: doc/Doxyfile | |
90 | $(DOXYGEN) doc/Doxyfile | |
91 | ||
92 | doc-clean: | |
93 | rm -rf doc/html/ | |
94 | ||
95 | # Code coverage support | |
96 | ||
97 | .PHONY: coverage coverage-clean | |
98 | ||
99 | if COVERAGE_ENABLED | |
100 | LCOV_OPTS = -q --rc geninfo_checksum=1 --rc lcov_branch_coverage=1 | |
101 | LCOV_CAPTURE_OPTS = $(LCOV_OPTS) --no-recursion \ | |
102 | -d $(top_builddir)/lib/dpkg \ | |
103 | -d $(top_builddir)/src \ | |
104 | -d $(top_builddir)/utils | |
105 | LCOV_INJECT = $(PERL) -i $(top_srcdir)/doc/lcov-inject.pl | |
106 | ||
107 | coverage: all | |
108 | : # Remove coverage data from any previous run | |
109 | rm -f *.lcov | |
110 | find -name '*.gcda' -o -name '*.gcov' | xargs rm -f | |
111 | ||
112 | : # Initialize data | |
113 | $(LCOV) $(LCOV_CAPTURE_OPTS) -c -o dpkg_base.lcov -i | |
114 | : # Run test cases | |
115 | $(MAKE) -C lib/dpkg check | |
116 | $(MAKE) -C src check | |
117 | $(MAKE) -C utils check | |
118 | : # Merge test coverage data | |
119 | $(LCOV) $(LCOV_CAPTURE_OPTS) -c -o dpkg_test.lcov | |
120 | $(LCOV) $(LCOV_OPTS) -a dpkg_base.lcov -a dpkg_test.lcov \ | |
121 | -o dpkg_merge.lcov | |
122 | $(LCOV) $(LCOV_OPTS) -r dpkg_merge.lcov '/usr/include/*' -o dpkg.lcov | |
123 | : # Generate reports | |
124 | $(LCOV) $(LCOV_OPTS) -l dpkg.lcov | |
125 | $(LCOV_GENHTML) $(LCOV_OPTS) \ | |
126 | --legend --title "dpkg $(VERSION) C code coverage" \ | |
127 | -o doc/coverage dpkg.lcov | |
128 | ||
129 | $(MAKE) -C scripts $@ | |
130 | ||
131 | : # XXX: Inject perl coverage into lcov index files. This is a fragile | |
132 | : # hack which might break depending on the html output generated. | |
133 | $(LCOV_INJECT) doc/coverage/index-sort-b.html | |
134 | $(LCOV_INJECT) doc/coverage/index-sort-f.html | |
135 | $(LCOV_INJECT) doc/coverage/index-sort-l.html | |
136 | $(LCOV_INJECT) doc/coverage/index.html | |
137 | ||
138 | coverage-clean: | |
139 | rm -rf doc/coverage/ | |
140 | find -name '*.gcno' -o -name '*.gcda' -o \ | |
141 | -name '*.gcov' -o -name '*.lcov' | xargs rm -f | |
142 | $(MAKE) -C scripts $@ | |
143 | else | |
144 | coverage: | |
145 | @echo "Need to reconfigure with --enable-coverage" | |
146 | ||
147 | coverage-clean: | |
148 | endif | |
149 | ||
150 | test_scripts = \ | |
151 | t/pod.t \ | |
152 | t/pod-spell.t \ | |
153 | t/pod-coverage.t \ | |
154 | t/synopsis.t \ | |
155 | t/minimum-version.t \ | |
156 | t/syntax.t \ | |
157 | t/strict.t \ | |
158 | t/critic.t \ | |
159 | $(nil) | |
160 | ||
161 | test_data = \ | |
162 | t/critic/perlcriticrc \ | |
163 | $(nil) | |
164 | ||
165 | # We need to use absolute paths here due to strict.t invoking a sub-perl, | |
166 | # while changing dir to source dir on out-of-tree builds. | |
167 | TEST_ENV_VARS = \ | |
168 | DPKG_DATADIR=$(abs_top_srcdir)/data \ | |
169 | $(nil) | |
170 | ||
171 | include $(top_srcdir)/check.am | |
172 | ||
173 | .PHONY: update-po | |
174 | ||
175 | update-po: | |
176 | $(MAKE) -C po update-po | |
177 | $(MAKE) -C scripts/po update-po | |
178 | $(MAKE) -C dselect/po update-po | |
179 | $(MAKE) -C man update-po | |
180 | ||
181 | # If we create the dist tarball from the git repository, make sure | |
182 | # that we're not forgetting some files... | |
183 | dist-hook: | |
184 | echo $(VERSION) >$(distdir)/.dist-version | |
185 | if [ -e .git ]; then \ | |
186 | for file in `git ls-files | grep -v .gitignore`; do \ | |
187 | if [ ! -e "$(distdir)/$$file" ]; then \ | |
188 | echo "$$file is missing in $(distdir)" >&2 ; \ | |
189 | exit 1 ; \ | |
190 | fi ; \ | |
191 | done ; \ | |
192 | XDG_CONFIG_HOME= HOME= \ | |
193 | git log -C --stat 1.15.0.. >$(distdir)/ChangeLog; \ | |
194 | fi | |
195 | ||
196 | clean-local: doc-clean coverage-clean check-clean |