blob: ad3ae4e9372ed1b9a269c85bf93d09ffe5f63211 [file] [log] [blame]
#!/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 debian/changelog.upstream
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 -- \
--disable-static \
$(opt_optimize) $(opt_quiet) \
--disable-xzdec --disable-lzmadec
debian/static-build/Makefile: $(configure_input)
dh_auto_configure --builddirectory debian/static-build -- \
--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 -- \
--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_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 --enable-silent-rules
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 = http://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