#!/usr/bin/make -f
#
# Copyright (c) 2004 Herbert Xu <herbert@gondor.apana.org.au>
# Copyright (c) 2004-2005 Canonical Ltd.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# This is the debhelper compatability version to use.
export DH_COMPAT=4

SHELL := sh -e

prefix := $(CURDIR)/debian/linux-restricted-modules
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
udeb_prefix := $(CURDIR)/debian/d-i-$(DEB_HOST_ARCH)

ifeq "$(DEB_HOST_ARCH)" "hppa"
export CC=gcc-3.4
export GCC=gcc-3.4
else
export CC=gcc
export GCC=gcc
endif

# kernel
yourkernel         = $(shell uname -r)

abi_version        = 15
kernel_version     = $(yourkernel)#$(shell dpkg-parsechangelog | grep ^Source | sed 's/.*-//')
kernel_abi_version = $(yourkernel)#$(kernel_version)-$(abi_version)
lrm_version        = $(shell dpkg-parsechangelog | grep ^Version | awk '{print $$2}')



#sudo aptitude show linux-restricted-modules-generic | grep ^Version | awk '{print $$2}'

# nvidia

nv_release := 9639
nv_new_release := 100.14.11
nv_legacy_release := 7185
nv_base_version=1.0

nv_upstreamversion := ${nv_base_version}-${nv_release}
nv_version := ${nv_base_version}.${nv_release}

nv_new_upstreamversion := ${nv_base_version}-${nv_new_release}
nv_new_version := ${nv_base_version}.${nv_new_release}

nv_legacy_upstreamversion := ${nv_base_version}-${nv_legacy_release}
nv_legacy_version := ${nv_base_version}.${nv_legacy_release}

nv_drv_choice := ${nv_version}

FGLRX   := 0
NVIDIA  := 1
MADWIFI := 0
FRITZ   := 0
LTMODEM := 0
IPW3945 := 0
VMWARE  := 0
VMDESCHED := 0



ifeq "$(DEB_HOST_ARCH)" "i386"
export karch=i386
mw_target := TARGET=i386-elf

nv_filename := NVIDIA-Linux-x86-${nv_upstreamversion}-pkg1.run
nv_dirname := nvidia/NVIDIA-Linux-x86-${nv_upstreamversion}-pkg1
nv_url := http://download.nvidia.com/XFree86/Linux-x86/${nv_upstreamversion}/${nv_filename}

nv_new_filename := NVIDIA-Linux-x86-${nv_new_release}-pkg1.run
nv_new_dirname := nvidia/NVIDIA-Linux-x86-${nv_new_release}-pkg1
nv_new_url := http://download.nvidia.com/XFree86/Linux-x86/${nv_new_release}/${nv_new_filename}

nv_legacy_filename := NVIDIA-Linux-x86-${nv_legacy_upstreamversion}-pkg1.run
nv_legacy_dirname := nvidia/NVIDIA-Linux-x86-${nv_legacy_upstreamversion}-pkg1
nv_legacy_url := http://download.nvidia.com/XFree86/Linux-x86/${nv_legacy_upstreamversion}/${nv_legacy_filename}

ati_package = fglrx
ati_url = http://www2.ati.com/drivers/linux/fglrx_${ati_revision}.zip
ati_archdir = x86
ati_nativelibdir = lib
ati_xorg_dir = x710
fritz_dir := fritz
ipw3945_dir := x86
split_fritz_modules += \
		fcdsl/src/fcdsl \
		fcdsl2/src/fcdsl2 \
		fcdslsl/src/fcdslsl \
		fcdslslusb/src/fcdslslusb \
		fcdslusb/1/fritz/src/fcdslusb \
		fcdslusb/2/fritz/src/fcdslusb2 \
		fcdslusba/src/fcdslusba \
		fcpci/src/fcpci \
		fcusb/src/fcusb \
		fxusb/src/fxusb
#flavours := $(addprefix $(kernel_abi_version)-,generic 386 lowlatency)
flavours := $(yourkernel)
vmware_server_extra_flavours := $(addprefix $(kernel_abi_version)-,server server-bigiron)
vmware_tools_extra_flavours := $(addprefix $(kernel_abi_version)-,server)
endif

ifeq "$(DEB_HOST_ARCH)" "amd64"
export karch=x86_64
mw_target := TARGET=x86_64-elf

nv_filename := NVIDIA-Linux-x86_64-${nv_upstreamversion}-pkg2.run
nv_dirname := nvidia/NVIDIA-Linux-x86_64-${nv_upstreamversion}-pkg2
nv_url := http://download.nvidia.com/XFree86/Linux-x86_64/${nv_upstreamversion}/${nv_filename}

nv_new_filename := NVIDIA-Linux-x86_64-${nv_new_release}-pkg2.run
nv_new_dirname := nvidia/NVIDIA-Linux-x86_64-${nv_new_release}-pkg2
nv_new_url := http://download.nvidia.com/XFree86/Linux-x86_64/${nv_new_release}/${nv_new_filename}

nv_legacy_filename := NVIDIA-Linux-x86_64-${nv_legacy_upstreamversion}-pkg2.run
nv_legacy_dirname := nvidia/NVIDIA-Linux-x86_64-${nv_legacy_upstreamversion}-pkg2
nv_legacy_url := http://download.nvidia.com/XFree86/Linux-x86_64/${nv_legacy_upstreamversion}/${nv_legacy_filename}

ati_package := fglrx64
ati_url = http://www2.ati.com/drivers/linux/fglrx64_${ati_revision}.zip
ati_archdir = x86_64
ati_nativelibdir = lib64
ati_xorg_dir = x710_64a
fritz_dir := fritz64
ipw3945_dir := x86_64
split_fritz_modules += \
		fcdsl2/src/fcdsl2 \
		fcdslsl/src/fcdslsl \
		fcdslslusb/src/fcdslslusb \
		fcdslusb/1/fritz/src/fcdslusb \
		fcdslusb/2/fritz/src/fcdslusb2 \
		fcpci/src/fcpci
#flavours := $(addprefix $(kernel_abi_version)-,generic lowlatency)
flavours := $(yourkernel)
LTMODEM := 0 # no Winmodem support
VMDESCHED := 0
vmware_server_extra_flavours := $(addprefix $(kernel_abi_version)-,server)
vmware_tools_extra_flavours := $(addprefix $(kernel_abi_version)-,server)
endif

ifeq "$(DEB_HOST_ARCH)" "ia64"
export karch=ia64
mw_target := TARGET=ia64-elf
flavours := $(addprefix $(kernel_abi_version)-,itanium mckinley)

NVIDIA  := 0 # no real upstream nvidia support
FGLRX   := 0 # no fireGL support yet
MADWIFI := 0 # no madwifi support yet
FRITZ   := 0 # no AVM Fritz support
LTMODEM := 0 # no Winmodem support
IPW3945 := 0 # no ipw3945d support
VMWARE  := 0 # no vmware player support
endif

ifeq "$(DEB_HOST_ARCH)" "powerpc"
export karch=powerpc
mw_target := TARGET=powerpc-be-elf
flavours := $(addprefix $(kernel_abi_version)-,powerpc powerpc-smp powerpc64-smp)

NVIDIA	:= 0 # no nVidia support yet
FGLRX	:= 0 # no FireGL support yet
FRITZ	:= 0 # no AVM Fritz support
LTMODEM := 0 # no Winmodem support
IPW3945 := 0 # no ipw3945d suppor
VMWARE  := 0 # no vmware player supportt
endif

ifeq "$(DEB_HOST_ARCH)" "hppa"
export karch=hppa
mw_target := TARGET=hppa-be-elf
flavours := $(addprefix $(kernel_abi_version)-,hppa32 hppa64)

NVIDIA	:= 0 # no nVidia support yet
FGLRX	:= 0 # no FireGL support yet
MADWIFI := 0 # no madwifi support yet
FRITZ	:= 0 # no AVM Fritz support
LTMODEM := 0 # no Winmodem support
IPW3945 := 0 # no ipw3945d suppor
VMWARE  := 0 # no vmware player supportt
endif

ifeq "$(DEB_HOST_ARCH)" "sparc"
export karch=sparc
mw_target := TARGET=sparc-be-elf
flavours := $(addprefix $(kernel_abi_version)-,sparc64 sparc64-smp)

NVIDIA	:= 0 # no nVidia support yet
FGLRX	:= 0 # no FireGL support yet
MADWIFI := 0 # no madwifi support yet
FRITZ	:= 0 # no AVM Fritz support
LTMODEM := 0 # no Winmodem support
IPW3945 := 0 # no ipw3945d suppor
VMWARE  := 0 # no vmware player supportt
endif

flavours_udeb := $(shell grep ^$(DEB_HOST_ARCH) debian/d-i/kernel-versions | awk '{print $$4}')

split_modules :=
ifeq "$(FGLRX)" "1"
split_modules += ati/build_mod/2.6.x/fglrx
endif
ifeq "$(NVIDIA)" "1"
split_modules += nv/nvidia
endif
ifeq "$(MADWIFI)" "1"
split_modules += madwifi/ath_hal/ath_hal
endif
ifeq "$(FRITZ)" "1"
split_modules += $(split_fritz_modules)
endif
ifeq "$(LTMODEM)" "1"
split_modules += ltmodem/ltmodem ltmodem/ltserial
endif

builddir := $(CURDIR)/debian/build
rbuilddir := debian/build

download-avm:
#	rm -rf fritz fritz64
#	python debian/getavmcardware.py
#	: # cleanup files we don't want in the archive
#	-find fritz fritz64 -name '*.ko' -o -name '*.rpm' | xargs rm -f

unpack: unpack-stamp unpack-avm-stamp
unpack-stamp:
	dh_testdir

	if [ -e debian/build ]; then \
		mv debian/build debian/build.old; \
	fi
	mkdir debian/build

		mkdir -p debian/build/$(flavours)

ifeq "$(NVIDIA)" "1"
	if [ "${nv_drv_choice}" = "${nv_version}" ]; then	\
		cd nvidia && sh ./$(nv_filename) --extract-only; \
		if [ -d $(CURDIR)/nvidia/patches/ ]; then \
		  for i in $(CURDIR)/nvidia/patches/*; do \
			patch -p0 -d ${nv_dirname} < $$i; \
		  done; \
		fi; \
		cd ..; \
		cd ${nv_dirname}/usr/src/nv && ln -sf Makefile.kbuild Makefile; \
		cd $(CURDIR) \
		cp -al ${nv_dirname}/usr/src/nv debian/build/$(flavours)/nv; \
		for i in -dev.dirs -dev.links -dev.postinst -dev.postrm \
			 -dev.preinst .dirs .docs .examples .links.amd64 \
			 .links .override .postinst .postrm .preinst \
			 .prerm .README.Debian .reportbug .shlibs; \
		do sed -e "s/@@VERSION@@/$(nv_version)/g" -e "s/@@NV_LEGACY@@//g" \
			-e "s:@dirname@:$(nv_dirname):"  -e "s/@@NV_ALT@@//g" \
			< debian/nvidia-glx$$i.in > debian/nvidia-glx$$i; \
		done; \
	fi
	
	if [ "${nv_drv_choice}" = "${nv_new_version}" ]; then	\
		cd nvidia && sh ./$(nv_new_filename) --extract-only; \
		if [ -d $(CURDIR)/nvidia/patches-new/ ]; then \
		  for i in $(CURDIR)/nvidia/patches-new/*; do \
			patch -p0 -d ${nv_new_dirname} < $$i; \
		  done; \
		fi; \
		cd ..; \
		cd ${nv_new_dirname}/usr/src/nv && ln -sf Makefile.kbuild Makefile; \
		cd $(CURDIR) \
		cp -al ${nv_new_dirname}/usr/src/nv debian/build/$(flavours)/nv-new; \
		for i in -dev.dirs -dev.links -dev.postinst -dev.postrm \
			 -dev.preinst .dirs .docs .examples .links.amd64 \
			 .links .override .postinst .postrm .preinst \
			 .prerm .README.Debian .reportbug .shlibs; \
		do sed -e "s/@@VERSION@@/$(nv_new_version)/g" -e "s/@@NV_LEGACY@@/-new/g" \
			-e "s:@dirname@:$(nv_new_dirname):"  -e "s/@@NV_ALT@@/new/g" \
			< debian/nvidia-glx$$i.in > debian/nvidia-glx-new$$i; \
		done; \
	fi
	
	if [ "${nv_drv_choice}" = "${nv_legacy_version}" ]; then	\
		cd nvidia && sh ./$(nv_legacy_filename) --extract-only; \
		if [ -d $(CURDIR)/nvidia/patches-legacy/ ]; then \
		  for i in $(CURDIR)/nvidia/patches-legacy/*; do \
			patch -p0 -d ${nv_legacy_dirname} < $$i; \
		  done; \
		fi; \
		cd ..; \
		cd ${nv_legacy_dirname}/usr/src/nv && ln -sf Makefile.kbuild Makefile; \
		cd $(CURDIR) \
		cp -al ${nv_legacy_dirname}/usr/src/nv debian/build/$(flavours)/nv-legacy; \
		for i in -dev.dirs -dev.links -dev.postinst -dev.postrm \
			 -dev.preinst .dirs .docs .examples .links.amd64 \
			 .links .override .postinst .postrm .preinst \
			 .prerm .README.Debian .reportbug .shlibs; \
		do sed -e "s/@@VERSION@@/$(nv_legacy_version)/g" -e "s/@@NV_LEGACY@@/-legacy/g" \
			-e "s:@dirname@:$(nv_legacy_dirname):"  -e "s/@@NV_ALT@@/legacy/g" \
			< debian/nvidia-glx$$i.in > debian/nvidia-glx-legacy$$i; \
		done; \
	fi;
endif

		sed -e "s/@@KVERSION@@/$$i/g;" debian/linux-restricted-modules.postinst \
			> debian/linux-restricted-modules-$(flavours).postinst; \
		sed -e "s/@@KVERSION@@/$$i/g;" debian/linux-restricted-modules.postrm \
			> debian/linux-restricted-modules-$(flavours).postrm;


	touch unpack-stamp

unpack-avm-stamp:
ifeq "$(FRITZ)" "1"
	for i in $(flavours); do \
	  mkdir -p debian/build/$$i; \
	  for f in $(fritz_dir)/*; do \
	    cp -al $$f debian/build/$$i; \
	  done; \
	done
endif
	touch unpack-avm-stamp

build-kernel: build-kernel-stamp
build-kernel-stamp: unpack-stamp
	dh_testdir
	dh_testroot

	if [ "${nv_drv_choice}" = "${nv_version}" ]; then \
		mkdir -p $(CURDIR)/debian/temp/modules/nvidia-kernel/debian; \
		mkdir -p $(CURDIR)/debian/temp/modules/nvidia-kernel/nv; \
		cp -r $(CURDIR)/nvidia/debian.binary/* $(CURDIR)/debian/temp/modules/nvidia-kernel/debian; \
		set +e && for f in `ls $(CURDIR)/nvidia/debian.binary` ; do \
			perl -p \
			-e 's{#BASE_VERSION#}{$(nv_base_version)}g;' \
			-e 's{#RELEASE#}{$(nv_release)}g;' \
			-e 's{#VERSION#}{$(nv_version)}g;' \
			-e 's{#UPSTREAMVERSION#}{$(nv_upstreamversion)}g;' \
			-e 's{#URL#}{$(nv_url)}g' \
			< $(CURDIR)/nvidia/debian.binary/$$f \
			> $(CURDIR)/debian/temp/modules/nvidia-kernel/debian/$$f ; \
			chmod 0644 $(CURDIR)/debian/temp/modules/nvidia-kernel/debian/$$f ; \
		done	; \
		cp -al $(nv_dirname)/usr/src/nv $(CURDIR)/debian/temp/modules/nvidia-kernel || true; \
		rm -f $(CURDIR)/debian/temp/modules/nvidia-kernel/nv/Makefile; \
		chmod 755 $(CURDIR)/debian/temp/modules/nvidia-kernel/debian/rules; \
		chown -R root:src $(CURDIR)/debian/temp/modules; \
		rm -rf $(CURDIR)/debian/temp/modules/nvidia-kernel/nv/precompiled; \
		tar -zcvf $(CURDIR)/nvidia-kernel-source.tar.gz -C $(CURDIR)/debian/temp modules; \
		rm -rf debian/temp; \
	fi

	if [ "${nv_drv_choice}" = "${nv_legacy_version}" ]; then \
		mkdir -p $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/debian; \
		mkdir -p $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/nv; \
		cp -r $(CURDIR)/nvidia/debian.binary/* $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/debian; \
		set +e && for f in `ls $(CURDIR)/nvidia/debian.binary` ; do \
			perl -p \
			-e 's{#BASE_VERSION#}{$(nv_base_version)}g;' \
			-e 's{#RELEASE#}{$(nv_legacy_release)}g;' \
			-e 's{#VERSION#}{$(nv_legacy_version)}g;' \
			-e 's{#UPSTREAMVERSION#}{$(nv_legacy_upstreamversion)}g;' \
			-e 's{#URL#}{$(nv_legacy_url)}g' \
			< $(CURDIR)/nvidia/debian.binary/$$f \
			> $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/debian/$$f ; \
			chmod 0644 $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/debian/$$f ; \
		done; \
		cp -al $(nv_legacy_dirname)/usr/src/nv $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel || true; \
		rm -f $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/nv/Makefile; \
		chmod 755 $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/debian/rules; \
		chown -R root:src $(CURDIR)/debian/temp/modules; \
		rm -rf $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/nv/precompiled; \
		tar -zcvf $(CURDIR)/nvidia-legacy-kernel-source.tar.gz -C $(CURDIR)/debian/temp modules; \
		rm -rf debian/temp; \
	fi

	if [ "${nv_drv_choice}" = "${nv_new_version}" ]; then \
		mkdir -p $(CURDIR)/debian/temp/modules/nvidia-new-kernel/debian; \
		mkdir -p $(CURDIR)/debian/temp/modules/nvidia-new-kernel/nv; \
		cp -r $(CURDIR)/nvidia/debian.binary/* $(CURDIR)/debian/temp/modules/nvidia-new-kernel/debian; \
		set +e && for f in `ls $(CURDIR)/nvidia/debian.binary` ; do \
			perl -p \
			-e 's{#BASE_VERSION#}{$(nv_base_version)}g;' \
			-e 's{#RELEASE#}{$(nv_new_release)}g;' \
			-e 's{#VERSION#}{$(nv_new_version)}g;' \
			-e 's{#UPSTREAMVERSION#}{$(nv_new_upstreamversion)}g;' \
			-e 's{#URL#}{$(nv_new_url)}g' \
			< $(CURDIR)/nvidia/debian.binary/$$f \
			> $(CURDIR)/debian/temp/modules/nvidia-new-kernel/debian/$$f ; \
			chmod 0644 $(CURDIR)/debian/temp/modules/nvidia-new-kernel/debian/$$f ; \
		done; \
		cp -al $(nv_new_dirname)/usr/src/nv $(CURDIR)/debian/temp/modules/nvidia-new-kernel || true; \
		rm -f $(CURDIR)/debian/temp/modules/nvidia-new-kernel/nv/Makefile; \
		chmod 755 $(CURDIR)/debian/temp/modules/nvidia-new-kernel/debian/rules; \
		chown -R root:src $(CURDIR)/debian/temp/modules; \
		rm -rf $(CURDIR)/debian/temp/modules/nvidia-new-kernel/nv/precompiled; \
		tar -zcvf $(CURDIR)/nvidia-new-kernel-source.tar.gz -C $(CURDIR)/debian/temp modules; \
		rm -rf debian/temp; \
	fi

	touch build-kernel-stamp

build: build-stamp build-avm-stamp modalias-patterns-stamp debian/control
build-stamp: unpack-stamp
	dh_testdir


#ifeq "$(NVIDIA)" "1"

##		cd debian/build/$(flavours); \
		#$(ROOT_CMD) make -C $(builddir)/$(flavours)/nv -f Makefile SYSSRC=/usr/src/linux-headers-$(flavours) KBUILD_PARAMS="-C /usr/src/linux-headers-$$i SUBDIRS=$(builddir)/$$i/nv" module; \
		#$(ROOT_CMD) make -C $(builddir)/$(flavours)/nv-new -f Makefile SYSSRC=/usr/src/linux-headers-$(flavours) KBUILD_PARAMS="-C /usr/src/linux-headers-$$i SUBDIRS=$(builddir)/$$i/nv-new" module; \
		#$(ROOT_CMD) make -C $(builddir)/$(flavours)/nv-legacy -f Makefile SYSSRC=/usr/src/linux-headers-$(flavours) KBUILD_PARAMS="-C /usr/src/linux-headers-$$i SUBDIRS=$(builddir)/$$i/nv-legacy" module; \
		#cd - > /dev/null;
#endif

	touch build-stamp

#RIMUOVERE AVM
build-avm-stamp: unpack-avm-stamp
	dh_testdir

	touch build-avm-stamp

#RIMUOVERE MODALIAS
modalias-patterns-stamp: build-stamp
	dh_testdir

#ifeq "$(NVIDIA)" "1"
	#if [ "${nv_drv_choice}" = "${nv_release}" ]; then \
		#$(SHELL) nvidia/nvidia_supported \
		#$(rbuilddir)/$(flavours)/nv/nv-kernel.o nvidia \
		#> $(rbuilddir)/$(flavours)/nv/modules.alias.override; \
	#fi

	#if [ "${nv_drv_choice}" = "${nv_new_release}" ]; then \
		#$(SHELL) nvidia/nvidia_supported \
		#$(rbuilddir)/$(flavours)/nv-new/nv-kernel.o nvidia_new \
		#> $(rbuilddir)/$(flavours)/nv/modules.alias.override; \
	#fi

	#if [ "${nv_drv_choice}" = "${nv_legacy_release}" ]; then \
		#$(SHELL) nvidia/nvidia_supported \
		#$(rbuilddir)/$(flavours)/nv-legacy/nv-kernel.o nvidia_legacy \
		#> $(rbuilddir)/$(flavours)/nv/modules.alias.override; \
	#fi
#endif

	touch modalias-patterns-stamp

debian/control:
	echo '# THIS FILE IS AUTO-GENERATED FROM control.stub.in' > debian/control.stub
	if [ "${nv_drv_choice}" = "${nv_version}" ]; then \
		sed -e 's/@@NV_VERSION@@/$(nv_version)/g' \
			-e 's/@@KVERSION@@/$(kernel_version)/g' \
			-e 's/@@ABIVER@@/$(kernel_abi_version)/g' \
			debian/control.stub.in >> debian/control.stub; \
	fi;

	if [ "${nv_drv_choice}" = "${nv_new_version}" ]; then \
		sed -e 's/@@NV_NEW_VERSION@@/$(nv_new_version)/g' \
			-e 's/@@KVERSION@@/$(kernel_version)/g' \
			-e 's/@@ABIVER@@/$(kernel_abi_version)/g' \
			debian/control.stub.in >> debian/control.stub; \
	fi;

	if [ "${nv_drv_choice}" = "${nv_legacy_version}" ]; then \
		sed -e 's/@@NV_LEGACY_VERSION@@/$(nv_legacy_version)/g' \
			-e 's/@@KVERSION@@/$(kernel_version)/g' \
			-e 's/@@ABIVER@@/$(kernel_abi_version)/g' \
			debian/control.stub.in >> debian/control.stub; \
	fi;

	echo '# THIS FILE IS AUTO-GENERATED FROM kernel-versions.in' > debian/d-i/kernel-versions;
	sed -e 's/@@ABIVER@@/$(kernel_abi_version)/g' \
		debian/d-i/kernel-versions.in >> debian/d-i/kernel-versions
	rm -rf $(udeb_prefix)
	mkdir -p $(udeb_prefix)/modules $(udeb_prefix)/firmware
	-cp -a debian/d-i/modules/$(DEB_HOST_ARCH) $(udeb_prefix)/modules/
	-cp -a debian/d-i/firmware/$(DEB_HOST_ARCH) $(udeb_prefix)/firmware/
	cp -a debian/d-i/package-list debian/d-i/kernel-versions $(udeb_prefix)/
	ln -s .. $(udeb_prefix)/debian
	(cd $(udeb_prefix) && kernel-wedge gen-control) > debian/control
	rm -rf $(udeb_prefix)

clean: debian/control
	dh_testdir
	dh_testroot
	rm -f unpack-stamp build-stamp build-kernel-stamp \
		  modalias-patterns-stamp
	rm -rf debian/build* debian/temp/
	rm -f debian/vmware-*-kernel-modules-*.postinst
	rm -f debian/vmware-*-kernel-modules-*.postrm
	rm -f debian/linux-restricted-modules-[0-9]*.postinst
	rm -f debian/linux-restricted-modules-*.postrm
	rm -f debian/linux-restricted-modules-*.preinst
	rm -f debian/linux-restricted-modules-*.prerm
	rm -f debian/nic-restricted-modules-*.postinst
	for i in -dev.dirs -dev.links -dev.postinst -dev.postrm \
		 -dev.preinst .dirs .docs .examples .links.amd64 \
		 .links .override .postinst .postrm .preinst \
		 .prerm .README.Debian .reportbug .shlibs; \
		do rm -f debian/nvidia-glx$$i debian/nvidia-glx-legacy$$i debian/nvidia-glx-new$$i; \
	done
	rm -rf $(nv_dirname) $(nv_legacy_dirname) $(nv_new_dirname); \
	rm -f nvidia-kernel-source.tar.gz nvidia-legacy-kernel-source.tar.gz \
		nvidia-new-kernel-source.tar.gz
	rm -f fglrx-kernel-source.tar.gz
	dh_clean `find debian/d-i/modules debian/d-i/firmware -type l 2>/dev/null`
	rm -rf $(udeb_prefix)
	rm -rf avm-download build-avm-stamp unpack-avm-stamp
	rm -rf debian/nic-restricted-modules-*-di \
		   debian/nic-restricted-firmware-*-di
	rm -f correct-lib-path
	cp -f debian/control.stub debian/control

install: build build-kernel
	dh_testdir
	dh_clean -k
	dh_installdirs

	# Split modules for install
	chmod u+rx debian/split-module
	##flavour = $(flavours)
##		export KERNELPATH=/usr/src/linux-headers-$(flavours); \
		#export $(mw_target); \
		#for module in $(split_modules); do \
			#echo "KERNELPATH=/usr/src/linux-headers-$(flavours) $(mw_target) CC=$(CC) GCC=$(GCC) debian/split-module $$(basename $$module) debian/build/$(flavours)/$$(dirname $$module) $(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)"; \
			#debian/split-module $$(basename $$module) \
				#debian/build/$(flavours)/$$(dirname $$module) \
				#$(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours); \
		#done;

##ifeq "$(NVIDIA)" "1"
	##flavour = $(flavours)
	##		export KERNELPATH=/usr/src/linux-headers-$(flavours); \
		#debian/split-module nvidia \
			#debian/build/$(flavours)/nv-legacy \
			#$(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)/nv-legacy; \
		#mv $(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)/nv-legacy/nvidia \
		   #$(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)/nvidia_legacy; \
		#rm -rf $(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)/nv-legacy; \
				#debian/split-module nvidia \
						#debian/build/$(flavours)/nv-new \
						#$(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)/nv-new; \
				#mv $(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)/nv-new/nvidia \
				   #$(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)/nvidia_new; \
				#rm -rf $(prefix)-$(flavours)/lib/linux-restricted-modules/$(flavours)/nv-new; \
		#install -D -m0644 \
			#$(rbuilddir)/$(flavours)/nv/modules.alias.override \
			#$(prefix)-$(flavours)/usr/share/linux-restricted-modules/$(flavours)/modules.alias.override/nvidia;
##endif
	


ifeq "$(NVIDIA)" "1"
	# Huge pile of crud so we don't have to dupe for nvidia-{legacy,new}
		if [ "${nv_drv_choice}" = "${nv_new_version}" ]; then \
			mkdir -p $(CURDIR)/debian/nvidia-new-kernel-source/usr/src; \
			mkdir -p $(CURDIR)/debian/nvidia-glx-new/usr/lib/xorg/modules/drivers/;	\
			mkdir -p $(CURDIR)/debian/nvidia-glx-new-dev/usr/lib/;	\
			mkdir -p $(CURDIR)/debian/$(nv_new_dirname)/usr/include/GL/;	\
			mkdir -p $(CURDIR)/debian/nvidia-glx-new-dev/usr/share/doc/nvidia-glx-new-dev/include/GL; \
			mkdir -p $(CURDIR)/debian/nvidia-glx-new/usr/lib/tls/;			\
			mkdir -p $(CURDIR)/debian/nvidia-glx-new/usr/bin/;			\
			mkdir -p $(CURDIR)/debian/nvidia-glx-new/usr/share/bug/nvidia-glx-new/;	\
			install -m 644 $(CURDIR)/nvidia-new-kernel-source.tar.gz			\
				$(CURDIR)/debian/nvidia-new-kernel-source/usr/src;		\
			install -m 0644 $(nv_new_dirname)/usr/X11R6/lib/modules/drivers/nvidia_drv.so		\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib/xorg/modules/drivers/;	\
			install $(nv_new_dirname)/usr/X11R6/lib/libXvMCNVIDIA.a				\
				$(CURDIR)/debian/nvidia-glx-new-dev/usr/lib/libXvMCNVIDIA.a;	\
			install $(nv_new_dirname)/usr/X11R6/lib/libXvMCNVIDIA.so.$(nv_new_release)			\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib/libXvMCNVIDIA.so.$(nv_new_release); \
			install -m 0644 $(nv_new_dirname)/usr/include/GL/gl.h 					\
				$(CURDIR)/debian/nvidia-glx-new-dev/usr/share/doc/nvidia-glx-new-dev/include/GL; \
			install -m 0644 $(nv_new_dirname)/usr/include/GL/glext.h				\
				$(CURDIR)/debian/nvidia-glx-new-dev/usr/share/doc/nvidia-glx-new-dev/include/GL; \
			install -m 0644 $(nv_new_dirname)/usr/include/GL/glx.h					\
				$(CURDIR)/debian/nvidia-glx-new-dev/usr/share/doc/nvidia-glx-new-dev/include/GL; \
			if [ -e $(nv_new_dirname)/usr/include/GL/glxext.h ]; then				\
				install -m 0644 $(nv_new_dirname)/usr/include/GL/glxext.h				\
					$(CURDIR)/debian/nvidia-glx-new-dev/usr/share/doc/nvidia-glx-new-dev/include/GL; \
			fi;										\
			install -m 0644 $(nv_new_dirname)/usr/lib/libGL.so.$(nv_new_release)				\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib;				\
			install -m 0644 $(nv_new_dirname)/usr/lib/libGLcore.so.$(nv_new_release)			\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib;				\
			if [ -e $(nv_new_dirname)/usr/lib/libnvidia-cfg.so.$(nv_new_release) ]; then			\
				install -m 0644 $(nv_new_dirname)/usr/lib/libnvidia-cfg.so.$(nv_new_release)		\
					$(CURDIR)/debian/nvidia-glx-new/usr/lib;			\
			fi;										\
			sed "s/__GENERATED_BY__/Ubuntu nvidia--newgraphics-drivers/"		\
				$(nv_new_dirname)/usr/lib/libGL.la | sed "s/__LIBGL_PATH__/\/usr\/lib/" > 	\
				$(CURDIR)/debian/nvidia-glx-new-dev/usr/lib/libGL.la;		\
			if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then					\
				install -d $(CURDIR)/debian/nvidia-glx-new/usr/lib32		\
					$(CURDIR)/debian/nvidia-glx-new-dev/usr/lib32;		\
				install -m 0644 $(nv_new_dirname)/usr/lib32/libGL.so.$(nv_new_release)		\
					$(CURDIR)/debian/nvidia-glx-new/usr/lib32;		\
				install -m 0644 $(nv_new_dirname)/usr/lib32/libGLcore.so.$(nv_new_release)		\
					$(CURDIR)/debian/nvidia-glx-new/usr/lib32;		\
				if [ -e $(nv_new_dirname)/usr/lib32/libnvidia-cfg.so.$(nv_new_release) ]; then	\
					install -m 0644 $(nv_new_dirname)/usr/lib32/libnvidia-cfg.so.$(nv_new_release) \
						$(CURDIR)/debian/nvidia-glx-new/usr/lib32;	\
				fi;									\
				sed "s/__GENERATED_BY__/Ubuntu nvidia--newgraphics-drivers/"	\
					$(nv_new_dirname)/usr/lib32/libGL.la |					\
					sed "s/__LIBGL_PATH__/\/usr\/lib32/" >				\
					$(CURDIR)/debian/nvidia-glx-new-dev/usr/lib32/libGL.la;	\
			fi;										\
			install nvidia/nvidia-glx-config						\
				$(CURDIR)/debian/nvidia-glx-new/usr/sbin;			\
			install $(nv_new_dirname)/usr/lib/libnvidia-tls.so.$(nv_new_release)				\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib/;			\
			install $(nv_new_dirname)/usr/lib/tls/libnvidia-tls.so.$(nv_new_release)			\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib/tls/;			\
			if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then					\
				install $(nv_new_dirname)/usr/lib32/libnvidia-tls.so.$(nv_new_release)		\
					$(CURDIR)/debian/nvidia-glx-new/usr/lib32/;		\
				install -d $(CURDIR)/debian/nvidia-glx-new/usr/lib32/tls;	\
				install $(nv_new_dirname)/usr/lib32/tls/libnvidia-tls.so.$(nv_new_release)		\
					 $(CURDIR)/debian/nvidia-glx-new/usr/lib32/tls/;		\
			fi;										\
			install $(nv_new_dirname)/usr/X11R6/lib/modules/extensions/libglx.so.$(nv_new_release)	\
				 $(CURDIR)/debian/nvidia-glx-new/usr/lib/xorg/modules/;		\
			install $(nv_new_dirname)/usr/X11R6/lib/modules/libnvidia-wfb.so.$(nv_new_release)	\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib/xorg/modules/;	\
			install $(nv_new_dirname)/usr/bin/tls_test						\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib/nvidia;			\
			install $(nv_new_dirname)/usr/bin/tls_test_dso.so					\
				$(CURDIR)/debian/nvidia-glx-new/usr/lib/nvidia;			\
			install -d $(CURDIR)/debian/nvidia-glx-new/usr/share/lintian/overrides;	\
			install -m 0644 debian/nvidia-glx-new.override				\
				$(CURDIR)/debian/nvidia-glx-new/usr/share/lintian/overrides/nvidia-glx-new; \
			install -m 755 $(nv_new_dirname)/usr/bin/nvidia-bug-report.sh				\
				$(CURDIR)/debian/nvidia-glx-new/usr/bin/;			\
			if [ -e $(nv_new_dirname)/usr/share/man/man1/nvidia-settings.1.gz ]; then		\
				install -m 755 $(nv_new_dirname)/usr/bin/nvidia-settings			\
					$(CURDIR)/debian/nvidia-glx-new/usr/bin/;		\
				install -m 644 $(nv_new_dirname)/usr/share/man/man1/nvidia-settings.1.gz	\
					$(CURDIR)/debian/nvidia-glx-new/usr/share/man/man1/;	\
			fi;										\
			if [ -e $(nv_new_dirname)/usr/share/man/man1/nvidia-xconfig.1.gz ]; then		\
				install -m 755 $(nv_new_dirname)/usr/bin/nvidia-xconfig			\
					$(CURDIR)/debian/nvidia-glx-new/usr/bin/;		\
				install -m 644 $(nv_new_dirname)/usr/share/man/man1/nvidia-xconfig.1.gz	\
					$(CURDIR)/debian/nvidia-glx-new/usr/share/man/man1/;	\
			fi;										\
			install $(CURDIR)/debian/nvidia-glx-new.reportbug			\
				$(CURDIR)/debian/nvidia-glx-new/usr/share/bug/nvidia-glx-new/script; \
		fi;
		if [ "${nv_drv_choice}" = "${nv_version}" ]; then \
			mkdir -p $(CURDIR)/debian/nvidia-kernel-source/usr/src; \
			mkdir -p $(CURDIR)/debian/nvidia-glx/usr/lib/xorg/modules/drivers/;	\
			mkdir -p $(CURDIR)/debian/nvidia-glx-dev/usr/lib/;	\
			mkdir -p $(CURDIR)/debian/$(nv_dirname)/usr/include/GL/;	\
			mkdir -p $(CURDIR)/debian/nvidia-glx-dev/usr/share/doc/nvidia-glx-dev/include/GL; \
			mkdir -p $(CURDIR)/debian/nvidia-glx/usr/lib/tls/;			\
			mkdir -p $(CURDIR)/debian/nvidia-glx/usr/bin/;			\
			mkdir -p $(CURDIR)/debian/nvidia-glx/usr/share/bug/nvidia-glx/;	\
			install -m 644 $(CURDIR)/nvidia-kernel-source.tar.gz			\
				$(CURDIR)/debian/nvidia-kernel-source/usr/src;		\
			install -m 0644 $(nv_dirname)/usr/X11R6/lib/modules/drivers/nvidia_drv.so		\
				$(CURDIR)/debian/nvidia-glx/usr/lib/xorg/modules/drivers/;	\
			install $(nv_dirname)/usr/X11R6/lib/libXvMCNVIDIA.a				\
				$(CURDIR)/debian/nvidia-glx-dev/usr/lib/libXvMCNVIDIA.a;	\
			install $(nv_dirname)/usr/X11R6/lib/libXvMCNVIDIA.so.$(nv_version)			\
				$(CURDIR)/debian/nvidia-glx/usr/lib/libXvMCNVIDIA.so.$(nv_version); \
			install -m 0644 $(nv_dirname)/usr/include/GL/gl.h 					\
				$(CURDIR)/debian/nvidia-glx-dev/usr/share/doc/nvidia-glx-dev/include/GL; \
			install -m 0644 $(nv_dirname)/usr/include/GL/glext.h				\
				$(CURDIR)/debian/nvidia-glx-dev/usr/share/doc/nvidia-glx-dev/include/GL; \
			install -m 0644 $(nv_dirname)/usr/include/GL/glx.h					\
				$(CURDIR)/debian/nvidia-glx-dev/usr/share/doc/nvidia-glx-dev/include/GL; \
			if [ -e $(nv_dirname)/usr/include/GL/glxext.h ]; then				\
				install -m 0644 $(nv_dirname)/usr/include/GL/glxext.h				\
					$(CURDIR)/debian/nvidia-glx-dev/usr/share/doc/nvidia-glx-dev/include/GL; \
			fi;										\
			install -m 0644 $(nv_dirname)/usr/lib/libGL.so.$(nv_version)				\
				$(CURDIR)/debian/nvidia-glx/usr/lib;				\
			install -m 0644 $(nv_dirname)/usr/lib/libGLcore.so.$(nv_version)			\
				$(CURDIR)/debian/nvidia-glx/usr/lib;				\
			if [ -e $(nv_dirname)/usr/lib/libnvidia-cfg.so.$(nv_version) ]; then			\
				install -m 0644 $(nv_dirname)/usr/lib/libnvidia-cfg.so.$(nv_version)		\
					$(CURDIR)/debian/nvidia-glx/usr/lib;			\
			fi;										\
			sed "s/__GENERATED_BY__/Ubuntu nvidia-graphics-drivers/"		\
				$(nv_dirname)/usr/lib/libGL.la | sed "s/__LIBGL_PATH__/\/usr\/lib/" > 	\
				$(CURDIR)/debian/nvidia-glx-dev/usr/lib/libGL.la;		\
			if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then					\
				install -d $(CURDIR)/debian/nvidia-glx/usr/lib32		\
					$(CURDIR)/debian/nvidia-glx-dev/usr/lib32;		\
				install -m 0644 $(nv_dirname)/usr/lib32/libGL.so.$(nv_version)		\
					$(CURDIR)/debian/nvidia-glx/usr/lib32;		\
				install -m 0644 $(nv_dirname)/usr/lib32/libGLcore.so.$(nv_version)		\
					$(CURDIR)/debian/nvidia-glx/usr/lib32;		\
				if [ -e $(nv_dirname)/usr/lib32/libnvidia-cfg.so.$(nv_version) ]; then	\
					install -m 0644 $(nv_dirname)/usr/lib32/libnvidia-cfg.so.$(nv_version) \
						$(CURDIR)/debian/nvidia-glx/usr/lib32;	\
				fi;									\
				sed "s/__GENERATED_BY__/Ubuntu nvidia-graphics-drivers/"	\
					$(nv_dirname)/usr/lib32/libGL.la |					\
					sed "s/__LIBGL_PATH__/\/usr\/lib32/" >				\
					$(CURDIR)/debian/nvidia-glx-dev/usr/lib32/libGL.la;	\
			fi;										\
			install nvidia/nvidia-glx-config						\
				$(CURDIR)/debian/nvidia-glx/usr/sbin;			\
			install $(nv_dirname)/usr/lib/libnvidia-tls.so.$(nv_version)				\
				$(CURDIR)/debian/nvidia-glx/usr/lib/;			\
			install $(nv_dirname)/usr/lib/tls/libnvidia-tls.so.$(nv_version)			\
				$(CURDIR)/debian/nvidia-glx/usr/lib/tls/;			\
			if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then					\
				install $(nv_dirname)/usr/lib32/libnvidia-tls.so.$(nv_version)		\
					$(CURDIR)/debian/nvidia-glx/usr/lib32/;		\
				install -d $(CURDIR)/debian/nvidia-glx/usr/lib32/tls;	\
				install $(nv_dirname)/usr/lib32/tls/libnvidia-tls.so.$(nv_version)		\
					 $(CURDIR)/debian/nvidia-glx/usr/lib32/tls/;		\
			fi;										\
			install $(nv_dirname)/usr/X11R6/lib/modules/extensions/libglx.so.$(nv_version)	\
				 $(CURDIR)/debian/nvidia-glx/usr/lib/xorg/modules/;		\
			install $(nv_dirname)/usr/bin/tls_test						\
				$(CURDIR)/debian/nvidia-glx/usr/lib/nvidia;			\
			install $(nv_dirname)/usr/bin/tls_test_dso.so					\
				$(CURDIR)/debian/nvidia-glx/usr/lib/nvidia;			\
			install -d $(CURDIR)/debian/nvidia-glx/usr/share/lintian/overrides;	\
			install -m 0644 debian/nvidia-glx.override				\
				$(CURDIR)/debian/nvidia-glx/usr/share/lintian/overrides/nvidia-glx; \
			install -m 755 $(nv_dirname)/usr/bin/nvidia-bug-report.sh				\
				$(CURDIR)/debian/nvidia-glx/usr/bin/;			\
			if [ -e $(nv_dirname)/usr/share/man/man1/nvidia-settings.1.gz ]; then		\
				install -m 755 $(nv_dirname)/usr/bin/nvidia-settings			\
					$(CURDIR)/debian/nvidia-glx/usr/bin/;		\
				install -m 644 $(nv_dirname)/usr/share/man/man1/nvidia-settings.1.gz	\
					$(CURDIR)/debian/nvidia-glx/usr/share/man/man1/;	\
			fi;										\
			if [ -e $(nv_dirname)/usr/share/man/man1/nvidia-xconfig.1.gz ]; then		\
				install -m 755 $(nv_dirname)/usr/bin/nvidia-xconfig			\
					$(CURDIR)/debian/nvidia-glx/usr/bin/;		\
				install -m 644 $(nv_dirname)/usr/share/man/man1/nvidia-xconfig.1.gz	\
					$(CURDIR)/debian/nvidia-glx/usr/share/man/man1/;	\
			fi;										\
			install $(CURDIR)/debian/nvidia-glx.reportbug			\
				$(CURDIR)/debian/nvidia-glx/usr/share/bug/nvidia-glx/script; \
		fi;
		if [ "${nv_drv_choice}" = "${nv_legacy_version}" ]; then \
			mkdir -p $(CURDIR)/debian/nvidia-legacy-kernel-source/usr/src; \
			mkdir -p $(CURDIR)/debian/nvidia-glx-legacy/usr/lib/xorg/modules/drivers/;	\
			mkdir -p $(CURDIR)/debian/nvidia-glx-legacy-dev/usr/lib/;	\
			mkdir -p $(CURDIR)/debian/$(nv_legacy_dirname)/usr/include/GL/;	\
			mkdir -p $(CURDIR)/debian/nvidia-glx-legacy-dev/usr/share/doc/nvidia-glx-legacy-dev/include/GL; \
			mkdir -p $(CURDIR)/debian/nvidia-glx-legacy/usr/lib/tls/;			\
			mkdir -p $(CURDIR)/debian/nvidia-glx-legacy/usr/bin/;			\
			mkdir -p $(CURDIR)/debian/nvidia-glx-legacy/usr/share/bug/nvidia-glx-legacy/;	\
			install -m 644 $(CURDIR)/nvidia-legacy-kernel-source.tar.gz			\
				$(CURDIR)/debian/nvidia-legacy-kernel-source/usr/src;		\
			install -m 0644 $(nv_legacy_dirname)/usr/X11R6/lib/modules/drivers/nvidia_drv.so		\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/lib/xorg/modules/drivers/;	\
			install $(nv_legacy_dirname)/usr/X11R6/lib/libXvMCNVIDIA.a				\
				$(CURDIR)/debian/nvidia-glx-legacy-dev/usr/lib/libXvMCNVIDIA.a;	\
			install $(nv_legacy_dirname)/usr/X11R6/lib/libXvMCNVIDIA.so.$(nv_legacy_version)			\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/lib/libXvMCNVIDIA.so.$(nv_legacy_version); \
			install -m 0644 $(nv_legacy_dirname)/usr/include/GL/gl.h 					\
				$(CURDIR)/debian/nvidia-glx-legacy-dev/usr/share/doc/nvidia-glx-legacy-dev/include/GL; \
			install -m 0644 $(nv_legacy_dirname)/usr/include/GL/glext.h				\
				$(CURDIR)/debian/nvidia-glx-legacy-dev/usr/share/doc/nvidia-glx-legacy-dev/include/GL; \
			install -m 0644 $(nv_legacy_dirname)/usr/include/GL/glx.h					\
				$(CURDIR)/debian/nvidia-glx-legacy-dev/usr/share/doc/nvidia-glx-legacy-dev/include/GL; \
			if [ -e $(nv_legacy_dirname)/usr/include/GL/glxext.h ]; then				\
				install -m 0644 $(nv_legacy_dirname)/usr/include/GL/glxext.h				\
					$(CURDIR)/debian/nvidia-glx-legacy-dev/usr/share/doc/nvidia-glx-legacy-dev/include/GL; \
			fi;										\
			install -m 0644 $(nv_legacy_dirname)/usr/lib/libGL.so.$(nv_legacy_version)				\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/lib;				\
			install -m 0644 $(nv_legacy_dirname)/usr/lib/libGLcore.so.$(nv_legacy_version)			\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/lib;				\
			if [ -e $(nv_legacy_dirname)/usr/lib/libnvidia-cfg.so.$(nv_legacy_version) ]; then			\
				install -m 0644 $(nv_legacy_dirname)/usr/lib/libnvidia-cfg.so.$(nv_legacy_version)		\
					$(CURDIR)/debian/nvidia-glx-legacy/usr/lib;			\
			fi;										\
			sed "s/__GENERATED_BY__/Ubuntu nvidia--legacygraphics-drivers/"		\
				$(nv_legacy_dirname)/usr/lib/libGL.la | sed "s/__LIBGL_PATH__/\/usr\/lib/" > 	\
				$(CURDIR)/debian/nvidia-glx-legacy-dev/usr/lib/libGL.la;		\
			if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then					\
				install -d $(CURDIR)/debian/nvidia-glx-legacy/usr/lib32		\
					$(CURDIR)/debian/nvidia-glx-legacy-dev/usr/lib32;		\
				install -m 0644 $(nv_legacy_dirname)/usr/lib32/libGL.so.$(nv_legacy_version)		\
					$(CURDIR)/debian/nvidia-glx-legacy/usr/lib32;		\
				install -m 0644 $(nv_legacy_dirname)/usr/lib32/libGLcore.so.$(nv_legacy_version)		\
					$(CURDIR)/debian/nvidia-glx-legacy/usr/lib32;		\
				if [ -e $(nv_legacy_dirname)/usr/lib32/libnvidia-cfg.so.$(nv_legacy_version) ]; then	\
					install -m 0644 $(nv_legacy_dirname)/usr/lib32/libnvidia-cfg.so.$(nv_legacy_version) \
						$(CURDIR)/debian/nvidia-glx-legacy/usr/lib32;	\
				fi;									\
				sed "s/__GENERATED_BY__/Ubuntu nvidia--legacygraphics-drivers/"	\
					$(nv_legacy_dirname)/usr/lib32/libGL.la |					\
					sed "s/__LIBGL_PATH__/\/usr\/lib32/" >				\
					$(CURDIR)/debian/nvidia-glx-legacy-dev/usr/lib32/libGL.la;	\
			fi;										\
			install nvidia/nvidia-glx-config						\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/sbin;			\
			install $(nv_legacy_dirname)/usr/lib/libnvidia-tls.so.$(nv_legacy_version)				\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/lib/;			\
			install $(nv_legacy_dirname)/usr/lib/tls/libnvidia-tls.so.$(nv_legacy_version)			\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/lib/tls/;			\
			if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then					\
				install $(nv_legacy_dirname)/usr/lib32/libnvidia-tls.so.$(nv_legacy_version)		\
					$(CURDIR)/debian/nvidia-glx-legacy/usr/lib32/;		\
				install -d $(CURDIR)/debian/nvidia-glx-legacy/usr/lib32/tls;	\
				install $(nv_legacy_dirname)/usr/lib32/tls/libnvidia-tls.so.$(nv_legacy_version)		\
					 $(CURDIR)/debian/nvidia-glx-legacy/usr/lib32/tls/;		\
			fi;										\
			install $(nv_legacy_dirname)/usr/X11R6/lib/modules/extensions/libglx.so.$(nv_legacy_version)	\
				 $(CURDIR)/debian/nvidia-glx-legacy/usr/lib/xorg/modules/;		\
			install $(nv_legacy_dirname)/usr/bin/tls_test						\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/lib/nvidia;			\
			install $(nv_legacy_dirname)/usr/bin/tls_test_dso.so					\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/lib/nvidia;			\
			install -d $(CURDIR)/debian/nvidia-glx-legacy/usr/share/lintian/overrides;	\
			install -m 0644 debian/nvidia-glx-legacy.override				\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/share/lintian/overrides/nvidia-glx-legacy; \
			install -m 755 $(nv_legacy_dirname)/usr/bin/nvidia-bug-report.sh				\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/bin/;			\
			if [ -e $(nv_legacy_dirname)/usr/share/man/man1/nvidia-settings.1.gz ]; then		\
				install -m 755 $(nv_legacy_dirname)/usr/bin/nvidia-settings			\
					$(CURDIR)/debian/nvidia-glx-legacy/usr/bin/;		\
				install -m 644 $(nv_legacy_dirname)/usr/share/man/man1/nvidia-settings.1.gz	\
					$(CURDIR)/debian/nvidia-glx-legacy/usr/share/man/man1/;	\
			fi;										\
			if [ -e $(nv_legacy_dirname)/usr/share/man/man1/nvidia-xconfig.1.gz ]; then		\
				install -m 755 $(nv_legacy_dirname)/usr/bin/nvidia-xconfig			\
					$(CURDIR)/debian/nvidia-glx-legacy/usr/bin/;		\
				install -m 644 $(nv_legacy_dirname)/usr/share/man/man1/nvidia-xconfig.1.gz	\
					$(CURDIR)/debian/nvidia-glx-legacy/usr/share/man/man1/;	\
			fi;										\
			install $(CURDIR)/debian/nvidia-glx-legacy.reportbug			\
				$(CURDIR)/debian/nvidia-glx-legacy/usr/share/bug/nvidia-glx-legacy/script; \
		fi;
endif


# Copy modules to a temporary tree for use in udebs.
build-udebs: 
	#install
#	dh_testdir
#	dh_testroot

#	for i in $(flavours_udeb); do \
#		mkdir -p debian/nic-restricted-firmware-$$i-di/lib/firmware/$$i; \
#		cp -a $(prefix)-$$i/lib/firmware/$$i/* \
#			 debian/nic-restricted-firmware-$$i-di/lib/firmware/$$i/; \
#		cp debian/lrm-manager debian/nic-restricted-modules-$$i-di.postinst; \
#	done


#RIMUOVERE???

# Build architecture-independent files here.
binary-indep:
	dh_testdir

#	install -d debian/linux-restricted-modules-common/sbin
#	install -m 755 debian/lrm-manager debian/linux-restricted-modules-common/sbin/lrm-manager
#	install -m 755 debian/lrm-video debian/linux-restricted-modules-common/sbin/lrm-video
#	install -d debian/linux-restricted-modules-common/etc/default
#	install -m 644 debian/linux-restricted-modules-common.default \
#		debian/linux-restricted-modules-common/etc/default/linux-restricted-modules-common
#	install -d debian/linux-restricted-modules-common/etc/modprobe.d
#	install -m 644 ipw3945/ipw3945.modprobe \
#		debian/linux-restricted-modules-common/etc/modprobe.d/ipw3945
#	install -m 644 debian/linux-restricted-modules-common.modprobe \
#		debian/linux-restricted-modules-common/etc/modprobe.d/lrm-video

	dh_installchangelogs -i
#	dh_installinit -p linux-restricted-modules-common --no-start -- start 7 S . start 1 0 6 .
	dh_fixperms -i
	dh_compress -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: install build-udebs
	dh_testdir

	dh_installchangelogs -s
	dh_installdocs -s
	dh_installexamples -s
	dh_installman -s
	dh_installinit -s
	dh_link -s
	# FIXME: Remove this when -legacy supports this library:
	if [ "${nv_drv_choice}" = "${nv_legacy_version}" ]; then \
		rm -f debian/nvidia-glx-legacy/usr/lib/libnvidia-cfg.so.1; \
		rm -f debian/nvidia-glx-legacy/usr/lib32/libnvidia-cfg.so.1; \
	fi;
	dh_strip -s -X1.0.$(nv_release) -X1.0.$(nv_legacy_release) -Xtls_test
	dh_compress -X.h -s
	dh_fixperms -s
	dh_installdeb -s
	dh_shlibdeps -X'*tls*' -X'*lib32*' -X'*lib64*' -s \
		-l$(CURDIR)/debian/nvidia-glx/usr/lib:$(CURDIR)/debian/xorg-driver-fglrx/usr/lib
ifeq "$(NVIDIA)" "1"
	# this is a dirty hack, but we don't want -glx-legacy to depend on -glx
	if [ "${nv_drv_choice}" = "${nv_legacy_version}" ]; then \
	sed -i -e 's/, nvidia-glx//' debian/nvidia-glx-legacy.substvars ;\
	fi;
endif
	dh_gencontrol -s
	# fglrx, nVidia and ACM build with different version numbers

ifeq "$(NVIDIA)" "1"
	if [ "${nv_drv_choice}" = "${nv_version}" ]; then \
		dh_gencontrol -v -pnvidia-glx -- -v1:${nv_version}+${lrm_version} -Vnvidia:Version=${nv_version}; \
		dh_gencontrol -v -pnvidia-glx-dev -- -v1:${nv_version}+${lrm_version} -Vnvidia:Version=${nv_version}; \
		dh_gencontrol -v -pnvidia-kernel-source -- -v1:${nv_version}+${lrm_version} -Vnvidia:Version=${nv_version}; \
	fi;
	if [ "${nv_drv_choice}" = "${nv_new_version}" ]; then \
		dh_gencontrol -v -pnvidia-glx-new -- -v1:${nv_new_release}+${lrm_version} -Vnvidia:NewVersion=${nv_new_release}; \
		dh_gencontrol -v -pnvidia-glx-new-dev -- -v1:${nv_new_release}+${lrm_version} -Vnvidia:NewVersion=${nv_new_release}; \
		dh_gencontrol -v -pnvidia-new-kernel-source -- -v1:${nv_new_release}+${lrm_version} -Vnvidia:NewVersion=${nv_new_release}; \
	fi;
	if [ "${nv_drv_choice}" = "${nv_legacy_version}" ]; then \
		dh_gencontrol -v -pnvidia-glx-legacy -- -v1:${nv_legacy_version}+${lrm_version} -Vnvidia:LegacyVersion=${nv_legacy_version}; \
		dh_gencontrol -v -pnvidia-glx-legacy-dev -- -v1:${nv_legacy_version}+${lrm_version} -Vnvidia:LegacyVersion=${nv_legacy_version}; \
		dh_gencontrol -v -pnvidia-legacy-kernel-source -- -v1:${nv_legacy_version}+${lrm_version} -Vnvidia:LegacyVersion=${nv_legacy_version}; \
	fi;
endif

	dh_md5sums -s
	dh_builddeb -s

printenv:
	@echo "DEB_HOST_ARCH:   $(DEB_HOST_ARCH)"
	@echo "flavours:        $(flavours)"

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install unpack build-kernel
.PHONY: debian/control build-udebs$(flavours)
