From c05b4697a8f87e08e52b8014186c647309976fc2 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sun, 15 May 2005 10:31:11 +0000 Subject: Introduce a versioning mechanism, and an `About' box in all front ends. Versioning will be done solely by Subversion revision number, since development on these puzzles is very incremental and gradual and there don't tend to be obvious points to place numbered releases. [originally from svn r5781] --- Recipe | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'Recipe') diff --git a/Recipe b/Recipe index fe6c003..4c508c1 100644 --- a/Recipe +++ b/Recipe @@ -14,7 +14,7 @@ !makefile osx Makefile.osx WINDOWS = windows user32.lib gdi32.lib comctl32.lib -COMMON = midend misc malloc random +COMMON = midend misc malloc random version NET = net tree234 NETSLIDE = netslide tree234 @@ -84,3 +84,41 @@ Puzzles.dmg: Puzzles # be built on a regular basis. nullgame : [X] gtk COMMON nullgame nullgame : [G] WINDOWS COMMON nullgame + +# Version management. +!begin vc +version.obj: *.c *.h + cl $(VER) $(CFLAGS) /c version.c +!end +!specialobj vc version +!begin cygwin +version.o: FORCE +FORCE: + $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c +!end +!specialobj cygwin version +# For Unix, we also need the gross MD5 hack that causes automatic +# version number selection in release source archives. +!begin gtk +version.o: FORCE; +FORCE: + if test -z "$(VER)" && md5sum -c manifest; then \ + $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c; \ + else \ + $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c; \ + fi +!end +!specialobj gtk version +# For OS X, this is made more fiddly by the fact that we don't have +# md5sum readily available. We do, however, have `md5 -r' which +# generates _nearly_ the same output, but it has no check function. +!begin osx +version.o: FORCE; +FORCE: + if test -z "$(VER)" && test -f manifest && (md5 -r `awk '{print $$2}' manifest` | diff -w manifest -); then \ + $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c; \ + else \ + $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c; \ + fi +!end +!specialobj osx version -- cgit v1.1