#!/usr/bin/make -f # # Copyright (c) 2004 Herbert Xu # 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 = $(shell dpkg-parsechangelog | grep ^Source | sed 's/.*-//')#$(yourkernel) kernel_abi_version = $(kernel_version)#$(yourkernel)-$(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 := 96.43.01 nv_new_release := 100.14.23 nv_legacy_release := 71.86.01 #nv_base_version=1.0 #nv_upstreamversion := ${nv_base_version}-${nv_release} #nv_version := ${nv_base_version}.${nv_release} nv_upstreamversion := ${nv_release} nv_version := ${nv_release} nv_new_upstreamversion := ${nv_new_release} nv_new_version := ${nv_new_release} nv_legacy_upstreamversion := ${nv_legacy_release} nv_legacy_version := ${nv_legacy_release} nv_drv_choice := ${nv_new_version} #${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_release}-pkg1.run nv_dirname := nvidia/NVIDIA-Linux-x86-${nv_release}-pkg1 nv_url := http://download.nvidia.com/XFree86/Linux-x86/${nv_release}/${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_release}-pkg1.run nv_legacy_dirname := nvidia/NVIDIA-Linux-x86-${nv_legacy_release}-pkg1 nv_legacy_url := http://download.nvidia.com/XFree86/Linux-x86/${nv_legacy_release}/${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_release}-pkg2.run nv_dirname := nvidia/NVIDIA-Linux-x86_64-${nv_release}-pkg2 nv_url := http://download.nvidia.com/XFree86/Linux-x86_64/${nv_release}/${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_release}-pkg2.run nv_legacy_dirname := nvidia/NVIDIA-Linux-x86_64-${nv_legacy_release}-pkg2 nv_legacy_url := http://download.nvidia.com/XFree86/Linux-x86_64/${nv_legacy_release}/${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 #Create dkms.conf echo "PACKAGE_NAME=\"nvidia\"" > $(CURDIR)/debian/dkms.conf echo "PACKAGE_VERSION=\"${nv_drv_choice}\"" >> $(CURDIR)/debian/dkms.conf echo "CLEAN=\"rm -f *.*o\"" >> $(CURDIR)/debian/dkms.conf echo "BUILT_MODULE_NAME[0]=\"nvidia\"" >> $(CURDIR)/debian/dkms.conf echo "MAKE[0]=\"export IGNORE_XEN_PRESENCE=1; make -C /usr/src/nvidia-${nv_drv_choice}/ -f Makefile.kbuild SYSSRC=/usr/src/linux-headers-${flavours} KBUILD_PARAMS="-C /usr/src/linux-headers-${flavours}" module\"" >> $(CURDIR)/debian/dkms.conf echo "DEST_MODULE_LOCATION[0]=\"/kernel/drivers/char/drm\"" >> $(CURDIR)/debian/dkms.conf echo "AUTOINSTALL=\"yes\"" >> $(CURDIR)/debian/dkms.conf 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{#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 $(CURDIR)/debian/dkms.conf $(CURDIR)/debian/temp/modules/nvidia-kernel/nv/ ; \ 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{#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 $(CURDIR)/debian/dkms.conf $(CURDIR)/debian/temp/modules/nvidia-legacy-kernel/nv/ ; \ 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{#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 $(CURDIR)/debian/dkms.conf $(CURDIR)/debian/temp/modules/nvidia-new-kernel/nv/ ; \ cp $(CURDIR)/debian/nvidia-kernel-source.postinst $(CURDIR)/debian/nvidia-new-kernel-source.postinst ; \ cp $(CURDIR)/debian/nvidia-kernel-source.prerm $(CURDIR)/debian/nvidia-new-kernel-source.prerm ; \ #cp $(CURDIR)/debian/nvidia-kernel-source.postinst $(CURDIR)/debian/temp/modules/nvidia-new-kernel/debian/postinst ; \ #cp $(CURDIR)/debian/nvidia-kernel-source.prerm $(CURDIR)/debian/temp/modules/nvidia-new-kernel/debian/prerm ; \ 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-$(uname -r) KBUILD_PARAMS="-C /usr/src/linux-headers-$(uname -r) 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 #AVM build-avm-stamp: unpack-avm-stamp dh_testdir touch build-avm-stamp #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 if [ "${nv_drv_choice}" = "${nv_new_version}" ]; then \ nv_flav=-new; \ this_dir=$(nv_new_dirname); \ this_ver=$(nv_new_version); \ elif [ "${nv_drv_choice}" = "${nv_version}" ]; then \ nv_flav=""; \ this_dir=$(nv_dirname); \ this_ver=$(nv_version); \ elif [ "${nv_drv_choice}" = "${nv_legacy_version}" ]; then \ nv_flav=-legacy; \ this_dir=$(nv_legacy_dirname); \ this_ver=$(nv_legacy_version); \ fi 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$(nv_flav)-kernel-source/usr/src/nvidia-$(this_ver); \ mkdir -p $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/xorg/modules/drivers/; \ mkdir -p $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/lib/; \ mkdir -p $(CURDIR)/debian/$(this_dir)/usr/include/GL/; \ mkdir -p $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/share/doc/nvidia-glx$(nv_flav)-dev/include/GL; \ mkdir -p $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/tls/; \ mkdir -p $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/bin/; \ mkdir -p $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/share/bug/nvidia-glx$(nv_flav)/; \ #mkdir -p $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/share/man/man1/; \ #source for DKMS; \ cp -R $(CURDIR)/debian/temp/modules/nvidia$(nv_flav)-kernel/nv/* \ $(CURDIR)/debian/nvidia$(nv_flav)-kernel-source/usr/src/nvidia-$(this_ver)/; \ rm -rf debian/temp; \ #install -m 644 $(CURDIR)/nvidia$(nv_flav)-kernel-source.tar.gz \ # $(CURDIR)/debian/nvidia$(nv_flav)-kernel-source/usr/src; \ install -m 0644 $(this_dir)/usr/X11R6/lib/modules/drivers/nvidia_drv.so \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/xorg/modules/drivers/; \ install $(this_dir)/usr/X11R6/lib/libXvMCNVIDIA.a \ $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/lib/libXvMCNVIDIA.a; \ install $(this_dir)/usr/X11R6/lib/libXvMCNVIDIA.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/libXvMCNVIDIA.so.$(this_ver); \ install -m 0644 $(this_dir)/usr/include/GL/gl.h \ $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/share/doc/nvidia-glx$(nv_flav)-dev/include/GL; \ install -m 0644 $(this_dir)/usr/include/GL/glext.h \ $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/share/doc/nvidia-glx$(nv_flav)-dev/include/GL; \ install -m 0644 $(this_dir)/usr/include/GL/glx.h \ $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/share/doc/nvidia-glx$(nv_flav)-dev/include/GL; \ if [ -e $(this_dir)/usr/include/GL/glxext.h ]; then \ install -m 0644 $(this_dir)/usr/include/GL/glxext.h \ $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/share/doc/nvidia-glx$(nv_flav)-dev/include/GL; \ fi; \ install -m 0644 $(this_dir)/usr/lib/libGL.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib; \ install -m 0644 $(this_dir)/usr/lib/libGLcore.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib; \ if [ -e $(this_dir)/usr/lib/libnvidia-cfg.so.$(this_ver) ]; then \ install -m 0644 $(this_dir)/usr/lib/libnvidia-cfg.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib; \ fi; \ sed "s/__GENERATED_BY__/Ubuntu nvidia-$(nv_flav)graphics-drivers/" \ $(this_dir)/usr/lib/libGL.la | sed "s/__LIBGL_PATH__/\/usr\/lib/" > \ $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/lib/libGL.la; \ if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then \ install -d $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib32 \ $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/lib32; \ install -m 0644 $(this_dir)/usr/lib32/libGL.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib32; \ install -m 0644 $(this_dir)/usr/lib32/libGLcore.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib32; \ if [ -e $(this_dir)/usr/lib32/libnvidia-cfg.so.$(this_ver) ]; then \ install -m 0644 $(this_dir)/usr/lib32/libnvidia-cfg.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib32; \ fi; \ sed "s/__GENERATED_BY__/Ubuntu nvidia-$(nv_flav)graphics-drivers/" \ $(this_dir)/usr/lib32/libGL.la | \ sed "s/__LIBGL_PATH__/\/usr\/lib32/" > \ $(CURDIR)/debian/nvidia-glx$(nv_flav)-dev/usr/lib32/libGL.la; \ fi; \ install nvidia/nvidia-glx-config \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/sbin; \ install $(this_dir)/usr/lib/libnvidia-tls.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/; \ install $(this_dir)/usr/lib/tls/libnvidia-tls.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/tls/; \ if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then \ install $(this_dir)/usr/lib32/libnvidia-tls.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib32/; \ install -d $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib32/tls; \ install $(this_dir)/usr/lib32/tls/libnvidia-tls.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib32/tls/; \ fi; \ install $(this_dir)/usr/X11R6/lib/modules/extensions/libglx.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/xorg/modules/; \ if [ -e $(this_dir)/usr/X11R6/lib/modules/libnvidia-wfb.so.$(this_ver) ]; then \ install $(this_dir)/usr/X11R6/lib/modules/libnvidia-wfb.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/xorg/modules/; \ ln -sf libnvidia-wfb.so.$(this_ver) \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/xorg/modules/libwfb.so;\ fi; \ install $(this_dir)/usr/bin/tls_test \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/nvidia; \ install $(this_dir)/usr/bin/tls_test_dso.so \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/lib/nvidia; \ install -d $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/share/lintian/overrides; \ install -m 0644 debian/nvidia-glx$(nv_flav).override \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/share/lintian/overrides/nvidia-glx$(nv_flav); \ install -m 755 $(this_dir)/usr/bin/nvidia-bug-report.sh \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/bin/; \ if [ -e $(this_dir)/usr/share/man/man1/nvidia-settings.1.gz ]; then \ install -m 755 $(this_dir)/usr/bin/nvidia-settings \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/bin/; \ install -m 644 $(this_dir)/usr/share/man/man1/nvidia-settings.1.gz \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/share/man/man1/; \ fi; \ if [ -e $(this_dir)/usr/share/man/man1/nvidia-xconfig.1.gz ]; then \ install -m 755 $(this_dir)/usr/bin/nvidia-xconfig \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/bin/; \ install -m 644 $(this_dir)/usr/share/man/man1/nvidia-xconfig.1.gz \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/share/man/man1/; \ fi; \ install $(CURDIR)/debian/nvidia-glx$(nv_flav).reportbug \ $(CURDIR)/debian/nvidia-glx$(nv_flav)/usr/share/bug/nvidia-glx$(nv_flav)/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_release}+${lrm_version} -Vnvidia:Version=${nv_release}; \ dh_gencontrol -v -pnvidia-glx-dev -- -v1:${nv_release}+${lrm_version} -Vnvidia:Version=${nv_release}; \ dh_gencontrol -v -pnvidia-kernel-source -- -v1:${nv_release}+${lrm_version} -Vnvidia:Version=${nv_release}; \ 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_release}+${lrm_version} -Vnvidia:LegacyVersion=${nv_legacy_release}; \ dh_gencontrol -v -pnvidia-glx-legacy-dev -- -v1:${nv_legacy_release}+${lrm_version} -Vnvidia:LegacyVersion=${nv_legacy_release}; \ dh_gencontrol -v -pnvidia-legacy-kernel-source -- -v1:${nv_legacy_release}+${lrm_version} -Vnvidia:LegacyVersion=${nv_legacy_release}; \ 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)