#!/usr/bin/make -f

# alsa-driver's debian/rules.
# Substanially rewritten by Steve Kowalik <stevenk@debian.org>

SHELL := /bin/bash
# Bwahaha, let's play "Fool dpatch"
PACKAGE := ALSA

SRC_DIR := debian/alsa-source-cclub/usr/src/modules/alsa-driver-cclub
INSTALL_UAG := -o root -g audio

include /usr/share/dpatch/dpatch.make

clean: unpatch
	dh_testdir
	dh_testroot
	$(RM) debian/substvars debian/*.debhelper debian/*.substvars
	$(RM) -r debian/alsa-{base,source,headers}
	$(RM) debian/files debian/snddevices
	find . -type f -a \( -name \#\*\# -o -name \*\~ -o -name DEADJOE \
		-o -name \*.orig -o -name \*.rej -o -name \*.bak -o -name \
		.\*.orig -o -name .\*.rej -o -name .SUMS -o -name TAGS \
		-o -name .\#\* -o -name core -o \( -path \*/.deps/\* -a -name \
		\*.P \) \) -exec $(RM) {} \;
	-$(RM) build-stamp
	-$(RM) include/isapnp.h
	-$(RM) debian/*substvars
	-$(RM) -r debian/patched
	dh_clean -k

build: build-stamp
build-stamp: patch-stamp
	touch build-stamp

binary: binary-indep binary-arch

binary-indep: DH_OPTIONS=-i
binary-indep: patch-stamp build-stamp build-source
	dh_testdir
	dh_testroot
	dh_installdirs
	for f in $(shell cat debian/alsa-headers.headers); do \
		install -p -o root -g root -m644 alsa-kernel/include/$$f debian/alsa-headers/usr/include/sound/; \
	done
	install $(INSTALL_UAG) -m755 debian/alsa-base.apm \
		debian/alsa-base/etc/apm/event.d/alsa
	install $(INSTALL_UAG) -m755 snddevices \
		debian/alsa-base/usr/share/alsa-base/snddevices
	install $(INSTALL_UAG) -m644 debian/alsa-base.conf \
		debian/alsa-base/usr/share/alsa-base/alsa-base.conf
	install $(INSTALL_UAG) -m644 debian/alsa-source.conf \
		debian/alsa-source-cclub/usr/share/alsa-source/alsa-source.conf
	install $(INSTALL_UAG) -m644 debian/devfs.conf \
		debian/alsa-base/etc/devfs/conf.d/alsa
	install -o root -o root -m755 debian/program-wrapper \
		debian/alsa-base/usr/share/alsa-base
	for i in modutils modprobe.d ; do \
		install -m644 debian/alsa-base.$$i debian/alsa-base/etc/$$i/alsa-base; \
	done
	install debian/alsa-base.hotplug debian/alsa-base/etc/hotplug/blacklist.d/alsa-base
	for i in linda lintian ; do \
		install -m644 debian/alsa-base.$$i debian/alsa-base/usr/share/$$i/overrides/alsa-base ; \
	done
	dh_installdebconf
	dh_installdocs
	mv debian/alsa-source-cclub/usr/share/doc/alsa-source-cclub/patch-stamp debian/alsa-source-cclub/usr/share/doc/alsa-source-cclub/PATCHES
	DH_OPTIONS= dh_installinit --no-start -r --init-script=alsa
	dh_installman
	dh_installchangelogs 
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# Nothing to do 
binary-arch:

build-source:
	mkdir -p $(SRC_DIR)/debian
	find . \( -path './debian' -o -name 'CVS' -o -name '.cvsignore'  -o -name '*-stamp' \) -prune -o -print | cpio -admp $(SRC_DIR)
	-$(MAKE) -C $(SRC_DIR) clean
	chown -R root:src debian/alsa-source-cclub/usr/src
	# alsa-source/debian/*
	install -m755 debian/alsa-source-cclub.rules $(SRC_DIR)/debian/rules
	install -m644 debian/alsa-source-cclub.control $(SRC_DIR)/debian/control
	install -m644 debian/changelog $(SRC_DIR)/debian/changelog
	install -m644 debian/compat $(SRC_DIR)/debian/compat
	install -m644 debian/alsa-modules-cclub.dirs $(SRC_DIR)/debian/dirs
	# And fix perms on the directory ...
	find debian/alsa-source-cclub -type d -exec chmod 775 {} \;
	find debian/alsa-source-cclub/usr/src/modules -type d -exec chmod 2775 {} \;
	# As much as I hate automatically generated stuff, automatically generate
	# files.
	major_ver="$(shell head -n 1 debian/changelog | cut -d\( -f2 | cut -d\) -f1 | cut -d. -f1-2)"; \
	for i in post{inst,rm} ; do \
		cat debian/alsa-modules-cclub.$$i | sed -e "s/_MAJORVERSION_/$$major_ver/g" > $(SRC_DIR)/debian/$$i; \
	done
	# Build the tarball, debian/* mess over.
	cd debian/alsa-source-cclub/usr/src && tar cf alsa-driver-cclub.tar modules
	$(RM) -r debian/alsa-source-cclub/usr/src/modules
	bzip2 -9 debian/alsa-source-cclub/usr/src/alsa-driver-cclub.tar

.PHONY: binary binary-arch binary-indep build-source clean patch unpatch

