+# Change or override these values as necessary for each package release
+
+PKGVER = 0.11.2
+DEBRELEASE = 6.1tmi
+
+
+# No need to change anything below this line
+
+REPOID := $(shell svn info 2>/dev/null | grep "Revision: " | sed -e s'/^[^0-9]*\([0-9]*\).*$$/svn:revision \1/')
+ifeq (,$(REPOID))
+ REPOID := $(shell git svn info 2>/dev/null | grep "Revision: " | sed -e s'/^[^0-9]*\([0-9]*\).*$$/svn:revision \1/')
+ifeq (,$(REPOID))
+ REPOID := $(shell git log -n1 2>/dev/null | head -1 | sed -e s'/^/git:/')
+endif
+endif
+ifeq (,$(REPOID))
+ $(error You much check the code out via svn, git-svn, or git)
+endif
+
+USER := $(shell whoami)
+REPOHOST := repo
+BUILD := build
+DEBDIST := $(shell lsb_release -cs)
+DEBVER := $(PKGVER)-$(DEBRELEASE)
+RFC822DATE := $(shell date --rfc-822)
+ROOTNAME := cp210x
+PACKAGE := $(ROOTNAME)-module-dkms
+TARFILE := $(PACKAGE)_$(DEBVER).orig.tar.gz
+DEBSRC := $(PACKAGE)-$(PKGVER)
+ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEBFILE := $(BUILD)/$(PACKAGE)_$(DEBVER)_$(ARCH).deb
+DEBSRCFILE := $(BUILD)/$(PACKAGE)_$(DEBVER).dsc
+CHANGESFILE := $(BUILD)/$(PACKAGE)_$(DEBVER)_$(ARCH).changes
+UPLOADFILE := $(BUILD)/$(PACKAGE)_$(DEBVER)_$(ARCH).upload
+
+
+source: $(DEBSRCFILE)
+$(DEBSRCFILE): $(BUILD)/debian-stamp
+ cd $(BUILD) && dpkg-source -b $(DEBSRC)
+ touch $@
+
+
+release: $(UPLOADFILE)
+$(UPLOADFILE): $(CHANGESFILE)
+ : # Requires ~/.dput.cf and upload server configured properly
+ dput $(REPOHOST) $(CHANGESFILE)
+
+
+pbuilder: $(CHANGESFILE)
+$(CHANGESFILE): $(DEBSRCFILE)
+ : # Requires ~/.dput.cf and upload server configured properly
+ sudo pbuilder build $(DEBSRCFILE)
+ sudo mv /var/cache/pbuilder/result/$(PACKAGE)_$(DEBVER)* $(BUILD)/
+ sudo chown $(USER) $(BUILD)/*
+ debsign $(CHANGESFILE)
+
+
+binary: $(DEBFILE)
+$(DEBFILE): $(BUILD)/debian-stamp
+ cd $(BUILD)/$(DEBSRC) && dpkg-buildpackage -sa
+
+
+$(BUILD)/src-stamp: Makefile.dkms dkms.conf $(wildcard src/*)
+ mkdir -p $(BUILD)
+ rm -rf $(BUILD)/$(DEBSRC)
+ cp -a src $(BUILD)/$(DEBSRC)
+ perl -i -pe 's/xxPKGVERxx/$(PKGVER)/g' $(BUILD)/$(DEBSRC)/cp210x.c
+ perl -i -pe 's/xxPKGVERxx/$(PKGVER)/g' $(BUILD)/$(DEBSRC)/cp210x.c.karmic
+ cp Makefile.dkms $(BUILD)/$(DEBSRC)
+ cp dkms.conf $(BUILD)/$(DEBSRC)
+ perl -i -pe 's/xxPKGVERxx/$(PKGVER)/g' $(BUILD)/$(DEBSRC)/dkms.conf
+ find $(BUILD)/$(DEBSRC) -name .svn -type d -exec rm -rf "{}" ";" 2>/dev/null || exit 0
+ rm -rf $(BUILD)/$(DEBSRC)/.git || exit 0
+ tar -C $(BUILD) -czf $(BUILD)/$(TARFILE) $(DEBSRC)
+ touch $@
+
+
+configure: $(BUILD)/debian-stamp
+$(BUILD)/debian-stamp: $(BUILD)/src-stamp $(wildcard debian.in/*)
+ mkdir -p $(BUILD)/$(DEBSRC)/debian
+ rsync --quiet -avz --exclude=.svn/ --exclude=.git/ debian.in/ $(BUILD)/$(DEBSRC)/debian/
+ perl -i -pe 's/xxPACKAGExx/$(PACKAGE)/g' $(BUILD)/$(DEBSRC)/debian/*
+ perl -i -pe 's/xxROOTNAMExx/$(ROOTNAME)/g' $(BUILD)/$(DEBSRC)/debian/*
+ perl -i -pe 's/xxPKGVERxx/$(PKGVER)/g' $(BUILD)/$(DEBSRC)/debian/*
+ perl -i -pe 's/xxDEBVERxx/$(DEBVER)/g' $(BUILD)/$(DEBSRC)/debian/*
+ perl -i -pe 's/xxDEBDISTxx/$(DEBDIST)/g' $(BUILD)/$(DEBSRC)/debian/*
+ perl -i -pe 's/xxRFC822DATExx/$(RFC822DATE)/g' $(BUILD)/$(DEBSRC)/debian/*
+ perl -i -pe 's/xxREPOIDxx/$(REPOID)/g' $(BUILD)/$(DEBSRC)/debian/*
+ touch $@