#!/usr/bin/make -f # debian/rules file - for xxROOTNAMExx-module # Based on sample debian/rules file - for GNU Hello (1.3). # Copyright 1994,1995 by Ian Jackson. # Copyright 1998-2007 James Troup # I hereby give you perpetual unlimited permission to copy, # modify and relicense this file, provided that you do not remove # my name from the file itself. (I assert my moral right of # paternity under the Copyright, Designs and Patents Act 1988.) # This file may have to be extensively modified package = xxPACKAGExx inst_dir = debian/tmp/lib/modules/xxKVERxx/kernel/drivers/usb/serial STRIP = strip --strip-unneeded --remove-section=.comment --remove-section=.note install_dir = install -d -m 755 install_file = install -m 644 install_script = install -m 755 install_binary = install -m 755 -s DISTRIBUTION := $(shell lsb_release -is) # At the current time (20080828) this package has to build from the source # directory. For now, the solution is quite hackish: copy the source # directory to the build directory before running configure. tempdir := $(shell tempfile $(package)) configure-stamp: $(checkdir) rm -rf configure-stamp builddir rm -f $(tempdir) cp -a . $(tempdir) mv -f $(tempdir) builddir cd builddir && ./configure -kver xxKVERxx touch $@ build: build-stamp build-stamp: configure-stamp $(checkdir) $(MAKE) -C builddir -f Makefile.go touch $@ install: install-stamp install-stamp: checkroot build-stamp $(checkdir) rm -rf debian/tmp $(install_dir) $(inst_dir) chmod a+x builddir/installmod $(MAKE) -C builddir -f Makefile.go \ INSTALL_PREFIX=$$(pwd)/debian/tmp install mv $(inst_dir)/cp2101.ko $(inst_dir)/xxROOTNAMExx.ko $(install_dir) debian/tmp/etc/modprobe.d echo "blacklist cp2101" > debian/tmp/etc/modprobe.d/$(package) ifeq ($(with_strip),yes) find debian/tmp -type f | xargs file | grep "ELF.*executable" | \ cut -f 1 -d : | xargs $(STRIP) endif touch $@ binary-indep: checkroot build install : # Nothing to do binary-arch: checkroot build install $(checkdir) : # install maintainer scripts $(install_dir) debian/tmp/DEBIAN $(install_script) debian/postinst debian/tmp/DEBIAN/postinst $(install_script) debian/postrm debian/tmp/DEBIAN/postrm : # install docs $(install_dir) debian/tmp/usr/share/doc/$(package)/ $(install_file) debian/changelog \ debian/tmp/usr/share/doc/$(package)/changelog.Debian $(install_file) debian/copyright debian/tmp/usr/share/doc/$(package)/ : # Compress stuff that needs it find debian/tmp/usr/share/doc/$(package)/ -type f ! -name copyright | \ xargs gzip -9 : # Finish it all up find debian/tmp -type f | xargs file | grep ELF | cut -d: -f 1 | \ xargs dpkg-shlibdeps dpkg-gencontrol -isp $(CONFLICTS) chown -R root:root debian/tmp chmod -R go=rX debian/tmp dpkg --build debian/tmp .. binary: binary-indep binary-arch clean: $(checkdir) -rm -rf debian/tmp builddir -rm -fr debian/patched debian/files* debian/substvars -rm -f *-stamp define checkdir test -f Makefile.go -a -f debian/rules endef checkroot: $(checkdir) test root = "`whoami`" .PHONY: binary clean checkroot