1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
#!/usr/bin/make -f
#
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
PACKAGE:= alsa-lib
include /usr/share/quilt/quilt.make
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_BUILD_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU)
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
biarch_map := i386=amd64 powerpc=ppc64 sparc=sparc64 s390=s390x \
amd64=i386 ppc64=powerpc
biarch_cpu := $(strip $(patsubst $(DEB_BUILD_ARCH_CPU)=%, %, \
$(filter $(DEB_BUILD_ARCH_CPU)=%, $(biarch_map))))
ifneq (,$(biarch_cpu))
ifneq (,$(findstring /$(DEB_HOST_ARCH)/, /i386/powerpc/sparc/s390/))
bi = 64
bilibdir = usr/lib64
endif
ifneq (,$(findstring /$(DEB_HOST_ARCH)/, /amd64/ppc64/))
bi = 32
bilibdir = usr/lib32
endif
ifneq (,$(bi))
configure_biarch_stamp = configure-biarch-stamp
build_biarch_stamp = build-biarch-stamp
BIARCH_CC = gcc -m$(bi)
dpkg_ctrl_args = -- '-Vbilib:depends=libc6-$(biarch_cpu)' \
'-Vbidev:depends=libc6-dev-$(biarch_cpu)'
endif
endif
CFLAGS = -g -Wall
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
configure-stamp: debian/stamp-patched $(configure_biarch_stamp)
dh_testdir
-rm -f config.sub config.guess
ln -s /usr/share/misc/config.sub config.sub
ln -s /usr/share/misc/config.guess config.guess
./configure --prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--datadir=\$${prefix}/share \
--build=$(DEB_BUILD_GNU_TYPE) \
--enable-static --disable-maintainer-mode
touch configure-stamp
configure-biarch-stamp: debian/stamp-patched
dh_testdir
-rm -f config.sub config.guess
ln -s /usr/share/misc/config.sub config.sub
ln -s /usr/share/misc/config.guess config.guess
rm -rf bibuild
mkdir bibuild
mkdir bibuild/include
cd bibuild && CC="$(BIARCH_CC)" ../configure --prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--datadir=\$${prefix}/share \
--host=$(DEB_HOST_GNU_TYPE) \
--enable-static --disable-maintainer-mode \
--disable-python --with-plugindir=/$(bilibdir)/alsa-lib
#ln -sf . include/alsa
rm -f bibuild/include/alsa
ln -s . bibuild/include/alsa
sed -e '/^SUBDIRS/s/doc//' bibuild/Makefile > bibuild/Makefile.new
mv bibuild/Makefile bibuild/Makefile.old
mv bibuild/Makefile.new bibuild/Makefile
touch -r bibuild/Makefile.old bibuild/Makefile
touch configure-biarch-stamp
configure: configure-stamp $(configure_biarch_stamp)
build-arch-stamp: configure-stamp
dh_testdir
$(MAKE) CFLAGS="$(CFLAGS)"
touch build-arch-stamp
build-biarch-stamp: configure-biarch-stamp
dh_testdir
$(MAKE) -C bibuild CFLAGS="$(CFLAGS)"
touch build-biarch-stamp
build-arch: $(build_biarch_stamp) build-arch-stamp
build-indep-stamp: build-arch-stamp
dh_testdir
$(MAKE) doc CFLAGS="$(CFLAGS)"
touch build-indep-stamp
build-indep: build-indep-stamp
build: build-arch build-indep
install-arch: build-arch-stamp
dh_testdir
dh_testroot
dh_clean -k -s
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
ifneq (,$(build_biarch_stamp))
rm -rf debian/bitmp
$(MAKE) -C bibuild/src install DESTDIR=$(CURDIR)/debian/bitmp
mkdir -p debian/lib$(bi)asound2/$(bilibdir)
cp -a debian/bitmp/usr/lib/libasound.so.* \
debian/lib$(bi)asound2/$(bilibdir)/
mkdir -p debian/lib$(bi)asound2-dev/$(bilibdir)
# mkdir -p debian/lib$(bi)asound2-dev/$(bilibdir)/pkgconfig
cp -a \
debian/bitmp/usr/lib/libasound.so \
debian/bitmp/usr/lib/libasound.a \
debian/lib$(bi)asound2-dev/$(bilibdir)/
sed -e "/^libdir=/s,=.*,='/$(bilibdir)'," \
debian/bitmp/usr/lib/libasound.la \
> debian/lib$(bi)asound2-dev/$(bilibdir)/libasound.la
mkdir -p debian/lib$(bi)asound2/etc/ld.so.conf.d
echo "/$(bilibdir)/alsa-lib" > debian/lib$(bi)asound2/etc/ld.so.conf.d/lib$(bi)asound2.conf
# sed -e "/^libdir=.*lib$$/s,=.*,=/$(bilibdir)," \
# debian/bitmp/usr/lib/pkgconfig/alsa.pc \
# > debian/lib$(bi)asound2-dev/$(bilibdir)/pkgconfig/alsa.pc
endif
mkdir -p debian/libasound2/etc/ld.so.conf.d
echo "/usr/lib/alsa-lib" > debian/libasound2/etc/ld.so.conf.d/libasound2.conf
dh_installdirs -s
dh_install -s
dh_installdocs -plibasound2
dh_installexamples -s
dh_installchangelogs -plibasound2 debian/changelog.ALSA
install -D -p -m 0644 -o root -g root debian/lib64asound2.lintian-overrides \
debian/lib64asound2/usr/share/lintian/overrides/lib64asound2
dh_strip -s
dh_link -s
dh_compress -s
dh_fixperms -s
install-indep: build-indep-stamp
dh_testdir
dh_testroot
dh_clean -k -i
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
dh_installdirs -i
dh_install -i
dh_installdocs -i
dh_installexamples -i
dh_installchangelogs -plibasound2-doc debian/changelog.ALSA
cp -r doc/doxygen/html debian/libasound2-doc/usr/share/doc/libasound2-doc
dh_compress -i
dh_fixperms -i
binary-arch: build-arch-stamp install-arch
dh_makeshlibs -plibasound2 -V'libasound2 (>> 1.0.17)'
ifneq (,$(build_biarch_stamp))
dh_makeshlibs -plib$(bi)asound2 -V'lib$(bi)asound2 (>> 1.0.17)'
endif
dh_installdeb -s
#dh_shlibdeps -s -Nlib64asound2
dh_shlibdeps -s
dh_gencontrol -s
dh_md5sums -s
dh_builddeb -s
binary-indep: build-indep-stamp install-indep
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
binary: binary-arch binary-indep
clean: unpatch
dh_testdir
dh_testroot
#-$(MAKE) distclean
[ ! -f Makefile ] || $(MAKE) distclean
-rm -f *-stamp
-rm -f config.sub config.guess config.status config.cache
-rm -rf doc/doxygen
rm -rf bibuild debian/bitmp
-rm -f include/alsa
dh_clean
.PHONY: configure build-arch build-indep build install-arch install-indep binary-arch binary-indep binary clean stamp-patched
|