#!/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)

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/patchsys-quilt.mk

pre-build:: apply-patches stamp-prepare-oss4

stamp-prepare-oss4:
	mkdir -p $(CURDIR)/build-tree/oss-build
	cd $(CURDIR)/build-tree/oss-build && $(CURDIR)/configure --enable-libsalsa=NO

	# we do NOT want to build the kernel modules now
	sed -i -e 's/SUBDIRS=lib cmd kernel\(.*\)/SUBDIRS=lib cmd\1/' $(CURDIR)/build-tree/oss-build/Makefile
	echo > $(CURDIR)/build-tree/oss-build/.makefile

	touch $@

stamp-build-oss4:
	cd $(CURDIR)/build-tree/oss-build && make build

	# 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

	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

	touch $@

build/oss4-base:: stamp-build-oss4

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

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 \
	stamp-build-libsalsa \
	debian/oss4-dkms.install debian/dkms/dkms.conf \
	oss-v$(UPSTREAM_VERSION)-src-gpl.tar.bz2.cdbs-config_list \
	debian/oss.conf

