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
|
#!/usr/bin/make -f
DEB_DH_INSTALLINIT_ARGS := --no-start -- start 50 S . stop 50 0 1 6 .
DEB_DH_INSTALL_ARGS := -X.svn
UPSTREAM_VERSION := $(shell dpkg-parsechangelog|grep "^Version:"|cut -d" " -f2|rev|cut -d- -f2-|rev|cut -d':' -f2)
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
include /usr/share/cdbs/1/rules/debhelper.mk
pre-build:: stamp-prepare-oss4
stamp-prepare-oss4:
mkdir -p $(CURDIR)/build-tree/oss-build
cd $(CURDIR)/build-tree/oss-build && $(CURDIR)/configure --enable-libsalsa=NO --config-vmix=FIXEDPOINT
ifneq ($(DEB_HOST_ARCH_OS),hurd)
# we do NOT want to build the kernel modules now
sed -i -e 's/SUBDIRS=lib cmd \(.*\)/SUBDIRS=lib cmd os_cmd/' $(CURDIR)/build-tree/oss-build/Makefile
echo > $(CURDIR)/build-tree/oss-build/.makefile
endif
touch $@
stamp-build-oss4:
cd $(CURDIR)/build-tree/oss-build && make build
ifeq ($(DEB_HOST_ARCH_OS),linux)
# TODO: rewrite upstream's 'build.sh' from scratch
cat `find $(CURDIR)/build-tree/oss-build/kernel/drv -name .devices`| grep -v '^#' \
| sort | grep -v '^osscore' | grep -v '^oss_audiocs' | grep -v '^oss_sadasupport' \
> $(CURDIR)/build-tree/oss-build/prototype/usr/lib/oss/etc/devices.list
for n in `cat $(CURDIR)/build-tree/oss-build/prototype/usr/lib/oss/etc/devices.list | cut -f 1 | uniq` ; do \
( sed "s:CONFIGFILEPATH:/etc/oss4/conf:g" < $(CURDIR)/build-tree/oss-build/noregparm/kernel/drv/$$n/$$n.man > /tmp/ossman.txt && \
/usr/bin/txt2man -t "$$n" -v "OSS Devices" -s 7 /tmp/ossman.txt | gzip -9 > $(CURDIR)/build-tree/oss-build/prototype/usr/share/man/man7/$$n.7.gz ) \
done
endif
touch $@
stamp-build-libsalsa:
cd $(CURDIR)/build-tree/oss-build/lib/libOSSlib && CFLAGS="$$CFLAGS -isystem $(CURDIR)/debian/include-alsa" make libOSSlib.so
cd $(CURDIR)/build-tree/oss-build/lib/libsalsa && CFLAGS="$$CFLAGS -isystem $(CURDIR)/debian/include-alsa" make
sed -e '/^libdir/s&$$&/$(DEB_HOST_MULTIARCH)&' < debian/alsa.pc.in > debian/alsa.pc
touch $@
build/oss4-base:: stamp-build-oss4
build/oss4-source:: stamp-source-oss4
rm -rf build-tree/modules/oss4/debian
mkdir -p build-tree/modules/oss4/debian
cp -r debian/m-a/* build-tree/modules/oss4/debian/
cp debian/copyright build-tree/modules/oss4/debian/
cp debian/changelog build-tree/modules/oss4/debian/
chmod 755 build-tree/modules/oss4/debian/rules
cd build-tree/ && tar cjf oss4.tar.bz2 modules/
build/oss4-dkms:: stamp-source-oss4
sed -e 's#_VERSION_#$(UPSTREAM_VERSION)#' < debian/oss4-dkms.install.in > debian/oss4-dkms.install
sed -e 's#_VERSION_#$(UPSTREAM_VERSION)#' < debian/oss4-dkms.dkms.in > debian/oss4-dkms.dkms
build/liboss4-salsa2:: stamp-build-libsalsa
build/liboss4-salsa-dev:: stamp-build-libsalsa
build/liboss4-salsa-asound2:: stamp-build-libsalsa
install/oss4-dkms::
dh_dkms
stamp-source-oss4:
bash ./debian/create-ma-tree.sh build-tree/modules/oss4 build-tree/oss-build
find build-tree/modules/oss4 -type f -exec chmod -x {} \;
touch $@
$(CURDIR)/debian/tmp: stamp-build-oss4
cp -a $(CURDIR)/build-tree/oss-build/prototype $(CURDIR)/debian/tmp
install/oss4-base:: $(CURDIR)/debian/tmp
sed -e 's#_VERSION_#$(UPSTREAM_VERSION)#' < debian/oss.conf.in > debian/oss.conf
binary-install/oss4-base::
chmod +x $(CURDIR)/debian/oss4-base/etc/pm/sleep.d/30oss4-pm
cat debian/modprobe.d/OSS-module-list \
| sed -e 's/^[[:space:]]*//' -e 's/#.*//' -e '/^$$/d' \
-e 's/[[:space:]].*//' -e 's/^/blacklist /' \
> debian/oss4-base/etc/modprobe.d/oss4-base_noOSS3.conf
cat debian/modprobe.d/ALSA-module-list \
| sed -e 's/^[[:space:]]*//' -e 's/#.*//' -e '/^$$/d' \
-e 's/[[:space:]].*//' -e 's/^/blacklist /' \
> debian/oss4-base/etc/modprobe.d/oss4-base_noALSA.conf
binary-install/liboss4-salsa-dev::
dh_install -pliboss4-salsa-dev build-tree/oss-build/lib/libsalsa/.libs/liboss4-salsa.a build-tree/oss-build/lib/libsalsa/.libs/liboss4-salsa.so usr/lib/$(DEB_HOST_MULTIARCH)
dh_link -pliboss4-salsa-dev /usr/lib/$(DEB_HOST_MULTIARCH)/liboss4-salsa.so.2 /usr/lib/$(DEB_HOST_MULTIARCH)/libasound.so.2
dh_link -pliboss4-salsa-dev /usr/lib/$(DEB_HOST_MULTIARCH)/liboss4-salsa.so.2 /usr/lib/$(DEB_HOST_MULTIARCH)/libasound.so
dh_link -pliboss4-salsa-dev /usr/lib/$(DEB_HOST_MULTIARCH)/liboss4-salsa.so.2 /usr/lib/$(DEB_HOST_MULTIARCH)/libasound.a
binary-install/liboss4-salsa2::
dh_install -pliboss4-salsa2 build-tree/oss-build/lib/libsalsa/.libs/liboss4-salsa.so.2* usr/lib/$(DEB_HOST_MULTIARCH)
dh_install -pliboss4-salsa2 build-tree/oss-build/lib/libOSSlib/libOSSlib.so usr/lib/$(DEB_HOST_MULTIARCH)/oss4-libsalsa
binary-install/liboss4-salsa-asound2::
dh_link -pliboss4-salsa-asound2 /usr/lib/$(DEB_HOST_MULTIARCH)/liboss4-salsa.so.2 /usr/lib/$(DEB_HOST_MULTIARCH)/libasound.so.2
install/oss4-dev:: $(CURDIR)/debian/tmp
install/oss4-source:: $(CURDIR)/debian/tmp
install/oss4-gtk:: $(CURDIR)/debian/tmp
clean::
rm -rf stamp-build-oss4 stamp-prepare-oss4 stamp-source-oss4 debian/alsa.pc \
stamp-build-libsalsa \
build-tree \
debian/oss4-dkms.install debian/oss4-dkms.dkms debian/dkms/dkms.conf \
debian/oss.conf
|