diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..689cfe5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +VERSION-FILE diff --git a/GEN-VERSION-FILE b/GEN-VERSION-FILE new file mode 100755 index 0000000..136f5d0 --- /dev/null +++ b/GEN-VERSION-FILE @@ -0,0 +1,38 @@ +#!/bin/sh +# Based on git's GIT-VERSION-GEN. + +VF=VERSION-FILE +DEF_VER=v2.2 + +LF=' +' + +if test -d .git -o -f .git && + VN=$(git describe --abbrev=4 HEAD 2>/dev/null) && + case "$VN" in + *$LF*) (exit 1) ;; + v[0-9]*) + git update-index -q --refresh + test -z "$(git diff-index --name-only HEAD --)" || + VN="$VN-dirty" ;; + esac +then + VN=$(echo "$VN" | sed -e 's/-/./g'); +else + VN="$DEF_VER" +fi + +VN=$(expr "$VN" : v*'\(.*\)') + +if test -r $VF +then + VC=$(sed -e 's/^VERSION=//' <$VF) +else + VC=unset +fi +test "$VN" = "$VC" || { + echo >&2 "VERSION=$VN" + echo "VERSION=$VN" >$VF +} + + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..92a81bd --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +# +# Makefile for todo.txt +# + +# Dynamically detect/generate version file as necessary +# This file will define a variable called VERSION. +.PHONY: .FORCE-VERSION-FILE +VERSION-FILE: .FORCE-VERSION-FILE + @./GEN-VERSION-FILE +-include VERSION-FILE + +# Maybe this will include the version in it. +todo.sh: VERSION-FILE + +# For packaging +DISTFILES := README todo.cfg todo.sh + +DISTNAME=todo.sh-$(VERSION) +dist: $(DISTFILES) todo.sh + mkdir -p $(DISTNAME) + cp -f $(DISTFILES) $(DISTNAME)/ + tar cf $(DISTNAME).tar $(DISTNAME)/ + gzip -f -9 $(DISTNAME).tar + zip -9r $(DISTNAME).zip $(DISTNAME)/ + rm -r $(DISTNAME) + +.PHONY: clean +clean: + rm -f $(DISTNAME).tar.gz $(DISTNAME).zip + +.PHONY: test +test: + @echo "TBD!"