X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=Makefile;h=5ffcc6c4819f24ecf9bdab34d9479fffa273cabc;hb=a30cb143fe071853bbe524a8eab49b2fcbb99d02;hp=6488d65f6e0080d9d690c349b77271a374452ff8;hpb=cb61d1bc3450a7e79a325679701acc56825f90b6;p=cp210x.git diff --git a/Makefile b/Makefile old mode 100755 new mode 100644 index 6488d65..5ffcc6c --- a/Makefile +++ b/Makefile @@ -1,18 +1,93 @@ -#!/usr/bin/make -f +# Makefile for newer cp2101 driver, we call cp210x +# Essentially, it makes a debian source package which +# then can be built by pbuilder, etc. -STRIP = strip --strip-unneeded --remove-section=.comment --remove-section=.note +# Change or override these values as necessary for each package release + +PKGVER = 0.11 +DEBDIST = hardy +DEBRELEASE = 0tmi + + +# 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 + +BUILD := build +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 + + +source: $(DEBSRCFILE) +$(DEBSRCFILE): $(BUILD)/debian-stamp + cd $(BUILD) && dpkg-source -b $(DEBSRC) + touch $@ + + +binary: $(DEBFILE) +$(DEBFILE): $(BUILD)/debian-stamp + cd $(BUILD)/$(DEBSRC) && dpkg-buildpackage -sa -us -uc + + +$(BUILD)/src-stamp: $(wildcard src/*) dkms.conf + mkdir -p $(BUILD) + rm -rf $(BUILD)/$(DEBSRC) + cp -a src $(BUILD)/$(DEBSRC) + cp -a 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 $@ + + +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 $@ -all: - -rm -rf builddir - cp -a src builddir - cd builddir && ./configure -kver $(KVER) - test -f builddir/Makefile.go - $(MAKE) -C builddir -f Makefile.go - cp builddir/cp2101.ko cp210x.ko - $(STRIP) cp210x.ko clean: - -rm -rf builddir cp210x.ko + 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: all clean +.PHONY: clean binary source configure