Dpkg::Vendor::Debian: Move time64 buildflags feature from future to abi
[dpkg.git] / scripts / Makefile.am
blobeb67108f85b5a5f2415567a22437fb3e81fbd349
1 ## Process this file with automake to produce Makefile.in
3 SUBDIRS = mk po
5 sbin_SCRIPTS = \
6         dpkg-fsys-usrunmess \
7         # EOL
9 bin_SCRIPTS = \
10         dpkg-architecture \
11         dpkg-buildflags \
12         dpkg-buildpackage \
13         dpkg-checkbuilddeps \
14         dpkg-distaddfile \
15         dpkg-genbuildinfo \
16         dpkg-genchanges \
17         dpkg-gencontrol \
18         dpkg-gensymbols \
19         dpkg-mergechangelogs \
20         dpkg-name \
21         dpkg-parsechangelog \
22         dpkg-scanpackages \
23         dpkg-scansources \
24         dpkg-shlibdeps \
25         dpkg-source \
26         dpkg-vendor \
27         # EOL
29 EXTRA_DIST = \
30         dpkg-architecture.pl \
31         dpkg-buildflags.pl \
32         dpkg-buildpackage.pl \
33         dpkg-checkbuilddeps.pl \
34         dpkg-distaddfile.pl \
35         dpkg-fsys-usrunmess.pl \
36         dpkg-genbuildinfo.pl \
37         dpkg-genchanges.pl \
38         dpkg-gencontrol.pl \
39         dpkg-gensymbols.pl \
40         dpkg-mergechangelogs.pl \
41         dpkg-name.pl \
42         dpkg-parsechangelog.pl \
43         dpkg-scanpackages.pl \
44         dpkg-scansources.pl \
45         dpkg-shlibdeps.pl \
46         dpkg-source.pl \
47         dpkg-vendor.pl \
48         $(test_scripts) \
49         $(test_data) \
50         # EOL
52 dist_zshcompletions_DATA = \
53         completion/zsh/_dpkg-parsechangelog \
54         # EOL
56 CLEANFILES = \
57         $(test_data_objects) \
58         $(sbin_SCRIPTS) \
59         $(bin_SCRIPTS) \
60         # EOL
62 perllibdir = $(PERL_LIBDIR)
63 nobase_dist_perllib_DATA = \
64         Dpkg/Arch.pm \
65         Dpkg/BuildEnv.pm \
66         Dpkg/BuildFlags.pm \
67         Dpkg/BuildInfo.pm \
68         Dpkg/BuildOptions.pm \
69         Dpkg/BuildProfiles.pm \
70         Dpkg/BuildTypes.pm \
71         Dpkg/Build/Info.pm \
72         Dpkg/Changelog.pm \
73         Dpkg/Changelog/Debian.pm \
74         Dpkg/Changelog/Entry.pm \
75         Dpkg/Changelog/Entry/Debian.pm \
76         Dpkg/Changelog/Parse.pm \
77         Dpkg/Checksums.pm \
78         Dpkg/Compression.pm \
79         Dpkg/Compression/FileHandle.pm \
80         Dpkg/Compression/Process.pm \
81         Dpkg/Conf.pm \
82         Dpkg/Control.pm \
83         Dpkg/Control/Changelog.pm \
84         Dpkg/Control/FieldsCore.pm \
85         Dpkg/Control/Fields.pm \
86         Dpkg/Control/Info.pm \
87         Dpkg/Control/HashCore.pm \
88         Dpkg/Control/HashCore/Tie.pm \
89         Dpkg/Control/Hash.pm \
90         Dpkg/Control/Tests.pm \
91         Dpkg/Control/Tests/Entry.pm \
92         Dpkg/Control/Types.pm \
93         Dpkg/Deps.pm \
94         Dpkg/Deps/AND.pm \
95         Dpkg/Deps/KnownFacts.pm \
96         Dpkg/Deps/Multiple.pm \
97         Dpkg/Deps/OR.pm \
98         Dpkg/Deps/Simple.pm \
99         Dpkg/Deps/Union.pm \
100         Dpkg/Dist/Files.pm \
101         Dpkg/ErrorHandling.pm \
102         Dpkg/Exit.pm \
103         Dpkg/File.pm \
104         Dpkg/Getopt.pm \
105         Dpkg/Gettext.pm \
106         Dpkg/Index.pm \
107         Dpkg/Interface/Storable.pm \
108         Dpkg/IPC.pm \
109         Dpkg/Lock.pm \
110         Dpkg/OpenPGP.pm \
111         Dpkg/OpenPGP/Backend.pm \
112         Dpkg/OpenPGP/Backend/GnuPG.pm \
113         Dpkg/OpenPGP/Backend/SOP.pm \
114         Dpkg/OpenPGP/Backend/Sequoia.pm \
115         Dpkg/OpenPGP/ErrorCodes.pm \
116         Dpkg/OpenPGP/KeyHandle.pm \
117         Dpkg/Package.pm \
118         Dpkg/Path.pm \
119         Dpkg/Shlibs.pm \
120         Dpkg/Shlibs/Objdump.pm \
121         Dpkg/Shlibs/Objdump/Object.pm \
122         Dpkg/Shlibs/Symbol.pm \
123         Dpkg/Shlibs/SymbolFile.pm \
124         Dpkg/Shlibs/Cppfilt.pm \
125         Dpkg/Source/Archive.pm \
126         Dpkg/Source/BinaryFiles.pm \
127         Dpkg/Source/Format.pm \
128         Dpkg/Source/Functions.pm \
129         Dpkg/Source/Package.pm \
130         Dpkg/Source/Package/V1.pm \
131         Dpkg/Source/Package/V2.pm \
132         Dpkg/Source/Package/V3/Bzr.pm \
133         Dpkg/Source/Package/V3/Custom.pm \
134         Dpkg/Source/Package/V3/Native.pm \
135         Dpkg/Source/Package/V3/Git.pm \
136         Dpkg/Source/Package/V3/Quilt.pm \
137         Dpkg/Source/Patch.pm \
138         Dpkg/Source/Quilt.pm \
139         Dpkg/Substvars.pm \
140         Dpkg/Vendor.pm \
141         Dpkg/Vendor/Debian.pm \
142         Dpkg/Vendor/Default.pm \
143         Dpkg/Vendor/Devuan.pm \
144         Dpkg/Vendor/Ubuntu.pm \
145         Dpkg/Version.pm \
146         Dpkg.pm \
147         # EOL
149 EXTRA_DIST += \
150         Test/Dpkg.pm \
151         # EOL
153 # Keep it even if empty to have man3dir correctly set
154 man3_MANS =
156 man_perl_section = 3perl
158 SUFFIXES =
160 include $(top_srcdir)/build-aux/subst.am
162 POD2MAN_OPTS = \
163         --utf8 \
164         --release=$(PACKAGE_VERSION) \
165         --date='$(PACKAGE_RELEASE_DATE)' \
166         # EOL
168 install-data-local:
169 if BUILD_POD_DOC
170 # Install manual pages for perl modules manually as make can't deal
171 # properly with filenames containing colons
172 # Remove empty manual pages (perl modules not documented)
173         $(MKDIR_P) $(DESTDIR)$(man3dir)
174         for module in $(nobase_dist_perllib_DATA); do \
175           name=`echo $$module | $(SED) -e 's|/|::|g' -e 's/\.pm$$//'`; \
176           $(POD2MAN) $(POD2MAN_OPTS) --center=libdpkg-perl \
177             --name="$$name" --section=$(man_perl_section) $(srcdir)/$$module \
178             >$(DESTDIR)$(man3dir)/$$name.$(man_perl_section); \
179           if ! [ -s "$(DESTDIR)$(man3dir)/$$name.$(man_perl_section)" ]; then \
180             echo "error: empty $(man3dir)/$$name.$(man_perl_section)" 2>&1; \
181             exit 1; \
182           fi; \
183         done
184 endif
186 # Ideally we'd use '$(SED) -i', but unfortunately that's not portable.
187 install-data-hook:
188         $(do_perl_subst) <$(DESTDIR)$(perllibdir)/Dpkg.pm \
189                          >$(DESTDIR)$(perllibdir)/Dpkg.pm.new
190         mv $(DESTDIR)$(perllibdir)/Dpkg.pm.new \
191            $(DESTDIR)$(perllibdir)/Dpkg.pm
193 uninstall-local:
194 if BUILD_POD_DOC
195         for module in $(nobase_dist_perllib_DATA); do \
196           rm -f $(DESTDIR)$(man3dir)/`echo $$module | $(SED) -e 's|/|::|g' -e 's/\.pm$$/.$(man_perl_section)/'`; \
197         done
198 endif
200 coverage: check
201         $(PERL_COVER) -silent \
202           -ignore_re '^t/.*\.t' \
203           -outputdir $(top_builddir)/doc/coverage/scripts
204         : # Cleanup coverage report index
205         $(PERL) -i -p -e "s:$(abs_top_builddir)::" \
206           $(top_builddir)/doc/coverage/scripts/coverage.html
208 coverage-clean:
209         rm -rf cover_db
211 TEST_ENV_VARS = \
212         DPKG_PROGTAR=$(TAR) \
213         DPKG_PROGPATCH=$(PATCH) \
214         DPKG_PROGMAKE=$(MAKE) \
215         DPKG_DATADIR=$(top_srcdir)/data \
216         DPKG_ORIGINS_DIR=$(srcdir)/t/origins \
217         # EOL
218 TEST_COVERAGE = $(PERL_COVERAGE)
220 test_tmpdir = t.tmp
222 test_scripts = \
223         t/Dpkg_Version.t \
224         t/Dpkg_Arch.t \
225         t/Dpkg_Package.t \
226         t/Dpkg_Shlibs_Cppfilt.t \
227         t/Dpkg_Shlibs.t \
228         t/Dpkg_BuildEnv.t \
229         t/Dpkg_BuildFlags.t \
230         t/Dpkg_BuildFlags_Ubuntu.t \
231         t/Dpkg_BuildInfo.t \
232         t/Dpkg_BuildOptions.t \
233         t/Dpkg_BuildProfiles.t \
234         t/Dpkg_BuildTypes.t \
235         t/Dpkg_Checksums.t \
236         t/Dpkg_ErrorHandling.t \
237         t/Dpkg_Exit.t \
238         t/Dpkg_File.t \
239         t/Dpkg_Lock.t \
240         t/Dpkg_Getopt.t \
241         t/Dpkg_Gettext.t \
242         t/Dpkg_Conf.t \
243         t/Dpkg_Deps.t \
244         t/Dpkg_Path.t \
245         t/Dpkg_Interface_Storable.t \
246         t/Dpkg_OpenPGP_KeyHandle.t \
247         t/Dpkg_OpenPGP.t \
248         t/Dpkg_Vendor.t \
249         t/Dpkg_Changelog.t \
250         t/Dpkg_Changelog_Ubuntu.t \
251         t/Dpkg_Control_Fields.t \
252         t/Dpkg_Control.t \
253         t/Dpkg_Control_Tests.t \
254         t/Dpkg_Index.t \
255         t/Dpkg_Substvars.t \
256         t/Dpkg_IPC.t \
257         t/Dpkg_Compression.t \
258         t/Dpkg_Source_Functions.t \
259         t/Dpkg_Source_Patch.t \
260         t/Dpkg_Source_Quilt.t \
261         t/Dpkg_Source_Format.t \
262         t/Dpkg_Source_Archive.t \
263         t/Dpkg_Source_Package.t \
264         t/Dpkg_Dist_Files.t \
265         t/dpkg_source.t \
266         t/dpkg_buildpackage.t \
267         t/dpkg_mergechangelogs.t \
268         t/mk.t \
269         # EOL
271 test_data = \
272         t/Dpkg_Changelog/countme \
273         t/Dpkg_Changelog/date-format \
274         t/Dpkg_Changelog/fields \
275         t/Dpkg_Changelog/misplaced-tz \
276         t/Dpkg_Changelog/regressions \
277         t/Dpkg_Changelog/shadow \
278         t/Dpkg_Changelog/stop-modeline \
279         t/Dpkg_Changelog/unreleased \
280         t/Dpkg_Checksums/data-1 \
281         t/Dpkg_Checksums/data-2 \
282         t/Dpkg_Checksums/empty \
283         t/Dpkg_Conf/config-mixed \
284         t/Dpkg_Control/bogus-armor-double.dsc \
285         t/Dpkg_Control/bogus-armor-formfeed.dsc \
286         t/Dpkg_Control/bogus-armor-inline.dsc \
287         t/Dpkg_Control/bogus-armor-nested.dsc \
288         t/Dpkg_Control/bogus-armor-no-sig.dsc \
289         t/Dpkg_Control/bogus-armor-spaces.dsc \
290         t/Dpkg_Control/bogus-armor-trail.dsc \
291         t/Dpkg_Control/bogus-unsigned.dsc \
292         t/Dpkg_Control/control-1 \
293         t/Dpkg_Control_Tests/tests-missing-fields \
294         t/Dpkg_Control_Tests/tests-plain-text \
295         t/Dpkg_Control_Tests/tests-valid \
296         t/Dpkg_Dist_Files/files-byhand \
297         t/Dpkg_Dist_Files/files-fragment-a \
298         t/Dpkg_Dist_Files/files-fragment-b \
299         t/Dpkg_File/append-me \
300         t/Dpkg_File/dump-partial \
301         t/Dpkg_File/slurp-me \
302         t/Dpkg_OpenPGP/dpkg-test-pub.asc \
303         t/Dpkg_OpenPGP/dpkg-test-sec.asc \
304         t/Dpkg_OpenPGP/sign-file \
305         t/Dpkg_OpenPGP/sign-file-inline.asc \
306         t/Dpkg_OpenPGP/sign-file-inline.sig \
307         t/Dpkg_OpenPGP/sign-file.asc \
308         t/Dpkg_OpenPGP/sign-file.sig \
309         t/Dpkg_Shlibs/basictags.c \
310         t/Dpkg_Shlibs/basictags.symbols \
311         t/Dpkg_Shlibs/ld.so.conf \
312         t/Dpkg_Shlibs/ld.so.conf.d/inf_recurse.conf \
313         t/Dpkg_Shlibs/ld.so.conf.d/normal.conf \
314         t/Dpkg_Shlibs/ld.so.conf.d/recursive.conf \
315         t/Dpkg_Shlibs/ld.so.conf_2 \
316         t/Dpkg_Shlibs/objdump.basictags-amd64 \
317         t/Dpkg_Shlibs/objdump.basictags-i386 \
318         t/Dpkg_Shlibs/objdump.basictags-mips \
319         t/Dpkg_Shlibs/objdump.dbd-pg \
320         t/Dpkg_Shlibs/objdump.glib-ia64 \
321         t/Dpkg_Shlibs/objdump.internal \
322         t/Dpkg_Shlibs/objdump.libc6-2.3 \
323         t/Dpkg_Shlibs/objdump.libc6-2.6 \
324         t/Dpkg_Shlibs/objdump.ls \
325         t/Dpkg_Shlibs/objdump.patterns \
326         t/Dpkg_Shlibs/objdump.space \
327         t/Dpkg_Shlibs/objdump.spacesyms \
328         t/Dpkg_Shlibs/patterns.cpp \
329         t/Dpkg_Shlibs/patterns.map \
330         t/Dpkg_Shlibs/patterns.symbols \
331         t/Dpkg_Shlibs/spacesyms-c-gen.pl \
332         t/Dpkg_Shlibs/spacesyms-o-map.pl \
333         t/Dpkg_Shlibs/spacesyms.map \
334         t/Dpkg_Shlibs/symbols.fake-1 \
335         t/Dpkg_Shlibs/symbols.fake-2 \
336         t/Dpkg_Shlibs/symbols.fake-3 \
337         t/Dpkg_Shlibs/symbols.include-1 \
338         t/Dpkg_Shlibs/symbols.include-2 \
339         t/Dpkg_Shlibs/symbols.include-3 \
340         t/Dpkg_Shlibs/symbols.internal \
341         t/Dpkg_Shlibs/symbols.internal-allow \
342         t/Dpkg_Shlibs/symbols.internal-allow-groups \
343         t/Dpkg_Shlibs/symbols.internal-filter \
344         t/Dpkg_Source_Patch/c-style.patch \
345         t/Dpkg_Source_Patch/ghost-hunk.patch \
346         t/Dpkg_Source_Patch/indent-header.patch \
347         t/Dpkg_Source_Patch/index-+++.patch \
348         t/Dpkg_Source_Patch/index-alone.patch \
349         t/Dpkg_Source_Patch/index-inert.patch \
350         t/Dpkg_Source_Patch/partial.patch \
351         t/Dpkg_Source_Quilt/parse/debian/patches/series \
352         t/Dpkg_Source_Package/package_1.0.orig.tar \
353         t/Dpkg_Source_Package/package_1.0.orig.tar.asc \
354         t/Dpkg_Source_Package/package_1.0.orig.tar.sig \
355         t/Dpkg_Substvars/substvars1 \
356         t/Dpkg_Substvars/substvars2 \
357         t/dpkg_buildpackage/dpkgdb/status \
358         t/dpkg_buildpackage/hook \
359         t/dpkg_buildpackage/test-source_0.dsc \
360         t/dpkg_buildpackage/test-source_0_all.changes \
361         t/dpkg_buildpackage/test-source_0_all.hook \
362         t/dpkg_buildpackage/test-source_0_any.changes \
363         t/dpkg_buildpackage/test-source_0_any.hook \
364         t/dpkg_buildpackage/test-source_0_binary.changes \
365         t/dpkg_buildpackage/test-source_0_binary.hook \
366         t/dpkg_buildpackage/test-source_0_full.changes \
367         t/dpkg_buildpackage/test-source_0_full.hook \
368         t/dpkg_buildpackage/test-source_0_source.changes \
369         t/dpkg_buildpackage/test-source_0_source.hook \
370         t/dpkg_mergechangelogs/ch-a \
371         t/dpkg_mergechangelogs/ch-b \
372         t/dpkg_mergechangelogs/ch-badver-a \
373         t/dpkg_mergechangelogs/ch-badver-b \
374         t/dpkg_mergechangelogs/ch-badver-merged \
375         t/dpkg_mergechangelogs/ch-badver-old \
376         t/dpkg_mergechangelogs/ch-merged \
377         t/dpkg_mergechangelogs/ch-merged-basic \
378         t/dpkg_mergechangelogs/ch-merged-pr \
379         t/dpkg_mergechangelogs/ch-merged-pr-basic \
380         t/dpkg_mergechangelogs/ch-old \
381         t/dpkg_mergechangelogs/ch-unreleased-a \
382         t/dpkg_mergechangelogs/ch-unreleased-b \
383         t/dpkg_mergechangelogs/ch-unreleased-merged \
384         t/dpkg_mergechangelogs/ch-unreleased-merged-basic \
385         t/dpkg_mergechangelogs/ch-unreleased-old \
386         t/dpkg_source/testsuite_0.dsc \
387         t/dpkg_source/testsuite_1.dsc \
388         t/dpkg_source/testsuite_2.dsc \
389         t/dpkg_source/testsuite_3.dsc \
390         t/mk/architecture.mk \
391         t/mk/buildflags.mk \
392         t/mk/buildopts.mk \
393         t/mk/buildtools.mk \
394         t/mk/debian/changelog \
395         t/mk/pkg-info.mk \
396         t/mk/vendor-v0.mk \
397         t/mk/vendor-v1.mk \
398         t/mk/vendor.mk \
399         t/mock-bin/dpkg \
400         t/mock-bin/gcc \
401         t/origins/debian \
402         t/origins/devuan \
403         t/origins/default \
404         t/origins/gnewsense \
405         t/origins/ubuntu \
406         # EOL
408 test_data_objects = \
409         t/Dpkg_Shlibs/libobjdump.basictags-amd64.so \
410         t/Dpkg_Shlibs/libobjdump.basictags-i386.so \
411         t/Dpkg_Shlibs/libobjdump.basictags-mips.so \
412         t/Dpkg_Shlibs/libobjdump.patterns.so \
413         t/Dpkg_Shlibs/libobjdump.spacesyms.so \
414         # EOL
416 $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-amd64.so: $(srcdir)/t/Dpkg_Shlibs/basictags.c
417         $(CC) $(CFLAGS) -shared -fPIC -Wl,-soname -Wl,libbasictags.so.1 $< \
418           -DAMD64 -o $@
420 $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-mips.so: $(srcdir)/t/Dpkg_Shlibs/basictags.c
421         $(CC) $(CFLAGS) -shared -fPIC -Wl,-soname -Wl,libbasictags.so.1 $< \
422           -DMIPS -o $@
424 $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-i386.so: $(srcdir)/t/Dpkg_Shlibs/basictags.c
425         $(CC) $(CFLAGS) -shared -fPIC -Wl,-soname -Wl,libbasictags.so.1 $< \
426           -DI386 -o $@
428 $(srcdir)/t/Dpkg_Shlibs/libobjdump.patterns.so: $(srcdir)/t/Dpkg_Shlibs/patterns.cpp $(srcdir)/t/Dpkg_Shlibs/patterns.map
429         $(CXX) $(CXXFLAGS) -shared -fPIC -Wl,-soname -Wl,libpatterns.so.1 \
430           -Wl,--version-script=$(srcdir)/t/Dpkg_Shlibs/patterns.map $< -o $@
432 $(srcdir)/t/Dpkg_Shlibs/spacesyms.c: $(srcdir)/t/Dpkg_Shlibs/spacesyms-c-gen.pl
433         $(srcdir)/t/Dpkg_Shlibs/spacesyms-c-gen.pl > $@
435 $(srcdir)/t/Dpkg_Shlibs/spacesyms.o: $(srcdir)/t/Dpkg_Shlibs/spacesyms.c $(srcdir)/t/Dpkg_Shlibs/spacesyms-o-map.pl
436         $(CC) $(CFLAGS) -c -fPIC -o $@.tmp $<
437         $(srcdir)/t/Dpkg_Shlibs/spacesyms-o-map.pl $@.tmp $@
438         rm -f $@.tmp
440 $(srcdir)/t/Dpkg_Shlibs/libobjdump.spacesyms.so: $(srcdir)/t/Dpkg_Shlibs/spacesyms.o $(srcdir)/t/Dpkg_Shlibs/spacesyms.map
441         $(CC) -shared -Wl,-soname -Wl,libspacesyms.so.1 \
442           -Wl,--version-script=$(srcdir)/t/Dpkg_Shlibs/spacesyms.map $< -o $@
444 .PHONY: refresh-test-data
446 OBJDUMP = objdump -w -f -p -T -R
448 refresh-test-data: $(test_data_objects)
449         $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-amd64.so \
450           >$(srcdir)/t/Dpkg_Shlibs/objdump.basictags-amd64
451         $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-i386.so \
452           >$(srcdir)/t/Dpkg_Shlibs/objdump.basictags-i386
453         $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-mips.so \
454           >$(srcdir)/t/Dpkg_Shlibs/objdump.basictags-mips
455         $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.patterns.so \
456           >$(srcdir)/t/Dpkg_Shlibs/objdump.patterns
457         $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.spacesyms.so \
458           >$(srcdir)/t/Dpkg_Shlibs/objdump.spacesyms
459         $(OBJDUMP) `which ls` >$(srcdir)/t/Dpkg_Shlibs/objdump.ls
461 include $(top_srcdir)/build-aux/tap.am
463 check-local: tap-check
465 clean-local: tap-clean coverage-clean
466         rm -fr man