#!/usr/bin/make -f
# Made with the aid of debmake, by Christoph Lameter,
# based on the sample debian/rules file for GNU hello by Ian Jackson.

package=`dh_listpackages -a`
pkgsrc=`dh_listpackages -i`
kvers=$(KVERS)
pkgmod=em8300-modules-$(kvers)
pkgmod_novers=em8300-modules
KSRC?=/usr/src/linux
MOD_DIR?='.'
KMOD_DIR?=/usr/src/modules

export DH_VERBOSE=1
export DH_COMPAT=3

.prereq:
	$(RM) *.tar.gz
	
build:
	dh_testdir
	./configure --prefix=/usr
	$(MAKE)
	touch build

build-modules:
	dh_testdir
	cd modules ;\
	$(MAKE) KERNEL_LOCATION=$(KSRC) ;\
	cd ..
	touch build-modules

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	$(MAKE) install DESTDIR=`pwd`/debian/$(package)
	install -d "debian/$(package)/usr/sbin"
	# Debian specific stuff
	install -m755 debian/scripts/upload_microcode.sh debian/$(package)/usr/sbin/upload_mc.sh
	install -d "debian/$(package)/etc"
	install -m644 debian/em8300.conf.dist debian/$(package)/etc/em8300.conf
	install -d "debian/$(package)/usr/share/doc/$(package)"
	install -m644 debian/em8300.conf.dist debian/$(package)/usr/share/doc/$(package)/em8300.conf.dist
	install -m644 AUTHORS debian/$(package)/usr/share/doc/$(package)/AUTHORS
	gzip -9v debian/$(package)/usr/share/doc/$(package)/*

clean: .prereq
	dh_testdir
	dh_testroot
	-rm -f build
	-$(MAKE) clean
	dh_clean
	
clean-modules:
	dh_testdir
	dh_testroot
	-rm -f build-modules
	-rm -rf debian/$(pkgmod)
	-rm -f debian/control.tmp
	-cd modules ;\
	$(MAKE) clean ;\
	cd ..
	dh_clean
	
binary-indep: binary-source
	dh_testdir

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdirs -a
	dh_installdocs -a
	dh_installchangelogs -a
	dh_installman debian/man/*.1 -a
	dh_installdebconf -a
	dh_undocumented -a
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary-modules: build-modules
	dh_testdir
	dh_testroot
	dh_installdirs -p$(pkgmod)
	install -d "debian/$(pkgmod)/usr/share/doc/$(pkgmod)"
	dh_installdebconf -p$(pkgmod)
	cd modules ;\
	$(MAKE) prefix=`pwd`/../debian/$(pkgmod)/ KERNVER=$(KVERS) install-newkern ;\
	cd ..
	install -d "debian/$(pkgmod)/etc/init.d"
	install -m755 debian/em8300-modules.initd debian/$(pkgmod)/etc/init.d/em8300
	install -d debian/$(pkgmod)/etc/devfs/conf.d/
	install -o root -g root -m 644 debian/em8300-modules.devfs.conf \
		debian/$(pkgmod)/etc/devfs/conf.d/em8300
	dh_installdocs -p$(pkgmod)
	dh_installchangelogs -p$(pkgmod)
	dh_installdeb -p$(pkgmod_novers) -Pdebian/$(pkgmod)
	dh_fixperms -p$(pkgmod)
	dpkg-gencontrol -Pdebian/$(pkgmod) -Vkvers=$(kvers) -cdebian/$(pkgmod_novers).control
	dh_md5sums -p$(pkgmod)
	dh_builddeb -p$(pkgmod) --destdir $(MOD_DIR)/..

binary-source:
	dh_testdir
	dh_testroot
	dh_installdirs -i
	dh_installdebconf -i
	install -d debian/$(pkgsrc)/$(KMOD_DIR)/$(package)
	install -d debian/$(pkgsrc)/usr/share/doc/$(pkgsrc)
	
	find ./modules ./debian ./include ./AUTHORS ./COPYING ./INSTALL ./NEWS ./README \( -path ./debian/$(pkgsrc) -o -name 'tmp*' \) -prune -o -print | \
	  cpio -admp debian/$(pkgsrc)/usr/src/modules/$(package)
	cd debian/$(pkgsrc)/usr/src/modules/$(package) && \
	  $(MAKE) -f debian/rules clean-modules
	chown -R root.root debian/$(pkgsrc)
	find debian/$(pkgsrc) -type d | xargs chmod 755
	find debian/$(pkgsrc) -type f -perm -100 | xargs chmod 755
	find debian/$(pkgsrc) -type f -not -perm -100 | xargs chmod 644
	cd debian/$(pkgsrc)/$(KMOD_DIR)/../ && \
	  tar cf em8300.tar modules
	$(RM) -r debian/$(pkgsrc)/$(KMOD_DIR)/$(package)
	gzip -9 debian/$(pkgsrc)/usr/src/$(package).tar
	chmod 644 debian/$(pkgsrc)/usr/src/$(package).tar.gz
	
	dh_installdocs -i
	dh_installchangelogs -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

kdist_image:
	dh_testdir
	dh_testroot
	$(MAKE) -f debian/rules MOD_DIR=$(KSRC) clean-modules binary-modules

binary: binary-indep binary-arch

.PHONY: binary binary-arch binary-indep clean checkroot \
	binary-modules clean-modules kdist_image .prereq \
	install
