X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=Makefile;h=d5a0b17e4a4ec711b665407785dcf2de2352f64c;hb=e1a0c29481c23a33bdf7dcbfb052cd5b9b440286;hp=5d5dbb8028764b886bc49ece9e2ab412de2014f5;hpb=54b1d6ef8351e1842e246ad5efbb2268d2243513;p=cp210x.git diff --git a/Makefile b/Makefile index 5d5dbb8..d5a0b17 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,115 @@ -# CP2101 Makefile - -ifeq ("$(src)", "") - include Makefile.config - include Makefile$(KVER1)$(KVER2) -else - include $(src)/Makefile.config - include $(src)/Makefile$(KVER1)$(KVER2) +# 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