#!/usr/bin/make -f build clean install binary-arch binary-indep binary: +dh $@ --parallel $(opt_no_act) # Runs tests, too, if and only if nocheck is unset (see below). build-arch:: build-plain build-static build-small build-indep: debian/normal-build/Makefile cd debian/normal-build && doxygen Doxyfile autoreconf_sources := $(wildcard Makefile.am */Makefile.am */*/Makefile.am) autoreconf_sources += configure.ac autoreconf_products := $(wildcard Makefile.in */Makefile.in */*/Makefile.in) autoreconf_products += configure # and more, but these will do configure_input := $(autoreconf_products) configure_input += Doxyfile.in configure_input += src/liblzma/liblzma.pc.in configure_input += $(wildcard src/scripts/*.in) override_dh_auto_clean: rm -f debian/*-stamp dh_auto_clean --builddirectory debian/xzdec-build dh_auto_clean --builddirectory debian/normal-build dh_auto_clean --builddirectory debian/static-build sh debian/clean.sh override_dh_auto_install: dh_auto_install --builddirectory debian/xzdec-build dh_auto_install --builddirectory debian/normal-build dh_auto_install --builddirectory debian/static-build set -e; arch=$$(dpkg-architecture -qDEB_HOST_MULTIARCH); \ install -d debian/tmp/lib/$$arch; \ mv debian/tmp/usr/lib/$$arch/liblzma.so.* debian/tmp/lib/$$arch/; \ dso=$$(basename $$(readlink debian/tmp/usr/lib/$$arch/liblzma.so)); \ ln -s -f /lib/$$arch/$$dso debian/tmp/usr/lib/$$arch/liblzma.so override_dh_installchangelogs: dh_installchangelogs ChangeLog build-plain: debian/normal-build/Makefile dh_auto_build --builddirectory debian/normal-build build-static: debian/static-build/Makefile dh_auto_build --builddirectory debian/static-build build-small: debian/xzdec-build/Makefile dh_auto_build --builddirectory debian/xzdec-build debian/test-plain-stamp: | build-plain dh_auto_test --builddirectory debian/normal-build >$@ debian/test-static-stamp: | build-static dh_auto_test --builddirectory debian/static-build >$@ debian/test-xzdec-stamp: | build-small $(MAKE) -C debian/xzdec-build/tests create_compress_files $(MAKE) -C debian/xzdec-build/tests \ TESTS="test_check test_files.sh test_compress.sh" \ check-TESTS >$@ debian/normal-build/Makefile debian/normal-build/Doxyfile: $(configure_input) dh_auto_configure --builddirectory debian/normal-build -- \ $(opt_reproduce) \ --enable-threads --disable-static \ $(opt_optimize) $(opt_quiet) \ --disable-xzdec --disable-lzmadec debian/static-build/Makefile: $(configure_input) dh_auto_configure --builddirectory debian/static-build -- \ $(opt_reproduce) \ --disable-threads --disable-shared \ --enable-liblzma2-compat \ $(opt_optimize) $(opt_quiet) \ --disable-lzmainfo --disable-scripts \ --disable-xzdec --disable-lzmadec \ --disable-xz --disable-lzma-links debian/xzdec-build/Makefile: $(configure_input) dh_auto_configure --builddirectory debian/xzdec-build -- \ $(opt_reproduce) \ --disable-shared --disable-nls --disable-encoders \ --enable-small --disable-threads \ --disable-liblzma2-compat \ $(opt_optimize_small) $(opt_quiet) \ --disable-lzmainfo --disable-scripts \ --disable-xz --disable-lzma-links $(autoreconf_products): $(autoreconf_sources) autoreconf -is small_flags_env = small_flags_env += DEB_CFLAGS_MAINT_STRIP='-O2 -O3' small_flags_env += DEB_CFLAGS_MAINT_PREPEND=-Os flags_cmd = dpkg-buildflags --export=configure opt_optimize = $(shell $(flags_cmd)) opt_optimize_small = $(shell $(small_flags_env) $(flags_cmd)) opt_reproduce = gl_cv_posix_shell=/bin/sh opt_no_act = opt_quiet = # Unless noopt is set, use optimized CRC32 routine on the Hurd. ifeq (hurd,$(shell dpkg-architecture -qDEB_HOST_ARCH_OS)) cputype := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) ifeq (i386,$(cputype)) opt_optimize += --enable-assembler=x86 opt_optimize_small += --enable-assembler=x86 endif ifeq (amd64,$(cputype)) opt_optimize += --enable-assembler=x86_64 opt_optimize_small += --enable-assembler=x86_64 endif endif ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) opt_optimize += --disable-assembler opt_optimize_small += --disable-assembler endif ifneq (,$(findstring n,$(MAKEFLAGS))) opt_no_act = --no-act endif ifneq (,$(filter quiet,$(DEB_BUILD_OPTIONS))) opt_quiet = --quiet MAKEFLAGS += --quiet endif ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) build-arch:: debian/test-plain-stamp build-arch:: debian/test-static-stamp build-arch:: debian/test-xzdec-stamp endif # Build a tarball with the latest upstream version. # This is made complicated by the need to choose a nice version number. REPO = https://git.tukaani.org/xz.git BRANCH = master get-orig-source: mkdir debian-orig-source -set -e; cd debian-orig-source; \ : Fetch latest upstream version.; \ git init -q; \ git fetch -q --tags $(REPO); \ git fetch -q $(REPO) $(BRANCH); \ : Determine version number.; \ commit_name=$$(git describe FETCH_HEAD); \ release=$${commit_name%%-*}; \ date=$$(date --utc --date="$$( \ git log -1 --pretty=format:%cD "$$commit_name" \ )" "+%Y%m%d"); \ if test "$$commit_name" = "$$release"; \ then upstream_version=$${commit_name#v}; \ else upstream_version="$${release#v}+$${date}"; \ fi; \ : Generate tarball.; \ echo "packaging $$commit_name"; \ git archive --format=tar "$$commit_name" \ --prefix="xz-utils-$$upstream_version/" | \ gzip -n --rsyncable -9 \ > "../xz-utils_$$upstream_version.orig.tar.gz" rm -fr debian-orig-source