debian: Multi-Arch support.
[mLib] / debian / rules
CommitLineData
75721625 1#! /usr/bin/make -f
2
5b078c11
MW
3###--------------------------------------------------------------------------
4### Preliminary definitions.
5
6## The multiarch triple.
7DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
8a := $(DEB_HOST_MULTIARCH)
9
10## My version number, shorn of the Debian package version if any.
11DEB_UPSTREAM_VERSION ?= \
12 $(shell dpkg-parsechangelog | \
13 sed -n "/^Version: \([^-]*\)\(-.*\)\?/s//\1/p")
14v := $(DEB_UPSTREAM_VERSION)
15
16## Default Debhelper options.
17DH_OPTIONS = --parallel
52162d1b 18
5b078c11
MW
19## Default Debhelper actions.
20%:; dh $@ $(DH_OPTIONS)
75721625 21
4a0b387c 22###--------------------------------------------------------------------------
5b078c11 23### Multiple flavours.
75721625 24
5b078c11
MW
25## The various flavours of the library which we must build.
26FLAVOURS = noadns adns
75721625 27
5b078c11
MW
28## The build actions which we have to override.
29DH_BUILD_OVERRIDES = configure clean build install test
75721625 30
5b078c11
MW
31## How to perform build action for a particular library flavour.
32define flavour-build-action
33dh_auto_$1 -Bdebian/build-$2 \
34 $(DH_OPTIONS) $(DH_OPTIONS_$2) \
35 $(DH_$1_OPTIONS) $(DH_$1_OPTIONS_$2)
75721625 36
5b078c11
MW
37endef
38
39## Override the build actions, and perform the relevant action for each
40## flavour in turn.
9a38b772
MW
41$(foreach t, $(DH_BUILD_OVERRIDES), dh-$t-hook):: %:; @:
42$(foreach t, $(DH_BUILD_OVERRIDES), override_dh_auto_$t): \
43 override_dh_auto_%: dh-%-hook
5b078c11 44 $(foreach f, $(FLAVOURS), $(call flavour-build-action,$*,$f))
75721625 45
5b078c11
MW
46## Configuration options.
47DH_configure_OPTIONS = -- --libexecdir='$${libdir}'
48DH_configure_OPTIONS_noadns = --without-adns
49DH_configure_OPTIONS_adns = --with-adns
75721625 50
5b078c11 51## Cleaning options.
9a38b772 52dh-clean-hook::
5b078c11 53 rm -rf debian/tmp-adns
4a0b387c 54
5b078c11
MW
55## Installation options.
56DH_install_OPTIONS_adns = --destdir=debian/tmp-adns
4a0b387c 57
5b078c11
MW
58###--------------------------------------------------------------------------
59### Additional tweaks.
4a0b387c 60
9a38b772
MW
61## Some of the install lists need to be generated. This is a little
62## annoying.
63GEN_INSTALL_PKGS = mlib2-adns
64GEN_INSTALL_FILES = $(foreach p, $(GEN_INSTALL_PKGS), debian/$p.install)
65$(GEN_INSTALL_FILES): debian/%.install: \
66 debian/%.install.in debian/changelog debian/rules
67 sed 's,@ARCH@,$a,g' $< >$@.new && mv $@.new $@
68dh-install-hook:: $(GEN_INSTALL_FILES); @:
69dh-clean-hook::
70 rm -f $(GEN_INSTALL_FILES)
71
5b078c11
MW
72## Override the shared-library dependency information to allow any flavour.
73override_dh_makeshlibs:
74 dh_makeshlibs -V"mlib2 (>= $v) | mlib2-adns (>= $v)"
4a0b387c
MW
75
76###----- That's all, folks --------------------------------------------------