chiark / gitweb /
Fix completion checking in Killer Solo.
[sgt-puzzles.git] / Recipe
diff --git a/Recipe b/Recipe
index d8b4eb64a0732b0b2c93958a522771b9c601d4bf..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,93 +93,18 @@ 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
 install:
        for i in $(GAMES); do \
 
 # make install for Unix.
 !begin gtk
 install:
        for i in $(GAMES); do \
-               $(INSTALL_PROGRAM) -m 755 $$i $(DESTDIR)$(gamesdir)/$$i \
+               $(INSTALL_PROGRAM) -m 755 $(BINPREFIX)$$i $(DESTDIR)$(gamesdir)/$(BINPREFIX)$$i \
                || exit 1; \
        done
 !end
                || exit 1; \
        done
 !end
@@ -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