]> oss.titaniummirror.com Git - cp210x.git/blobdiff - Makefile
Lucid, clean, version
[cp210x.git] / Makefile
index d4418cdd5710a9db9ebaa89faf56e574737d19bd..47d400cfcc651fd6f583d325bb35a0aa4b958469 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,22 +2,40 @@
 # Essentially, it makes a debian source package which
 # then can be built by pbuilder, etc.
 
-DEBDIST = hardy
-BUILD = build
-KVER := $(shell uname -r)
-KSRCVER := $(shell echo $(KVER) | sed -e 's/-[0-9][^-]*-[a-zA-Z][^-]*$$//')
-PKGVER  = 0.11
-SVNRELEASE := $(shell svn info | grep "Revision: " | sed -e s'/^[^0-9]*\([0-9]*\).*$$/\1/')
-DEBRELEASE := 0rsm$(SVNRELEASE)
+# Change or override these values as necessary for each package release
+
+PKGVER  = 0.11.3
+DEBRELEASE = 3tmi
+
+
+# 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-$(KVER)
+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)
@@ -26,16 +44,38 @@ $(DEBSRCFILE): $(BUILD)/debian-stamp
        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 -us -uc 
+       cd $(BUILD)/$(DEBSRC) && dpkg-buildpackage -sa
 
 
-$(BUILD)/src-stamp: $(wildcard src/*)
+$(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/xxDEBVERxx/$(DEBVER)/g' $(BUILD)/$(DEBSRC)/cp210x.c
+       perl -i -pe 's/xxDEBVERxx/$(DEBVER)/g' $(BUILD)/$(DEBSRC)/cp210x.c.karmic
+       perl -i -pe 's/xxDEBVERxx/$(DEBVER)/g' $(BUILD)/$(DEBSRC)/cp210x.c.lucid
+       cp Makefile.dkms $(BUILD)/$(DEBSRC)
+       cp dkms.conf $(BUILD)/$(DEBSRC)
+       perl -i -pe 's/xxDEBVERxx/$(DEBVER)/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 $@
 
@@ -43,15 +83,14 @@ $(BUILD)/src-stamp: $(wildcard src/*)
 configure: $(BUILD)/debian-stamp
 $(BUILD)/debian-stamp: $(BUILD)/src-stamp $(wildcard debian.in/*)
        mkdir -p $(BUILD)/$(DEBSRC)/debian
-       rsync --quiet -avz --exclude=.svn/ debian.in/ $(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/xxKVERxx/$(KVER)/g' $(BUILD)/$(DEBSRC)/debian/*
-       perl -i -pe 's/xxKSRCVERxx/$(KSRCVER)/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 $@
 
 
@@ -61,9 +100,8 @@ clean:
 
 debug:
        @echo "BUILD = $(BUILD)"
-       @echo "KVER = $(KVER)"
        @echo "PKGVER = $(PKGVER)"
-       @echo "SVNRELEASE = |$(SVNRELEASE)|"
+       @echo "REPOID = $(REPOID)"
        @echo "DEBRELEASE = $(DEBRELEASE)"
        @echo "DEBVER = $(DEBVER)"
        @echo "RFC822DATE = $(RFC822DATE)"
@@ -75,4 +113,4 @@ debug:
        @echo "DEBSRCFILE = $(BUILD)/$(PACKAGE)_$(DEBVER).dsc"
 
 
-.PHONY: clean binary source configure
+.PHONY: clean binary source configure pbuilder release