]>
Commit | Line | Data |
---|---|---|
1 | #!/usr/bin/make -f | |
2 | ||
3 | DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) | |
4 | ||
5 | # Work around http://bugs.debian.org/572077 (debhelper < 7.4.16) | |
6 | binary: binary-arch binary-indep ; | |
7 | ||
8 | %: | |
9 | dh $@ --with autoreconf | |
10 | ||
11 | all_flavors = libnss-nonlocal | |
12 | libnss-nonlocal_configure_args += --prefix=/ | |
13 | libnss-nonlocal_dh_install = 'lib/*' | |
14 | ||
15 | ifneq ($(DEB_HOST_MULTIARCH),) | |
16 | export DH_COMPAT = 9 | |
17 | libnss-nonlocal_configure_args += --libdir='$${prefix}/lib/$(DEB_HOST_MULTIARCH)' | |
18 | libnss-nonlocal_dh_install = 'lib/$(DEB_HOST_MULTIARCH)/*' | |
19 | libnss-nonlocal_dh_gencontrol = -- -DMulti-Arch=same | |
20 | else ifeq ($(shell hash dpkg-buildflags 2>/dev/null && echo y),y) | |
21 | all_configure_args += $(foreach var,CFLAGS CPPFLAGS LDFLAGS,"$(var)=$$(dpkg-buildflags --get $(var))") | |
22 | endif | |
23 | ||
24 | IS_UBUNTU := $(if $(filter Ubuntu,$(shell lsb_release -is)),y) | |
25 | LIBC6_VERSION := $(shell dpkg-query --showformat='$${Version}' --show libc6) | |
26 | libc6_ge = $(shell dpkg --compare-versions '$(LIBC6_VERSION)' ge '$(1)' && echo y) | |
27 | ||
28 | all_flavors += lib32nss-nonlocal | |
29 | # i386_configure_target in eglibc/debian/sysdeps/amd64.mk | |
30 | ifeq ($(or $(IS_UBUNTU),$(call libc6_ge,2.8+20080809)),y) | |
31 | lib32nss-nonlocal_configure_args += --build=i686-linux | |
32 | else | |
33 | lib32nss-nonlocal_configure_args += --build=i486-linux | |
34 | endif | |
35 | # i386_CC in eglibc/debian/sysdeps/amd64.mk | |
36 | lib32nss-nonlocal_configure_args += CC='$(CC) -m32' | |
37 | # i386_slibdir in eglibc/debian/sysdeps/amd64.mk | |
38 | ifeq ($(or $(IS_UBUNTU),$(call libc6_ge,2.9-14~)),y) | |
39 | lib32nss-nonlocal_configure_args += --prefix=/ --libdir='$${prefix}/lib32' | |
40 | lib32nss-nonlocal_dh_install = 'lib32/*' | |
41 | else | |
42 | lib32nss-nonlocal_configure_args += --prefix=/emul/ia32-linux | |
43 | lib32nss-nonlocal_dh_install = 'emul/ia32-linux/*' | |
44 | endif | |
45 | ||
46 | all_flavors += lib64nss-nonlocal | |
47 | # amd64_configure_target in eglibc/debian/sysdeps/i386.mk | |
48 | lib64nss-nonlocal_configure_args += --build=x86_64-linux | |
49 | # amd64_CC in eglibc/debian/sysdeps/i386.mk | |
50 | lib64nss-nonlocal_configure_args += CC='$(CC) -m64 -D__x86_64__' | |
51 | # amd64_slibdir in eglibc/debian/sysdeps/i386.mk | |
52 | lib64nss-nonlocal_configure_args += --prefix=/ --libdir="\$${prefix}/lib64" | |
53 | ||
54 | flavors := $(filter $(all_flavors),$(shell dh_listpackages)) | |
55 | ||
56 | define do_overrides | |
57 | override_$(1): $(addsuffix _$(1),$(2)) | |
58 | $(addsuffix _$(1),$(filter-out REMAINING,$(2))): %_$(1): | |
59 | $(1) -p$$* $(3) | |
60 | REMAINING_$(1): $(addsuffix _$(1),$(filter-out REMAINING,$(2))) | |
61 | $(1) --remaining-packages $(4) | |
62 | ||
63 | endef | |
64 | ||
65 | $(eval $(foreach auto,configure build install test clean,$(call do_overrides,dh_auto_$(auto),$(flavors),-Bdebian/build_$$* -- $$(all_$(auto)_args) $$($$*_$(auto)_args)))) | |
66 | $(eval $(call do_overrides,dh_install,$(flavors) REMAINING,$$($$*_dh_install))) | |
67 | $(eval $(call do_overrides,dh_gencontrol,libnss-nonlocal REMAINING,$$($$*_dh_gencontrol))) |