#!/usr/bin/make -f
#
# Inspired by the earlier minitar packages of Flavio Stanchina

# Uncomment this to turn on verbose mode. 
#export DH_VERBOSE=1
CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

CVSHOME=cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
SVNHOME=svn export http://svn.madwifi.org/branches/madwifi-old madwifi
TARFILE=madwifi.tar.gz
CHDATE=$(shell LANG=en_US; date +"%a, %e %b %Y %H:%M:%S %z")

ifeq ($(ARCH),)
	ARCH=$(shell dpkg --print-architecture)
endif

ifeq ($(ARCH),powerpc)
	ARCH_TARGET=powerpc-eabi
else 
	ARCH_TARGET=$(ARCH)-elf
endif

patch: patch-stamp
patch-stamp: $(TARFILE)
	dh_testdir
	tar -xzf $(TARFILE)
	touch patch-stamp

$(TARFILE):
	#$(CVSHOME)
	$(SVNHOME)
	date +%Y%m%d > madwifi/.cvsdate
	tar --remove-files --exclude=CVS --exclude=hal/freebsd -czf $(TARFILE) madwifi
	rm -rf madwifi

build-arch: patch-stamp build-arch-stamp
build-arch-stamp:
	dh_testdir
	$(MAKE) -C madwifi/tools TARGET=$(ARCH_TARGET)
	touch build-arch-stamp

build-indep: patch-stamp build-indep-stamp
build-indep-stamp:
	dh_testdir
	touch build-indep-stamp

build: build-arch build-indep

clean:
	dh_testdir
	#dh_testroot
  
	rm -f build-arch-stamp build-indep-stamp patch-stamp
	rm -rf madwifi
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Create the directories to install the source into
	dh_installdirs -pmadwifi-source usr/src/modules/madwifi
	dh_installdirs -pmadwifi-source usr/src/modules/madwifi/debian

	# Copy the needed debian/ pieces to the proper location
	cp madwifi/Makefile* \
					debian/madwifi-source/usr/src/modules/madwifi/
	cp -r madwifi/ath_hal \
					debian/madwifi-source/usr/src/modules/madwifi/
	cp -r madwifi/ath_rate \
					debian/madwifi-source/usr/src/modules/madwifi/
	cp -r madwifi/ath \
					debian/madwifi-source/usr/src/modules/madwifi/
	cp -r madwifi/net80211 \
					debian/madwifi-source/usr/src/modules/madwifi/
	cp -r madwifi/hal \
					debian/madwifi-source/usr/src/modules/madwifi/
	cp -r madwifi/include \
					debian/madwifi-source/usr/src/modules/madwifi/
	cp madwifi/release.h \
					debian/madwifi-source/usr/src/modules/madwifi/
	cp module/control.template \
					debian/madwifi-source/usr/src/modules/madwifi/debian
	cp module/rules \
					debian/madwifi-source/usr/src/modules/madwifi/debian
	cp debian/compat \
					debian/madwifi-source/usr/src/modules/madwifi/debian
	cp debian/copyright \
					debian/madwifi-source/usr/src/modules/madwifi/debian
	sed -e 's/#CVSDATE#/$(shell cat madwifi/.cvsdate)/g' \
			-e 's/#CHDATE#/$(CHDATE)/g'	module/changelog.template > debian/madwifi-source/usr/src/modules/madwifi/debian/changelog

	dh_install
	(cd debian/madwifi-source/usr/src && tar czf madwifi.tar.gz modules --remove-files && rm -r modules)

# Build architecture-dependent files here.
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installchangelogs -i
	dh_installdocs -i
	dh_installexamples -i
#	dh_install -i
#	dh_installmenu -i
#	dh_installdebconf -i
#	dh_installlogrotate -i
#	dh_installemacsen -i
#	dh_installpam -i  
#	dh_installmime -i
#	dh_installinit -i
#	dh_installcron -i
#	dh_installinfo -i
	dh_installman -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
#	dh_perl -i
#	dh_python -i
#	dh_makeshlibs -i
	dh_installdeb -i
	dh_shlibdeps -i
	dh_gencontrol -i -- -v$(shell cat madwifi/.cvsdate)
	dh_md5sums -i   
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -s
	dh_testroot -s
#	dh_installdebconf -s
	dh_installdocs -s
	dh_installexamples -s
	dh_installmenu -s
#	dh_installlogrotate -s
#	dh_installemacsen -s   
#	dh_installpam -s 
#	dh_installmime -s
#	dh_installinit -s
	dh_installcron -s
#	dh_installman -s
	dh_installinfo -s
	dh_installchangelogs -s
	dh_strip -s
	dh_link -s
	dh_compress -s   
	dh_fixperms -s   
#	dh_makeshlibs -s 
	dh_installdeb -s
#	dh_perl -s
	dh_shlibdeps -s
	dh_gencontrol -s -- -v$(shell cat madwifi/.cvsdate)
	dh_md5sums -s   
	dh_builddeb -s

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
