chiark / gitweb /
Tents: mark squares as non-tents with {Shift,Control}-cursor keys.
[sgt-puzzles.git] / Recipe
diff --git a/Recipe b/Recipe
index 425f4190deb3edaccd6466eb995e2307fcd012d7..ba8317f51a090c4ced54d305cdae2e1e212df4f0 100644 (file)
--- a/Recipe
+++ b/Recipe
@@ -8,13 +8,15 @@
 
 !name puzzles
 
 
 !name puzzles
 
-!makefile gtk Makefile
+!makefile gtk Makefile.gtk
+!makefile am Makefile.am
 !makefile vc Makefile.vc
 !makefile wce Makefile.wce
 !makefile cygwin Makefile.cyg
 !makefile osx Makefile.osx
 !makefile gnustep Makefile.gnustep
 !makefile nestedvm Makefile.nestedvm
 !makefile vc Makefile.vc
 !makefile wce Makefile.wce
 !makefile cygwin Makefile.cyg
 !makefile osx Makefile.osx
 !makefile gnustep Makefile.gnustep
 !makefile nestedvm Makefile.nestedvm
+!makefile emcc Makefile.emcc
 
 !srcdir icons/
 
 
 !srcdir icons/
 
@@ -91,87 +93,12 @@ Puzzles.dmg: Puzzles
        rm -f raw.dmg devicename
 !end
 
        rm -f raw.dmg devicename
 !end
 
-# Version management.
-!begin vc
-version.obj: *.c *.h
-       cl $(VER) $(CFLAGS) /c version.c
+!begin am
+bin_PROGRAMS = $(GAMES)
 !end
 !end
-!specialobj vc version
-!begin wce
-version.obj: *.c *.h
-       $(CC) $(VER) $(CFLAGS) /c version.c
+!begin am_begin
+GAMES =
 !end
 !end
-!specialobj wce 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: version.c version2.def
-       $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version2.def` -c version.c
-version2.def: FORCE
-       if test -z "$(VER)" && test -f manifest && md5sum -c manifest; then \
-               cat version.def > version2.def.new; \
-       elif test -z "$(VER)" && test -d .svn && svnversion . >/dev/null 2>&1; then \
-               echo "-DREVISION=`svnversion .`" >version2.def.new; \
-       else \
-               echo "$(VER)" >version2.def.new; \
-       fi && \
-       if diff -q version2.def.new version2.def; then \
-               rm version2.def.new; \
-       else \
-               mv version2.def.new version2.def; \
-       fi
-.PHONY: FORCE
-!end
-!specialobj gtk version
-!begin nestedvm
-version.o: version.c version2.def
-       $(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version2.def` -c version.c
-version2.def: FORCE
-       if test -z "$(VER)" && test -f manifest && md5sum -c manifest; then \
-               cat version.def > version2.def.new; \
-       elif test -z "$(VER)" && test -d .svn && svnversion . >/dev/null 2>&1; then \
-               echo "-DREVISION=`svnversion .`" >version2.def.new; \
-       else \
-               echo "$(VER)" >version2.def.new; \
-       fi && \
-       if diff -q version2.def.new version2.def; then \
-               rm version2.def.new; \
-       else \
-               mv version2.def.new version2.def; \
-       fi
-.PHONY: FORCE
-!end
-!specialobj nestedvm 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.ppc.o: version.c version2.def
-       $(CC) -arch ppc $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version2.def` -c version.c -o $@
-version.i386.o: version.c version2.def
-       $(CC) -arch i386 $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version2.def` -c version.c -o $@
-version2.def: FORCE
-       if test -z "$(VER)" && test -f manifest && (md5 -r `awk '{print $$2}' manifest` | diff -w manifest -); then \
-               cat version.def > version2.def.new; \
-       elif test -z "$(VER)" && test -d .svn && svnversion . >/dev/null 2>&1; then \
-               echo "-DREVISION=`svnversion .`" >version2.def.new; \
-       else \
-               echo "$(VER)" >version2.def.new; \
-       fi && \
-       if diff -q version2.def.new version2.def; then \
-               rm version2.def.new; \
-       else \
-               mv version2.def.new version2.def; \
-       fi
-.PHONY: FORCE
-!end
-!specialobj osx version
 
 # make install for Unix.
 !begin gtk
 
 # make install for Unix.
 !begin gtk
@@ -191,8 +118,11 @@ install:
 
 org:
        mkdir -p org/ibex/nestedvm/util
 
 org:
        mkdir -p org/ibex/nestedvm/util
-       cp $(NESTEDVM)/build/org/ibex/nestedvm/{Registers,UsermodeConstants,Runtime*}.class org/ibex/nestedvm
-       cp $(NESTEDVM)/build/org/ibex/nestedvm/util/{Platform*,Seekable*}.class org/ibex/nestedvm/util
+       cp $(NESTEDVM)/build/org/ibex/nestedvm/Registers.class org/ibex/nestedvm
+       cp $(NESTEDVM)/build/org/ibex/nestedvm/UsermodeConstants.class org/ibex/nestedvm
+       cp $(NESTEDVM)/build/org/ibex/nestedvm/Runtime*.class org/ibex/nestedvm
+       cp $(NESTEDVM)/build/org/ibex/nestedvm/util/Platform*.class org/ibex/nestedvm/util
+       cp $(NESTEDVM)/build/org/ibex/nestedvm/util/Seekable*.class org/ibex/nestedvm/util
        echo "Main-Class: PuzzleApplet" >applet.manifest
 
 PuzzleApplet.class: PuzzleApplet.java org
        echo "Main-Class: PuzzleApplet" >applet.manifest
 
 PuzzleApplet.class: PuzzleApplet.java org
@@ -204,3 +134,24 @@ PuzzleApplet.class: PuzzleApplet.java org
        echo '<applet archive="'$@'" code="PuzzleApplet" width="700" height="500"></applet>' >$*.html
        mv PuzzleEngine.class $<
 !end
        echo '<applet archive="'$@'" code="PuzzleApplet" width="700" height="500"></applet>' >$*.html
        mv PuzzleEngine.class $<
 !end
+
+# A benchmarking and testing target for the GTK puzzles.
+!begin gtk
+test: benchmark.html benchmark.txt
+
+benchmark.html: benchmark.txt benchmark.pl
+       ./benchmark.pl benchmark.txt > $@
+
+benchmark.txt: benchmark.sh $(GAMES)
+       ./benchmark.sh > $@
+
+!end
+!begin am
+test: benchmark.html benchmark.txt
+
+benchmark.html: benchmark.txt benchmark.pl
+       ./benchmark.pl benchmark.txt > $@
+
+benchmark.txt: benchmark.sh $(GAMES)
+       ./benchmark.sh > $@
+!end