aboutsummaryrefslogtreecommitdiff
path: root/Recipe
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2005-05-15 10:31:11 +0000
committerSimon Tatham <anakin@pobox.com>2005-05-15 10:31:11 +0000
commitc05b4697a8f87e08e52b8014186c647309976fc2 (patch)
tree91de7c1956c85c5b115f15ea74bb037213019a8e /Recipe
parent68d27f05262b7928b4d755d2e27868cfc51b3007 (diff)
downloadpuzzles-c05b4697a8f87e08e52b8014186c647309976fc2.zip
puzzles-c05b4697a8f87e08e52b8014186c647309976fc2.tar.gz
puzzles-c05b4697a8f87e08e52b8014186c647309976fc2.tar.bz2
puzzles-c05b4697a8f87e08e52b8014186c647309976fc2.tar.xz
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]
Diffstat (limited to 'Recipe')
-rw-r--r--Recipe40
1 files changed, 39 insertions, 1 deletions
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