1 | #!/usr/bin/make -f |
---|
2 | |
---|
3 | DEB_AUTO_UPDATE_AUTOCONF = 2.50 |
---|
4 | include /usr/share/cdbs/1/rules/debhelper.mk |
---|
5 | include /usr/share/cdbs/1/class/autotools.mk |
---|
6 | |
---|
7 | ATHENA_MAJOR_VERSION = 10 |
---|
8 | ATHENA_MINOR_VERSION = 0 |
---|
9 | |
---|
10 | arch_sysnames = $(if $(filter amd64,$(DEB_BUILD_ARCH)),$(1) $(2),$(if $(filter i386,$(DEB_BUILD_ARCH)),$(2),$(error Unrecognized architecture $(DEB_BUILD_ARCH)))) |
---|
11 | |
---|
12 | DISTRO := $(shell lsb_release --short --id) |
---|
13 | # Ubuntu releases have Debian versions, but not vice-versa |
---|
14 | DEBIAN_VERSION := $(shell dpkg-query --showformat='$${Version}' --show base-files) |
---|
15 | UBUNTU_VERSION := $(shell lsb_release --short --release) |
---|
16 | |
---|
17 | compare_debian_version = $(shell dpkg --compare-versions $(DEBIAN_VERSION) '>=' $(1) && echo y) |
---|
18 | compare_ubuntu_version = $(shell dpkg --compare-versions $(UBUNTU_VERSION) '>=' $(1) && echo y) |
---|
19 | |
---|
20 | SYS_COMPAT := |
---|
21 | |
---|
22 | ifneq ($(call compare_debian_version,3.1),y) |
---|
23 | $(error Debian version $(DEBIAN_VERSION) is too old) |
---|
24 | endif |
---|
25 | |
---|
26 | # The order of the following code is important, and ensures the correct |
---|
27 | # relative order of Debian and Ubuntu releases. (Note this is not quite |
---|
28 | # chronological order, e.g., Debian 6.0 released before Ubuntu 11.04, |
---|
29 | # but after its DebianImportFreeze.) |
---|
30 | |
---|
31 | ifeq ($(call compare_debian_version,7),y) |
---|
32 | SYS_COMPAT += $(call arch_sysnames,amd64_deb70,i386_deb70) |
---|
33 | endif |
---|
34 | |
---|
35 | ifeq ($(DISTRO),Ubuntu) |
---|
36 | ifeq ($(call compare_ubuntu_version,12.10),y) |
---|
37 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1210,i386_ubuntu1210) |
---|
38 | endif |
---|
39 | ifeq ($(call compare_ubuntu_version,12.04),y) |
---|
40 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1204,i386_ubuntu1204) |
---|
41 | endif |
---|
42 | ifeq ($(call compare_ubuntu_version,11.10),y) |
---|
43 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1110,i386_ubuntu1110) |
---|
44 | endif |
---|
45 | endif |
---|
46 | |
---|
47 | ifeq ($(call compare_debian_version,6),y) |
---|
48 | SYS_COMPAT += $(call arch_sysnames,amd64_deb60,i386_deb60) |
---|
49 | endif |
---|
50 | |
---|
51 | ifeq ($(DISTRO),Ubuntu) |
---|
52 | ifeq ($(call compare_ubuntu_version,11.04),y) |
---|
53 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1104,i386_ubuntu1104) |
---|
54 | endif |
---|
55 | |
---|
56 | ifeq ($(call compare_ubuntu_version,10.10),y) |
---|
57 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1010,i386_ubuntu1010) |
---|
58 | endif |
---|
59 | |
---|
60 | ifeq ($(call compare_ubuntu_version,10.04),y) |
---|
61 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1004,i386_ubuntu1004) |
---|
62 | endif |
---|
63 | |
---|
64 | ifeq ($(call compare_ubuntu_version,9.10),y) |
---|
65 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu910,i386_ubuntu910) |
---|
66 | endif |
---|
67 | |
---|
68 | ifeq ($(call compare_ubuntu_version,9.04),y) |
---|
69 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu904,i386_ubuntu904) |
---|
70 | endif |
---|
71 | endif |
---|
72 | |
---|
73 | ifeq ($(call compare_debian_version,4.0.4),y) |
---|
74 | SYS_COMPAT += $(call arch_sysnames,amd64_deb50,i386_deb50) |
---|
75 | endif |
---|
76 | |
---|
77 | ifeq ($(DISTRO),Ubuntu) |
---|
78 | ifeq ($(call compare_ubuntu_version,8.04),y) |
---|
79 | SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu804,i386_ubuntu804) |
---|
80 | endif |
---|
81 | endif |
---|
82 | |
---|
83 | ifeq ($(call compare_debian_version,4),y) |
---|
84 | SYS_COMPAT += $(call arch_sysnames,amd64_deb40,i386_deb40 i386_rhel4) |
---|
85 | endif |
---|
86 | |
---|
87 | SYS_COMPAT += i386_rhel3 i386_linux24 |
---|
88 | |
---|
89 | OPENAFS_VERSION := $(shell dpkg-query --showformat='$${Version}' --show openafs-client) |
---|
90 | MAX_SYSNAMES_PLUS_ONE := $(if $(shell dpkg --compare-versions $(OPENAFS_VERSION) '>=' '1.4.12+dfsg-3~' && echo y),33,17) |
---|
91 | |
---|
92 | ifneq ($(word $(MAX_SYSNAMES_PLUS_ONE),$(SYS_COMPAT)),) |
---|
93 | $(error Too many sysnames: $(SYSNAME_COMPAT)) |
---|
94 | endif |
---|
95 | |
---|
96 | ATHENA_SYS := $(word 1, $(SYS_COMPAT)) |
---|
97 | ATHENA_SYS_COMPAT := $(patsubst %:,%,$(subst : ,:,$(patsubst %,%:,$(wordlist 2, $(words $(SYS_COMPAT)), $(SYS_COMPAT))))) |
---|
98 | |
---|
99 | DEB_CONFIGURE_EXTRA_FLAGS += lbindir=/bin \ |
---|
100 | ATHENA_SYS=$(ATHENA_SYS) \ |
---|
101 | ATHENA_SYS_COMPAT=$(ATHENA_SYS_COMPAT) \ |
---|
102 | ATHENA_MAJOR_VERSION=$(ATHENA_MAJOR_VERSION) \ |
---|
103 | ATHENA_MINOR_VERSION=$(ATHENA_MINOR_VERSION) |
---|
104 | |
---|
105 | clean:: |
---|
106 | rm -f configure |
---|