# Makefile for newer cp2101 driver, we call cp210x # Essentially, it makes a debian source package which # then can be built by pbuilder, etc. # 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 $@ clean: rm -rf $(BUILD) debug: @echo "BUILD = $(BUILD)" @echo "PKGVER = $(PKGVER)" @echo "REPOID = $(REPOID)" @echo "DEBRELEASE = $(DEBRELEASE)" @echo "DEBVER = $(DEBVER)" @echo "RFC822DATE = $(RFC822DATE)" @echo "PACKAGE = $(PACKAGE)" @echo "TARFILE = $(TARFILE)" @echo "DEBSRC = $(DEBSRC)" @echo "ARCH = $(ARCH)" @echo "DEBFILE = $(BUILD)/$(PACKAGE)_$(DEBVER)_$(ARCH).deb" @echo "DEBSRCFILE = $(BUILD)/$(PACKAGE)_$(DEBVER).dsc" .PHONY: clean binary source configure pbuilder release