diff Makefile @ 1:bc8961a81af6 release

2007-08-13 22:53:14 by steve Initial revision
author steve
date Mon, 13 Aug 2007 22:53:14 +0000
parents
children 8503c495b169
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Mon Aug 13 22:53:14 2007 +0000
@@ -0,0 +1,93 @@
+#
+#  Utility makefile for people working with chronicle
+#
+#  The targets are intended to be useful for people who are using
+# the CVS repository - but it also contains other useful targets.
+#
+# Steve
+# --
+# http://www.steve.org.uk/
+#
+# $Id: Makefile,v 1.1.1.1 2007-08-13 22:53:14 steve Exp $
+
+
+#
+#  Only used to build distribution tarballs.
+#
+DIST_PREFIX = ${TMP}
+VERSION     = 0.1
+BASE        = chronicle
+
+
+#
+#  Installation prefix, useful for the Debian package.
+#
+prefix=
+
+
+nop:
+	@echo "Valid targets are (alphabetically) :"
+	@echo " "
+	@echo " clean         = Remove bogus files and any local output."
+	@echo " diff          = Run a 'cvs diff'."
+	@echo " test          = Run our simple test cases."
+	@echo " test-verbose  = Run our simple test cases, verbosely."
+	@echo " update        = Update from the CVS repository."
+	@echo " "
+
+
+#
+#  Delete all temporary files, recursively.
+#
+clean:
+	@find . -name '.*~' -exec rm \{\} \;
+	@find . -name '.#*' -exec rm \{\} \;
+	@find . -name '*~' -exec rm \{\} \;
+	@find . -name '*.bak' -exec rm \{\} \;
+	@find . -name '*.tmp' -exec rm \{\} \;
+	@if [ -d output ]; then rm -rf output; mkdir output; fi
+#
+#  Show what has been changed in the local copy vs. the CVS repository.
+#
+diff:
+	cvs diff --unified 2>/dev/null
+
+
+#
+#  Make a new release tarball, and make a GPG signature.
+#
+release: clean
+	rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION)
+	rm -f $(DIST_PREFIX)/$(BASE)-$(VERSION).tar.gz
+	cp -R . $(DIST_PREFIX)/$(BASE)-$(VERSION)
+	find  $(DIST_PREFIX)/$(BASE)-$(VERSION) -name "CVS" -print | xargs rm -rf
+	rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION)/debian
+	cd $(DIST_PREFIX) && tar --exclude=.cvsignore -cvf $(DIST_PREFIX)/$(BASE)-$(VERSION).tar $(BASE)-$(VERSION)/
+	gzip $(DIST_PREFIX)/$(BASE)-$(VERSION).tar
+	mv $(DIST_PREFIX)/$(BASE)-$(VERSION).tar.gz .
+	rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION)
+	gpg --armour --detach-sign $(BASE)-$(VERSION).tar.gz
+
+
+#
+#  Run the test suite.
+#
+test:
+	prove --shuffle tests/
+
+
+#
+#  Run the test suite verbosely.
+#
+test-verbose:
+	prove --shuffle --verbose tests/
+
+
+
+#
+#  Update the local copy from the CVS repository.
+#
+#  NOTE: Removes empty local directories.
+#
+update: 
+	cvs -z3 update -A -P -d 2>/dev/null