mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-19 10:02:45 -05:00
puzzles: resync with upstream
This brings the upstream version to b3da238 (though some of my own changes are included on top of that). Change-Id: Ida73e8cd86765413147ce891af3cc2b7aeda2b2a
This commit is contained in:
parent
ef0fb52113
commit
8f23493e08
61 changed files with 32740 additions and 884 deletions
|
|
@ -55,30 +55,31 @@ in puzzles do make -f Makefile.doc # build help files for installer
|
||||||
in puzzles do mason.pl --args '{"version":"$(Version)","descfile":"gamedesc.txt"}' winwix.mc > puzzles.wxs
|
in puzzles do mason.pl --args '{"version":"$(Version)","descfile":"gamedesc.txt"}' winwix.mc > puzzles.wxs
|
||||||
in puzzles do perl winiss.pl $(Version) gamedesc.txt > puzzles.iss
|
in puzzles do perl winiss.pl $(Version) gamedesc.txt > puzzles.iss
|
||||||
ifneq "$(VISUAL_STUDIO)" "yes" then
|
ifneq "$(VISUAL_STUDIO)" "yes" then
|
||||||
in puzzles with clangcl64 do Platform=x64 make -f Makefile.clangcl clean
|
in puzzles with clangcl64 do mkdir win64 && Platform=x64 make -f Makefile.clangcl BUILDDIR=win64/ VER=-DVER=$(Version) XFLAGS='-Wwrite-strings -Werror'
|
||||||
in puzzles with clangcl64 do Platform=x64 make -f Makefile.clangcl VER=-DVER=$(Version) XFLAGS='-Wwrite-strings -Werror'
|
in puzzles with clangcl32 do mkdir win32 && Platform=x86 make -f Makefile.clangcl BUILDDIR=win32/ SUBSYSVER=,5.01 VER=-DVER=$(Version) XFLAGS='-Wwrite-strings -Werror'
|
||||||
# Code-sign the binaries, if the local bob config provides a script
|
# Code-sign the binaries, if the local bob config provides a script
|
||||||
# to do so. We assume here that the script accepts an -i option to
|
# to do so. We assume here that the script accepts an -i option to
|
||||||
# provide a 'more info' URL, and an optional -n option to provide a
|
# provide a 'more info' URL, and an optional -n option to provide a
|
||||||
# program name, and that it can take multiple .exe filename
|
# program name, and that it can take multiple .exe filename
|
||||||
# arguments and sign them all in place.
|
# arguments and sign them all in place.
|
||||||
ifneq "$(cross_winsigncode)" "" in puzzles do $(cross_winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ *.exe
|
ifneq "$(cross_winsigncode)" "" in puzzles do $(cross_winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ win64/*.exe win32/*.exe
|
||||||
# Build installers.
|
# Build installers.
|
||||||
in puzzles with wixonlinux do candle -arch x64 puzzles.wxs && light -ext WixUIExtension -sval puzzles.wixobj
|
in puzzles with wixonlinux do candle -arch x64 puzzles.wxs -dWin64=yes -dBindir=win64/ && light -ext WixUIExtension -sval puzzles.wixobj
|
||||||
ifneq "$(cross_winsigncode)" "" in puzzles do $(cross_winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ -n "Simon Tatham's Portable Puzzle Collection Installer" puzzles.msi
|
in puzzles with wixonlinux do candle -arch x86 puzzles.wxs -dWin64=no -dBindir=win32/ && light -ext WixUIExtension -sval puzzles.wixobj -o puzzles32.msi
|
||||||
|
ifneq "$(cross_winsigncode)" "" in puzzles do $(cross_winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ -n "Simon Tatham's Portable Puzzle Collection Installer" puzzles.msi puzzles32.msi
|
||||||
else
|
else
|
||||||
delegate windows
|
delegate windows
|
||||||
in puzzles with visualstudio do/win nmake -f Makefile.vc clean
|
in puzzles with visualstudio do/win nmake -f Makefile.vc clean
|
||||||
in puzzles with visualstudio do/win nmake -f Makefile.vc VER=-DVER=$(Version)
|
in puzzles with visualstudio do/win nmake -f Makefile.vc VER=-DVER=$(Version)
|
||||||
ifneq "$(winsigncode)" "" in puzzles do $(winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ *.exe
|
ifneq "$(winsigncode)" "" in puzzles do $(winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ win64/*.exe
|
||||||
# Build installers.
|
# Build installers.
|
||||||
in puzzles with wix do/win candle puzzles.wxs && light -ext WixUIExtension -sval puzzles.wixobj
|
in puzzles with wix do/win candle puzzles.wxs -dWin64=yes -dBindir=win64/ && light -ext WixUIExtension -sval puzzles.wixobj
|
||||||
in puzzles with innosetup do/win iscc puzzles.iss
|
in puzzles with innosetup do/win iscc puzzles.iss
|
||||||
return puzzles/*.exe
|
return puzzles/win64/*.exe
|
||||||
return puzzles/puzzles.msi
|
return puzzles/puzzles.msi
|
||||||
enddelegate
|
enddelegate
|
||||||
endif
|
endif
|
||||||
in puzzles do chmod +x *.exe
|
in puzzles do chmod +x win32/*.exe win64/*.exe
|
||||||
|
|
||||||
# Build the Pocket PC binaries and CAB.
|
# Build the Pocket PC binaries and CAB.
|
||||||
#
|
#
|
||||||
|
|
@ -125,11 +126,13 @@ in puzzles/devel do halibut --html -Chtml-contents-filename:index.html -Chtml-in
|
||||||
# gamedesc.txt, which is generated by mkfiles.pl and helpfully
|
# gamedesc.txt, which is generated by mkfiles.pl and helpfully
|
||||||
# excludes the command-line auxiliary utilities such as solosolver,
|
# excludes the command-line auxiliary utilities such as solosolver,
|
||||||
# and nullgame.exe) into a subdirectory for easy access.
|
# and nullgame.exe) into a subdirectory for easy access.
|
||||||
in puzzles do mkdir winbin
|
in puzzles do mkdir winbin64 winbin32
|
||||||
in puzzles do mv `cut -f2 -d: gamedesc.txt` winbin
|
in puzzles/win64 do mv `cut -f2 -d: ../gamedesc.txt` ../winbin64
|
||||||
|
in puzzles/win32 do mv `cut -f2 -d: ../gamedesc.txt` ../winbin32
|
||||||
|
|
||||||
# Make a zip file of the Windows binaries and help files.
|
# Make a zip file of the Windows binaries and help files.
|
||||||
in puzzles do zip -j puzzles.zip winbin/*.exe puzzles.chm puzzles.hlp puzzles.cnt
|
in puzzles do zip -j puzzles.zip winbin64/*.exe puzzles.chm puzzles.hlp puzzles.cnt
|
||||||
|
in puzzles do zip -j puzzles32.zip winbin32/*.exe puzzles.chm puzzles.hlp puzzles.cnt
|
||||||
|
|
||||||
# Create the source archive. (That writes the archive into the
|
# Create the source archive. (That writes the archive into the
|
||||||
# _parent_ directory, so be careful when we deliver it.)
|
# _parent_ directory, so be careful when we deliver it.)
|
||||||
|
|
@ -177,7 +180,8 @@ in puzzles do echo RedirectMatch temp '(.*/)'puzzles-installer.msi '$$1'puzzles-
|
||||||
|
|
||||||
# Phew, we're done. Deliver everything!
|
# Phew, we're done. Deliver everything!
|
||||||
deliver puzzles/icons/*-web.png $@
|
deliver puzzles/icons/*-web.png $@
|
||||||
deliver puzzles/winbin/*.exe $@
|
deliver puzzles/winbin64/*.exe $@
|
||||||
|
deliver puzzles/winbin32/*.exe w32/$@
|
||||||
deliver puzzles/.htaccess $@
|
deliver puzzles/.htaccess $@
|
||||||
deliver puzzles/doc/*.html doc/$@
|
deliver puzzles/doc/*.html doc/$@
|
||||||
deliver puzzles/devel/*.html devel/$@
|
deliver puzzles/devel/*.html devel/$@
|
||||||
|
|
@ -186,7 +190,9 @@ deliver puzzles/puzzles.chm $@
|
||||||
deliver puzzles/puzzles.hlp $@
|
deliver puzzles/puzzles.hlp $@
|
||||||
deliver puzzles/puzzles.cnt $@
|
deliver puzzles/puzzles.cnt $@
|
||||||
deliver puzzles/puzzles.zip $@
|
deliver puzzles/puzzles.zip $@
|
||||||
|
deliver puzzles/puzzles32.zip w32/$@
|
||||||
deliver puzzles/puzzles.msi puzzles-$(Version)-installer.msi
|
deliver puzzles/puzzles.msi puzzles-$(Version)-installer.msi
|
||||||
|
deliver puzzles/puzzles32.msi w32/puzzles-$(Version)-32bit-installer.msi
|
||||||
deliver puzzles/*.jar java/$@
|
deliver puzzles/*.jar java/$@
|
||||||
deliver puzzles/js/*.js js/$@
|
deliver puzzles/js/*.js js/$@
|
||||||
deliver puzzles/jstest/*.html jstest/$@
|
deliver puzzles/jstest/*.html jstest/$@
|
||||||
|
|
|
||||||
4661
apps/plugins/puzzles/src/HACKING
Normal file
4661
apps/plugins/puzzles/src/HACKING
Normal file
File diff suppressed because it is too large
Load diff
2611
apps/plugins/puzzles/src/Makefile
Normal file
2611
apps/plugins/puzzles/src/Makefile
Normal file
File diff suppressed because it is too large
Load diff
446
apps/plugins/puzzles/src/Makefile.am
Normal file
446
apps/plugins/puzzles/src/Makefile.am
Normal file
|
|
@ -0,0 +1,446 @@
|
||||||
|
# Makefile.am for puzzles under Unix with Autoconf/Automake.
|
||||||
|
#
|
||||||
|
# This file was created by `mkfiles.pl' from the `Recipe' file.
|
||||||
|
# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.
|
||||||
|
|
||||||
|
GAMES =
|
||||||
|
noinst_PROGRAMS = blackbox bridges cube dominosa fifteen fifteensolver \
|
||||||
|
filling fillingsolver flip flood galaxies galaxiespicture \
|
||||||
|
galaxiessolver guess inertia keen keensolver latincheck \
|
||||||
|
lightup lightupsolver loopy loopysolver magnets \
|
||||||
|
magnetssolver map mapsolver mineobfusc mines net netslide \
|
||||||
|
nullgame obfusc palisade pattern patternpicture \
|
||||||
|
patternsolver pearl pearlbench pegs range rect samegame \
|
||||||
|
signpost signpostsolver singles singlessolver sixteen slant \
|
||||||
|
slantsolver solo solosolver tents tentssolver towers \
|
||||||
|
towerssolver tracks twiddle undead unequal unequalsolver \
|
||||||
|
unruly unrulysolver untangle
|
||||||
|
AUTOMAKE_OPTIONS = subdir-objects
|
||||||
|
|
||||||
|
allsources = ./blackbox.c ./bridges.c ./combi.c ./cube.c ./divvy.c \
|
||||||
|
./dominosa.c ./drawing.c ./dsf.c ./fifteen.c ./filling.c \
|
||||||
|
./findloop.c ./flip.c ./flood.c ./galaxies.c ./grid.c \
|
||||||
|
./grid.h ./gtk.c ./guess.c ./inertia.c ./keen.c ./latin.c \
|
||||||
|
./latin.h ./laydomino.c ./lightup.c ./list.c ./loopgen.c \
|
||||||
|
./loopgen.h ./loopy.c ./magnets.c ./malloc.c ./map.c \
|
||||||
|
./maxflow.c ./maxflow.h ./midend.c ./mines.c ./misc.c \
|
||||||
|
./net.c ./netslide.c ./no-icon.c ./nullfe.c ./nullgame.c \
|
||||||
|
./obfusc.c ./osx.m ./palisade.c ./pattern.c ./pearl.c \
|
||||||
|
./pegs.c ./penrose.c ./penrose.h ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./range.c ./rect.c ./resource.h \
|
||||||
|
./samegame.c ./signpost.c ./singles.c ./sixteen.c ./slant.c \
|
||||||
|
./solo.c ./tdq.c ./tents.c ./towers.c ./tracks.c ./tree234.c \
|
||||||
|
./tree234.h ./twiddle.c ./undead.c ./unequal.c ./unruly.c \
|
||||||
|
./untangle.c ./version.c ./version.h ./windows.c
|
||||||
|
|
||||||
|
AM_CPPFLAGS = -I$(srcdir)/./ -I$(srcdir)/icons/
|
||||||
|
AM_CFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS)
|
||||||
|
blackbox_SOURCES = ./blackbox.c ./drawing.c ./gtk.c ./malloc.c ./midend.c \
|
||||||
|
./misc.c ./no-icon.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./version.c ./version.h
|
||||||
|
blackbox_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
bridges_SOURCES = ./bridges.c ./drawing.c ./dsf.c ./findloop.c ./gtk.c \
|
||||||
|
./malloc.c ./midend.c ./misc.c ./no-icon.c ./printing.c \
|
||||||
|
./ps.c ./puzzles.h ./random.c ./version.c ./version.h
|
||||||
|
bridges_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
cube_SOURCES = ./cube.c ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./version.c ./version.h
|
||||||
|
cube_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
dominosa_SOURCES = ./dominosa.c ./drawing.c ./gtk.c ./laydomino.c ./malloc.c \
|
||||||
|
./midend.c ./misc.c ./no-icon.c ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./version.c ./version.h
|
||||||
|
dominosa_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
fifteen_SOURCES = ./drawing.c ./fifteen.c ./gtk.c ./malloc.c ./midend.c \
|
||||||
|
./misc.c ./no-icon.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./version.c ./version.h
|
||||||
|
fifteen_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
fifteensolver_SOURCES = ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
fifteensolver_LDADD = libfifteen2_a-fifteen.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
filling_SOURCES = ./drawing.c ./dsf.c ./filling.c ./gtk.c ./malloc.c \
|
||||||
|
./midend.c ./misc.c ./no-icon.c ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./version.c ./version.h
|
||||||
|
filling_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
fillingsolver_SOURCES = ./dsf.c ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
fillingsolver_LDADD = libfilling2_a-filling.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
flip_SOURCES = ./drawing.c ./flip.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./tree234.c ./tree234.h ./version.c ./version.h
|
||||||
|
flip_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
flood_SOURCES = ./drawing.c ./flood.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./version.c ./version.h
|
||||||
|
flood_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
galaxies_SOURCES = ./drawing.c ./dsf.c ./galaxies.c ./gtk.c ./malloc.c \
|
||||||
|
./midend.c ./misc.c ./no-icon.c ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./version.c ./version.h
|
||||||
|
galaxies_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
galaxiespicture_SOURCES = ./dsf.c ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
galaxiespicture_LDADD = libgalaxie4_a-galaxies.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
galaxiessolver_SOURCES = ./dsf.c ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
galaxiessolver_LDADD = libgalaxie2_a-galaxies.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
guess_SOURCES = ./drawing.c ./gtk.c ./guess.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./version.c ./version.h
|
||||||
|
guess_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
inertia_SOURCES = ./drawing.c ./gtk.c ./inertia.c ./malloc.c ./midend.c \
|
||||||
|
./misc.c ./no-icon.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./version.c ./version.h
|
||||||
|
inertia_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
keen_SOURCES = ./drawing.c ./dsf.c ./gtk.c ./keen.c ./latin.c ./latin.h \
|
||||||
|
./malloc.c ./maxflow.c ./maxflow.h ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./tree234.c ./tree234.h ./version.c ./version.h
|
||||||
|
keen_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
keensolver_SOURCES = ./dsf.c ./malloc.c ./maxflow.c ./maxflow.h ./misc.c \
|
||||||
|
./nullfe.c ./puzzles.h ./random.c ./tree234.c ./tree234.h
|
||||||
|
keensolver_LDADD = libkeen2_a-keen.$(OBJEXT) liblatin6_a-latin.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
latincheck_SOURCES = ./malloc.c ./maxflow.c ./maxflow.h ./misc.c ./nullfe.c \
|
||||||
|
./puzzles.h ./random.c ./tree234.c ./tree234.h
|
||||||
|
latincheck_LDADD = liblatin8_a-latin.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
lightup_SOURCES = ./combi.c ./drawing.c ./gtk.c ./lightup.c ./malloc.c \
|
||||||
|
./midend.c ./misc.c ./no-icon.c ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./version.c ./version.h
|
||||||
|
lightup_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
lightupsolver_SOURCES = ./combi.c ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
lightupsolver_LDADD = liblightup2_a-lightup.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
loopy_SOURCES = ./drawing.c ./dsf.c ./grid.c ./grid.h ./gtk.c ./loopgen.c \
|
||||||
|
./loopgen.h ./loopy.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./penrose.c ./penrose.h ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./tree234.c ./tree234.h ./version.c \
|
||||||
|
./version.h
|
||||||
|
loopy_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
loopysolver_SOURCES = ./dsf.c ./grid.c ./grid.h ./loopgen.c ./loopgen.h \
|
||||||
|
./malloc.c ./misc.c ./nullfe.c ./penrose.c ./penrose.h \
|
||||||
|
./puzzles.h ./random.c ./tree234.c ./tree234.h
|
||||||
|
loopysolver_LDADD = libloopy2_a-loopy.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
magnets_SOURCES = ./drawing.c ./gtk.c ./laydomino.c ./magnets.c ./malloc.c \
|
||||||
|
./midend.c ./misc.c ./no-icon.c ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./version.c ./version.h
|
||||||
|
magnets_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
magnetssolver_SOURCES = ./laydomino.c ./malloc.c ./misc.c ./nullfe.c \
|
||||||
|
./puzzles.h ./random.c
|
||||||
|
magnetssolver_LDADD = libmagnets2_a-magnets.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
map_SOURCES = ./drawing.c ./dsf.c ./gtk.c ./malloc.c ./map.c ./midend.c \
|
||||||
|
./misc.c ./no-icon.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./version.c ./version.h
|
||||||
|
map_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
mapsolver_SOURCES = ./dsf.c ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
mapsolver_LDADD = libmap2_a-map.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
mineobfusc_SOURCES = ./malloc.c ./misc.c ./nullfe.c ./puzzles.h ./random.c \
|
||||||
|
./tree234.c ./tree234.h
|
||||||
|
mineobfusc_LDADD = libmines2_a-mines.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
mines_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./mines.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./tree234.c ./tree234.h ./version.c ./version.h
|
||||||
|
mines_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
net_SOURCES = ./drawing.c ./dsf.c ./findloop.c ./gtk.c ./malloc.c ./midend.c \
|
||||||
|
./misc.c ./net.c ./no-icon.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./tree234.c ./tree234.h ./version.c ./version.h
|
||||||
|
net_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
netslide_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./netslide.c ./no-icon.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./tree234.c ./tree234.h ./version.c ./version.h
|
||||||
|
netslide_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
nullgame_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./nullgame.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./version.c ./version.h
|
||||||
|
nullgame_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
obfusc_SOURCES = ./malloc.c ./misc.c ./nullfe.c ./obfusc.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
obfusc_LDADD = -lm
|
||||||
|
|
||||||
|
palisade_SOURCES = ./divvy.c ./drawing.c ./dsf.c ./gtk.c ./malloc.c \
|
||||||
|
./midend.c ./misc.c ./no-icon.c ./palisade.c ./printing.c \
|
||||||
|
./ps.c ./puzzles.h ./random.c ./version.c ./version.h
|
||||||
|
palisade_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
pattern_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./pattern.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./version.c ./version.h
|
||||||
|
pattern_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
patternpicture_SOURCES = ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
patternpicture_LDADD = libpattern4_a-pattern.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
patternsolver_SOURCES = ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
patternsolver_LDADD = libpattern2_a-pattern.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
pearl_SOURCES = ./drawing.c ./dsf.c ./grid.c ./grid.h ./gtk.c ./loopgen.c \
|
||||||
|
./loopgen.h ./malloc.c ./midend.c ./misc.c ./no-icon.c \
|
||||||
|
./pearl.c ./penrose.c ./penrose.h ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./tdq.c ./tree234.c ./tree234.h \
|
||||||
|
./version.c ./version.h
|
||||||
|
pearl_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
pearlbench_SOURCES = ./dsf.c ./grid.c ./grid.h ./loopgen.c ./loopgen.h \
|
||||||
|
./malloc.c ./misc.c ./nullfe.c ./penrose.c ./penrose.h \
|
||||||
|
./puzzles.h ./random.c ./tdq.c ./tree234.c ./tree234.h
|
||||||
|
pearlbench_LDADD = libpearl2_a-pearl.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
pegs_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./pegs.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./tree234.c ./tree234.h ./version.c ./version.h
|
||||||
|
pegs_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
range_SOURCES = ./drawing.c ./dsf.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./range.c ./version.c ./version.h
|
||||||
|
range_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
rect_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./rect.c ./version.c ./version.h
|
||||||
|
rect_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
samegame_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./samegame.c ./version.c ./version.h
|
||||||
|
samegame_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
signpost_SOURCES = ./drawing.c ./dsf.c ./gtk.c ./malloc.c ./midend.c \
|
||||||
|
./misc.c ./no-icon.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./signpost.c ./version.c ./version.h
|
||||||
|
signpost_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
signpostsolver_SOURCES = ./dsf.c ./malloc.c ./misc.c ./nullfe.c ./puzzles.h \
|
||||||
|
./random.c
|
||||||
|
signpostsolver_LDADD = libsignpos2_a-signpost.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
singles_SOURCES = ./drawing.c ./dsf.c ./gtk.c ./latin.c ./latin.h ./malloc.c \
|
||||||
|
./maxflow.c ./maxflow.h ./midend.c ./misc.c ./no-icon.c \
|
||||||
|
./printing.c ./ps.c ./puzzles.h ./random.c ./singles.c \
|
||||||
|
./tree234.c ./tree234.h ./version.c ./version.h
|
||||||
|
singles_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
singlessolver_SOURCES = ./dsf.c ./latin.c ./latin.h ./malloc.c ./maxflow.c \
|
||||||
|
./maxflow.h ./misc.c ./nullfe.c ./puzzles.h ./random.c \
|
||||||
|
./tree234.c ./tree234.h
|
||||||
|
singlessolver_LDADD = libsingles3_a-singles.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
sixteen_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./sixteen.c ./version.c ./version.h
|
||||||
|
sixteen_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
slant_SOURCES = ./drawing.c ./dsf.c ./findloop.c ./gtk.c ./malloc.c \
|
||||||
|
./midend.c ./misc.c ./no-icon.c ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./slant.c ./version.c ./version.h
|
||||||
|
slant_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
slantsolver_SOURCES = ./dsf.c ./findloop.c ./malloc.c ./misc.c ./nullfe.c \
|
||||||
|
./puzzles.h ./random.c
|
||||||
|
slantsolver_LDADD = libslant2_a-slant.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
solo_SOURCES = ./divvy.c ./drawing.c ./dsf.c ./gtk.c ./malloc.c ./midend.c \
|
||||||
|
./misc.c ./no-icon.c ./printing.c ./ps.c ./puzzles.h \
|
||||||
|
./random.c ./solo.c ./version.c ./version.h
|
||||||
|
solo_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
solosolver_SOURCES = ./divvy.c ./dsf.c ./malloc.c ./misc.c ./nullfe.c \
|
||||||
|
./puzzles.h ./random.c
|
||||||
|
solosolver_LDADD = libsolo2_a-solo.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
tents_SOURCES = ./drawing.c ./dsf.c ./gtk.c ./malloc.c ./maxflow.c \
|
||||||
|
./maxflow.h ./midend.c ./misc.c ./no-icon.c ./printing.c \
|
||||||
|
./ps.c ./puzzles.h ./random.c ./tents.c ./version.c \
|
||||||
|
./version.h
|
||||||
|
tents_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
tentssolver_SOURCES = ./dsf.c ./malloc.c ./maxflow.c ./maxflow.h ./misc.c \
|
||||||
|
./nullfe.c ./puzzles.h ./random.c
|
||||||
|
tentssolver_LDADD = libtents3_a-tents.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
towers_SOURCES = ./drawing.c ./gtk.c ./latin.c ./latin.h ./malloc.c \
|
||||||
|
./maxflow.c ./maxflow.h ./midend.c ./misc.c ./no-icon.c \
|
||||||
|
./printing.c ./ps.c ./puzzles.h ./random.c ./towers.c \
|
||||||
|
./tree234.c ./tree234.h ./version.c ./version.h
|
||||||
|
towers_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
towerssolver_SOURCES = ./malloc.c ./maxflow.c ./maxflow.h ./misc.c \
|
||||||
|
./nullfe.c ./puzzles.h ./random.c ./tree234.c ./tree234.h
|
||||||
|
towerssolver_LDADD = liblatin6_a-latin.$(OBJEXT) \
|
||||||
|
libtowers2_a-towers.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
tracks_SOURCES = ./drawing.c ./dsf.c ./findloop.c ./gtk.c ./malloc.c \
|
||||||
|
./midend.c ./misc.c ./no-icon.c ./printing.c ./ps.c \
|
||||||
|
./puzzles.h ./random.c ./tracks.c ./version.c ./version.h
|
||||||
|
tracks_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
twiddle_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./twiddle.c ./version.c ./version.h
|
||||||
|
twiddle_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
undead_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./undead.c ./version.c ./version.h
|
||||||
|
undead_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
unequal_SOURCES = ./drawing.c ./gtk.c ./latin.c ./latin.h ./malloc.c \
|
||||||
|
./maxflow.c ./maxflow.h ./midend.c ./misc.c ./no-icon.c \
|
||||||
|
./printing.c ./ps.c ./puzzles.h ./random.c ./tree234.c \
|
||||||
|
./tree234.h ./unequal.c ./version.c ./version.h
|
||||||
|
unequal_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
unequalsolver_SOURCES = ./malloc.c ./maxflow.c ./maxflow.h ./misc.c \
|
||||||
|
./nullfe.c ./puzzles.h ./random.c ./tree234.c ./tree234.h
|
||||||
|
unequalsolver_LDADD = liblatin6_a-latin.$(OBJEXT) \
|
||||||
|
libunequal2_a-unequal.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
unruly_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./unruly.c ./version.c ./version.h
|
||||||
|
unruly_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
unrulysolver_SOURCES = ./malloc.c ./misc.c ./nullfe.c ./puzzles.h ./random.c
|
||||||
|
unrulysolver_LDADD = libunruly2_a-unruly.$(OBJEXT) -lm
|
||||||
|
|
||||||
|
untangle_SOURCES = ./drawing.c ./gtk.c ./malloc.c ./midend.c ./misc.c \
|
||||||
|
./no-icon.c ./printing.c ./ps.c ./puzzles.h ./random.c \
|
||||||
|
./tree234.c ./tree234.h ./untangle.c ./version.c ./version.h
|
||||||
|
untangle_LDADD = $(GTK_LIBS) -lm
|
||||||
|
|
||||||
|
libfifteen2_a_SOURCES = ./fifteen.c ./puzzles.h
|
||||||
|
libfifteen2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libfilling2_a_SOURCES = ./filling.c ./puzzles.h
|
||||||
|
libfilling2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libgalaxie2_a_SOURCES = ./galaxies.c ./puzzles.h
|
||||||
|
libgalaxie2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libgalaxie4_a_SOURCES = ./galaxies.c ./puzzles.h
|
||||||
|
libgalaxie4_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) \
|
||||||
|
-DSTANDALONE_PICTURE_GENERATOR
|
||||||
|
libkeen2_a_SOURCES = ./keen.c ./puzzles.h ./latin.h
|
||||||
|
libkeen2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
liblatin6_a_SOURCES = ./latin.c ./puzzles.h ./tree234.h ./maxflow.h \
|
||||||
|
./latin.h
|
||||||
|
liblatin6_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
liblatin8_a_SOURCES = ./latin.c ./puzzles.h ./tree234.h ./maxflow.h \
|
||||||
|
./latin.h
|
||||||
|
liblatin8_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_LATIN_TEST
|
||||||
|
liblightup2_a_SOURCES = ./lightup.c ./puzzles.h
|
||||||
|
liblightup2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libloopy2_a_SOURCES = ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
libloopy2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libmagnets2_a_SOURCES = ./magnets.c ./puzzles.h
|
||||||
|
libmagnets2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libmap2_a_SOURCES = ./map.c ./puzzles.h
|
||||||
|
libmap2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libmines2_a_SOURCES = ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
libmines2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_OBFUSCATOR
|
||||||
|
libpattern2_a_SOURCES = ./pattern.c ./puzzles.h
|
||||||
|
libpattern2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libpattern4_a_SOURCES = ./pattern.c ./puzzles.h
|
||||||
|
libpattern4_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) \
|
||||||
|
-DSTANDALONE_PICTURE_GENERATOR
|
||||||
|
libpearl2_a_SOURCES = ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
libpearl2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libsignpos2_a_SOURCES = ./signpost.c ./puzzles.h
|
||||||
|
libsignpos2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libsingles3_a_SOURCES = ./singles.c ./puzzles.h ./latin.h
|
||||||
|
libsingles3_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libslant2_a_SOURCES = ./slant.c ./puzzles.h
|
||||||
|
libslant2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libsolo2_a_SOURCES = ./solo.c ./puzzles.h
|
||||||
|
libsolo2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libtents3_a_SOURCES = ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
libtents3_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libtowers2_a_SOURCES = ./towers.c ./puzzles.h ./latin.h
|
||||||
|
libtowers2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libunequal2_a_SOURCES = ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
libunequal2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
libunruly2_a_SOURCES = ./unruly.c ./puzzles.h
|
||||||
|
libunruly2_a_CPPFLAGS = $(GTK_CFLAGS) $(WARNINGOPTS) -DSTANDALONE_SOLVER
|
||||||
|
noinst_LIBRARIES = libfifteen2.a libfilling2.a libgalaxie2.a libgalaxie4.a \
|
||||||
|
libkeen2.a liblatin6.a liblatin8.a liblightup2.a libloopy2.a \
|
||||||
|
libmagnets2.a libmap2.a libmines2.a libpattern2.a \
|
||||||
|
libpattern4.a libpearl2.a libsignpos2.a libsingles3.a \
|
||||||
|
libslant2.a libsolo2.a libtents3.a libtowers2.a \
|
||||||
|
libunequal2.a libunruly2.a
|
||||||
|
|
||||||
|
GAMES += blackbox
|
||||||
|
GAMES += bridges
|
||||||
|
GAMES += cube
|
||||||
|
GAMES += dominosa
|
||||||
|
GAMES += fifteen
|
||||||
|
GAMES += filling
|
||||||
|
GAMES += flip
|
||||||
|
GAMES += flood
|
||||||
|
GAMES += galaxies
|
||||||
|
GAMES += guess
|
||||||
|
GAMES += inertia
|
||||||
|
GAMES += keen
|
||||||
|
GAMES += lightup
|
||||||
|
GAMES += loopy
|
||||||
|
GAMES += magnets
|
||||||
|
GAMES += map
|
||||||
|
GAMES += mines
|
||||||
|
GAMES += net
|
||||||
|
GAMES += netslide
|
||||||
|
GAMES += palisade
|
||||||
|
GAMES += pattern
|
||||||
|
GAMES += pearl
|
||||||
|
GAMES += pegs
|
||||||
|
GAMES += range
|
||||||
|
GAMES += rect
|
||||||
|
GAMES += samegame
|
||||||
|
GAMES += signpost
|
||||||
|
GAMES += singles
|
||||||
|
GAMES += sixteen
|
||||||
|
GAMES += slant
|
||||||
|
GAMES += solo
|
||||||
|
GAMES += tents
|
||||||
|
GAMES += towers
|
||||||
|
GAMES += tracks
|
||||||
|
GAMES += twiddle
|
||||||
|
GAMES += undead
|
||||||
|
GAMES += unequal
|
||||||
|
GAMES += unruly
|
||||||
|
GAMES += untangle
|
||||||
|
bin_PROGRAMS = $(GAMES)
|
||||||
|
test: benchmark.html benchmark.txt
|
||||||
|
|
||||||
|
benchmark.html: benchmark.txt benchmark.pl
|
||||||
|
./benchmark.pl benchmark.txt > $@
|
||||||
|
|
||||||
|
benchmark.txt: benchmark.sh $(GAMES)
|
||||||
|
./benchmark.sh > $@
|
||||||
1415
apps/plugins/puzzles/src/Makefile.clangcl
Normal file
1415
apps/plugins/puzzles/src/Makefile.clangcl
Normal file
File diff suppressed because it is too large
Load diff
718
apps/plugins/puzzles/src/Makefile.cyg
Normal file
718
apps/plugins/puzzles/src/Makefile.cyg
Normal file
|
|
@ -0,0 +1,718 @@
|
||||||
|
# Makefile for puzzles under cygwin.
|
||||||
|
#
|
||||||
|
# This file was created by `mkfiles.pl' from the `Recipe' file.
|
||||||
|
# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.
|
||||||
|
|
||||||
|
# You can define this path to point at your tools if you need to
|
||||||
|
# TOOLPATH = c:\cygwin\bin\ # or similar, if you're running Windows
|
||||||
|
# TOOLPATH = /pkg/mingw32msvc/i386-mingw32msvc/bin/
|
||||||
|
CC = $(TOOLPATH)gcc
|
||||||
|
RC = $(TOOLPATH)windres
|
||||||
|
# Uncomment the following two lines to compile under Winelib
|
||||||
|
# CC = winegcc
|
||||||
|
# RC = wrc
|
||||||
|
# You may also need to tell windres where to find include files:
|
||||||
|
# RCINC = --include-dir c:\cygwin\include\
|
||||||
|
|
||||||
|
CFLAGS = -mno-cygwin -Wall -O2 -D_WINDOWS -DDEBUG -DWIN32S_COMPAT \
|
||||||
|
-D_NO_OLDNAMES -DNO_MULTIMON -DNO_HTMLHELP -I./ -Iicons/
|
||||||
|
LDFLAGS = -mno-cygwin -s
|
||||||
|
RCFLAGS = $(RCINC) --define WIN32=1 --define _WIN32=1 --define WINVER=0x0400 \
|
||||||
|
--define MINGW32_FIX=1 --include ./ --include icons/
|
||||||
|
|
||||||
|
all: blackbox.exe bridges.exe cube.exe dominosa.exe fifteen.exe \
|
||||||
|
fifteensolver.exe filling.exe fillingsolver.exe flip.exe \
|
||||||
|
flood.exe galaxies.exe galaxiespicture.exe \
|
||||||
|
galaxiessolver.exe guess.exe inertia.exe keen.exe \
|
||||||
|
keensolver.exe latincheck.exe lightup.exe lightupsolver.exe \
|
||||||
|
loopy.exe loopysolver.exe magnets.exe magnetssolver.exe \
|
||||||
|
map.exe mapsolver.exe mineobfusc.exe mines.exe netgame.exe \
|
||||||
|
netslide.exe nullgame.exe palisade.exe pattern.exe \
|
||||||
|
patternpicture.exe patternsolver.exe pearl.exe \
|
||||||
|
pearlbench.exe pegs.exe puzzles.exe range.exe rect.exe \
|
||||||
|
samegame.exe signpost.exe signpostsolver.exe singles.exe \
|
||||||
|
singlessolver.exe sixteen.exe slant.exe slantsolver.exe \
|
||||||
|
solo.exe solosolver.exe tents.exe tentssolver.exe towers.exe \
|
||||||
|
towerssolver.exe tracks.exe twiddle.exe undead.exe \
|
||||||
|
unequal.exe unequalsolver.exe unruly.exe unrulysolver.exe \
|
||||||
|
untangle.exe
|
||||||
|
|
||||||
|
blackbox.exe: blackbox.o drawing.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,blackbox.map blackbox.o \
|
||||||
|
drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
bridges.exe: bridges.o drawing.o dsf.o findloop.o malloc.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,bridges.map bridges.o \
|
||||||
|
drawing.o dsf.o findloop.o malloc.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o version.o windows.o \
|
||||||
|
-lcomctl32 -lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
cube.exe: cube.o drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,cube.map cube.o drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 -luser32 \
|
||||||
|
-lwinspool
|
||||||
|
|
||||||
|
dominosa.exe: dominosa.o drawing.o laydomino.o malloc.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,dominosa.map dominosa.o \
|
||||||
|
drawing.o laydomino.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o -lcomctl32 \
|
||||||
|
-lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
fifteen.exe: drawing.o fifteen.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,fifteen.map drawing.o \
|
||||||
|
fifteen.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
fifteensolver.exe: fifteen2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,fifteensolver.map fifteen2.o \
|
||||||
|
malloc.o misc.o nullfe.o random.o
|
||||||
|
|
||||||
|
filling.exe: drawing.o dsf.o filling.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,filling.map drawing.o \
|
||||||
|
dsf.o filling.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o -lcomctl32 \
|
||||||
|
-lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
fillingsolver.exe: dsf.o filling2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,fillingsolver.map dsf.o filling2.o \
|
||||||
|
malloc.o misc.o nullfe.o random.o
|
||||||
|
|
||||||
|
flip.exe: drawing.o flip.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o tree234.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,flip.map drawing.o flip.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
tree234.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
flood.exe: drawing.o flood.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,flood.map drawing.o \
|
||||||
|
flood.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
galaxies.exe: drawing.o dsf.o galaxies.o malloc.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,galaxies.map drawing.o \
|
||||||
|
dsf.o galaxies.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o -lcomctl32 \
|
||||||
|
-lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
galaxiespicture.exe: dsf.o galaxie4.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,galaxiespicture.map dsf.o galaxie4.o \
|
||||||
|
malloc.o misc.o nullfe.o random.o
|
||||||
|
|
||||||
|
galaxiessolver.exe: dsf.o galaxie2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,galaxiessolver.map dsf.o galaxie2.o \
|
||||||
|
malloc.o misc.o nullfe.o random.o
|
||||||
|
|
||||||
|
guess.exe: drawing.o guess.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,guess.map drawing.o \
|
||||||
|
guess.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
inertia.exe: drawing.o inertia.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,inertia.map drawing.o \
|
||||||
|
inertia.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
keen.exe: drawing.o dsf.o keen.o latin.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o tree234.o version.o \
|
||||||
|
windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,keen.map drawing.o dsf.o \
|
||||||
|
keen.o latin.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o tree234.o version.o \
|
||||||
|
windows.o -lcomctl32 -lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
keensolver.exe: dsf.o keen2.o latin6.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o tree234.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,keensolver.map dsf.o keen2.o \
|
||||||
|
latin6.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tree234.o
|
||||||
|
|
||||||
|
latincheck.exe: latin8.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tree234.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,latincheck.map latin8.o malloc.o \
|
||||||
|
maxflow.o misc.o nullfe.o random.o tree234.o
|
||||||
|
|
||||||
|
lightup.exe: combi.o drawing.o lightup.o malloc.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,lightup.map combi.o \
|
||||||
|
drawing.o lightup.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o -lcomctl32 \
|
||||||
|
-lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
lightupsolver.exe: combi.o lightup2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,lightupsolver.map combi.o lightup2.o \
|
||||||
|
malloc.o misc.o nullfe.o random.o
|
||||||
|
|
||||||
|
loopy.exe: drawing.o dsf.o grid.o loopgen.o loopy.o malloc.o midend.o misc.o \
|
||||||
|
noicon.res.o penrose.o printing.o random.o tree234.o \
|
||||||
|
version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,loopy.map drawing.o dsf.o \
|
||||||
|
grid.o loopgen.o loopy.o malloc.o midend.o misc.o \
|
||||||
|
noicon.res.o penrose.o printing.o random.o tree234.o \
|
||||||
|
version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 -luser32 \
|
||||||
|
-lwinspool
|
||||||
|
|
||||||
|
loopysolver.exe: dsf.o grid.o loopgen.o loopy2.o malloc.o misc.o nullfe.o \
|
||||||
|
penrose.o random.o tree234.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,loopysolver.map dsf.o grid.o \
|
||||||
|
loopgen.o loopy2.o malloc.o misc.o nullfe.o penrose.o \
|
||||||
|
random.o tree234.o
|
||||||
|
|
||||||
|
magnets.exe: drawing.o laydomino.o magnets.o malloc.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,magnets.map drawing.o \
|
||||||
|
laydomino.o magnets.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o -lcomctl32 \
|
||||||
|
-lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
magnetssolver.exe: laydomino.o magnets2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,magnetssolver.map laydomino.o \
|
||||||
|
magnets2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
|
||||||
|
map.exe: drawing.o dsf.o malloc.o map.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,map.map drawing.o dsf.o \
|
||||||
|
malloc.o map.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
mapsolver.exe: dsf.o malloc.o map2.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,mapsolver.map dsf.o malloc.o map2.o \
|
||||||
|
misc.o nullfe.o random.o
|
||||||
|
|
||||||
|
mineobfusc.exe: malloc.o mines2.o misc.o nullfe.o random.o tree234.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,mineobfusc.map malloc.o mines2.o \
|
||||||
|
misc.o nullfe.o random.o tree234.o
|
||||||
|
|
||||||
|
mines.exe: drawing.o malloc.o midend.o mines.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o tree234.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,mines.map drawing.o \
|
||||||
|
malloc.o midend.o mines.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o tree234.o version.o windows.o -lcomctl32 -lcomdlg32 \
|
||||||
|
-lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
netgame.exe: drawing.o dsf.o findloop.o malloc.o midend.o misc.o net.o \
|
||||||
|
noicon.res.o printing.o random.o tree234.o version.o \
|
||||||
|
windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,netgame.map drawing.o \
|
||||||
|
dsf.o findloop.o malloc.o midend.o misc.o net.o noicon.res.o \
|
||||||
|
printing.o random.o tree234.o version.o windows.o -lcomctl32 \
|
||||||
|
-lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
netslide.exe: drawing.o malloc.o midend.o misc.o netslide.o noicon.res.o \
|
||||||
|
printing.o random.o tree234.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,netslide.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o netslide.o noicon.res.o printing.o \
|
||||||
|
random.o tree234.o version.o windows.o -lcomctl32 -lcomdlg32 \
|
||||||
|
-lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
nullgame.exe: drawing.o malloc.o midend.o misc.o noicon.res.o nullgame.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,nullgame.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o nullgame.o printing.o \
|
||||||
|
random.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
palisade.exe: divvy.o drawing.o dsf.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
palisade.o printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,palisade.map divvy.o \
|
||||||
|
drawing.o dsf.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
palisade.o printing.o random.o version.o windows.o \
|
||||||
|
-lcomctl32 -lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
pattern.exe: drawing.o malloc.o midend.o misc.o noicon.res.o pattern.o \
|
||||||
|
printing.o random.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,pattern.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o pattern.o printing.o \
|
||||||
|
random.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
patternpicture.exe: malloc.o misc.o nullfe.o pattern4.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,patternpicture.map malloc.o misc.o \
|
||||||
|
nullfe.o pattern4.o random.o
|
||||||
|
|
||||||
|
patternsolver.exe: malloc.o misc.o nullfe.o pattern2.o random.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,patternsolver.map malloc.o misc.o \
|
||||||
|
nullfe.o pattern2.o random.o
|
||||||
|
|
||||||
|
pearl.exe: drawing.o dsf.o grid.o loopgen.o malloc.o midend.o misc.o pearl.o \
|
||||||
|
penrose.o printing.o random.o tdq.o tree234.o version.o \
|
||||||
|
windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,pearl.map drawing.o dsf.o \
|
||||||
|
grid.o loopgen.o malloc.o midend.o misc.o pearl.o penrose.o \
|
||||||
|
printing.o random.o tdq.o tree234.o version.o windows.o \
|
||||||
|
-lcomctl32 -lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
pearlbench.exe: dsf.o grid.o loopgen.o malloc.o misc.o nullfe.o pearl2.o \
|
||||||
|
penrose.o random.o tdq.o tree234.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,pearlbench.map dsf.o grid.o \
|
||||||
|
loopgen.o malloc.o misc.o nullfe.o pearl2.o penrose.o \
|
||||||
|
random.o tdq.o tree234.o
|
||||||
|
|
||||||
|
pegs.exe: drawing.o malloc.o midend.o misc.o noicon.res.o pegs.o printing.o \
|
||||||
|
random.o tree234.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,pegs.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o pegs.o printing.o \
|
||||||
|
random.o tree234.o version.o windows.o -lcomctl32 -lcomdlg32 \
|
||||||
|
-lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
puzzles.exe: blackbo3.o bridges3.o combi.o cube3.o divvy.o dominos3.o \
|
||||||
|
drawing.o dsf.o fifteen5.o filling5.o findloop.o flip3.o \
|
||||||
|
flood3.o galaxie7.o grid.o guess3.o inertia3.o keen5.o \
|
||||||
|
latin.o laydomino.o lightup5.o list.o loopgen.o loopy5.o \
|
||||||
|
magnets5.o malloc.o map5.o maxflow.o midend.o mines5.o \
|
||||||
|
misc.o net3.o netslid3.o noicon.res.o palisad3.o pattern7.o \
|
||||||
|
pearl5.o pegs3.o penrose.o printing.o random.o range3.o \
|
||||||
|
rect3.o samegam3.o signpos5.o singles5.o sixteen3.o slant5.o \
|
||||||
|
solo5.o tdq.o tents5.o towers5.o tracks3.o tree234.o \
|
||||||
|
twiddle3.o undead3.o unequal5.o unruly5.o untangl3.o \
|
||||||
|
version.o windows1.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,puzzles.map blackbo3.o \
|
||||||
|
bridges3.o combi.o cube3.o divvy.o dominos3.o drawing.o \
|
||||||
|
dsf.o fifteen5.o filling5.o findloop.o flip3.o flood3.o \
|
||||||
|
galaxie7.o grid.o guess3.o inertia3.o keen5.o latin.o \
|
||||||
|
laydomino.o lightup5.o list.o loopgen.o loopy5.o magnets5.o \
|
||||||
|
malloc.o map5.o maxflow.o midend.o mines5.o misc.o net3.o \
|
||||||
|
netslid3.o noicon.res.o palisad3.o pattern7.o pearl5.o \
|
||||||
|
pegs3.o penrose.o printing.o random.o range3.o rect3.o \
|
||||||
|
samegam3.o signpos5.o singles5.o sixteen3.o slant5.o solo5.o \
|
||||||
|
tdq.o tents5.o towers5.o tracks3.o tree234.o twiddle3.o \
|
||||||
|
undead3.o unequal5.o unruly5.o untangl3.o version.o \
|
||||||
|
windows1.o -lcomctl32 -lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
range.exe: drawing.o dsf.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o range.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,range.map drawing.o dsf.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
range.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
rect.exe: drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o rect.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,rect.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
rect.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
samegame.exe: drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o samegame.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,samegame.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
samegame.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
signpost.exe: drawing.o dsf.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o signpost.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,signpost.map drawing.o \
|
||||||
|
dsf.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o signpost.o version.o windows.o -lcomctl32 \
|
||||||
|
-lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
signpostsolver.exe: dsf.o malloc.o misc.o nullfe.o random.o signpos2.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,signpostsolver.map dsf.o malloc.o \
|
||||||
|
misc.o nullfe.o random.o signpos2.o
|
||||||
|
|
||||||
|
singles.exe: drawing.o dsf.o latin.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o singles.o tree234.o \
|
||||||
|
version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,singles.map drawing.o \
|
||||||
|
dsf.o latin.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o singles.o tree234.o \
|
||||||
|
version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 -luser32 \
|
||||||
|
-lwinspool
|
||||||
|
|
||||||
|
singlessolver.exe: dsf.o latin.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
singles3.o tree234.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,singlessolver.map dsf.o latin.o \
|
||||||
|
malloc.o maxflow.o misc.o nullfe.o random.o singles3.o \
|
||||||
|
tree234.o
|
||||||
|
|
||||||
|
sixteen.exe: drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o sixteen.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,sixteen.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
sixteen.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
slant.exe: drawing.o dsf.o findloop.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o slant.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,slant.map drawing.o dsf.o \
|
||||||
|
findloop.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o slant.o version.o windows.o -lcomctl32 -lcomdlg32 \
|
||||||
|
-lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
slantsolver.exe: dsf.o findloop.o malloc.o misc.o nullfe.o random.o slant2.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,slantsolver.map dsf.o findloop.o \
|
||||||
|
malloc.o misc.o nullfe.o random.o slant2.o
|
||||||
|
|
||||||
|
solo.exe: divvy.o drawing.o dsf.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o solo.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,solo.map divvy.o drawing.o \
|
||||||
|
dsf.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o solo.o version.o windows.o -lcomctl32 -lcomdlg32 \
|
||||||
|
-lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
solosolver.exe: divvy.o dsf.o malloc.o misc.o nullfe.o random.o solo2.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,solosolver.map divvy.o dsf.o \
|
||||||
|
malloc.o misc.o nullfe.o random.o solo2.o
|
||||||
|
|
||||||
|
tents.exe: drawing.o dsf.o malloc.o maxflow.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o tents.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,tents.map drawing.o dsf.o \
|
||||||
|
malloc.o maxflow.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o tents.o version.o windows.o -lcomctl32 -lcomdlg32 \
|
||||||
|
-lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
tentssolver.exe: dsf.o malloc.o maxflow.o misc.o nullfe.o random.o tents3.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,tentssolver.map dsf.o malloc.o \
|
||||||
|
maxflow.o misc.o nullfe.o random.o tents3.o
|
||||||
|
|
||||||
|
towers.exe: drawing.o latin.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o towers.o tree234.o \
|
||||||
|
version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,towers.map drawing.o \
|
||||||
|
latin.o malloc.o maxflow.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o towers.o tree234.o version.o windows.o \
|
||||||
|
-lcomctl32 -lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
towerssolver.exe: latin6.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
towers2.o tree234.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,towerssolver.map latin6.o malloc.o \
|
||||||
|
maxflow.o misc.o nullfe.o random.o towers2.o tree234.o
|
||||||
|
|
||||||
|
tracks.exe: drawing.o dsf.o findloop.o malloc.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o tracks.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,tracks.map drawing.o dsf.o \
|
||||||
|
findloop.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o tracks.o version.o windows.o -lcomctl32 -lcomdlg32 \
|
||||||
|
-lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
twiddle.exe: drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o twiddle.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,twiddle.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
twiddle.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
undead.exe: drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o undead.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,undead.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
undead.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
unequal.exe: drawing.o latin.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
noicon.res.o printing.o random.o tree234.o unequal.o \
|
||||||
|
version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,unequal.map drawing.o \
|
||||||
|
latin.o malloc.o maxflow.o midend.o misc.o noicon.res.o \
|
||||||
|
printing.o random.o tree234.o unequal.o version.o windows.o \
|
||||||
|
-lcomctl32 -lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
unequalsolver.exe: latin6.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tree234.o unequal2.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,unequalsolver.map latin6.o malloc.o \
|
||||||
|
maxflow.o misc.o nullfe.o random.o tree234.o unequal2.o
|
||||||
|
|
||||||
|
unruly.exe: drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o unruly.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,unruly.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
unruly.o version.o windows.o -lcomctl32 -lcomdlg32 -lgdi32 \
|
||||||
|
-luser32 -lwinspool
|
||||||
|
|
||||||
|
unrulysolver.exe: malloc.o misc.o nullfe.o random.o unruly2.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ -Wl,-Map,unrulysolver.map malloc.o misc.o \
|
||||||
|
nullfe.o random.o unruly2.o
|
||||||
|
|
||||||
|
untangle.exe: drawing.o malloc.o midend.o misc.o noicon.res.o printing.o \
|
||||||
|
random.o tree234.o untangle.o version.o windows.o
|
||||||
|
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,untangle.map drawing.o \
|
||||||
|
malloc.o midend.o misc.o noicon.res.o printing.o random.o \
|
||||||
|
tree234.o untangle.o version.o windows.o -lcomctl32 \
|
||||||
|
-lcomdlg32 -lgdi32 -luser32 -lwinspool
|
||||||
|
|
||||||
|
blackbox.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
blackbo3.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
bridges.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
bridges3.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
combi.o: ./combi.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube3.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
divvy.o: ./divvy.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominosa.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominos3.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
drawing.o: ./drawing.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dsf.o: ./dsf.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen5.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
fifteen2.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
filling.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
filling5.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
filling2.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
findloop.o: ./findloop.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip3.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
flood.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flood3.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxies.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
galaxie7.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxie4.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
galaxie2.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
grid.o: ./grid.c ./puzzles.h ./tree234.h ./grid.h ./penrose.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
gtk.o: ./gtk.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess3.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
inertia.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
inertia3.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
keen5.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen2.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
latin.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
latin8.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_LATIN_TEST -c $< -o $@
|
||||||
|
latin6.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
laydomino.o: ./laydomino.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup5.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
lightup2.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
list.o: ./list.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopgen.o: ./loopgen.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy5.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
loopy2.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
magnets.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
magnets5.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
magnets2.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
malloc.o: ./malloc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map5.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
map2.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
maxflow.o: ./maxflow.c ./maxflow.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
midend.o: ./midend.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines5.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
mines2.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_OBFUSCATOR -c $< -o $@
|
||||||
|
misc.o: ./misc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net3.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
netslide.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
netslid3.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
no-icon.o: ./no-icon.c
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
noicon.res.o: ./noicon.rc ./puzzles.rc2 ./resource.h
|
||||||
|
$(RC) $(FWHACK) $(RCFL) $(RCFLAGS) $< $@
|
||||||
|
nullfe.o: ./nullfe.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullgame.o: ./nullgame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
obfusc.o: ./obfusc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
osx.o: ./osx.m ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisade.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisad3.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pattern7.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern4.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
pattern2.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pearl.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pearl5.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pearl2.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pegs.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pegs3.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
penrose.o: ./penrose.c ./puzzles.h ./penrose.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
printing.o: ./printing.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
ps.o: ./ps.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
random.o: ./random.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range3.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
rect.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
rect3.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
samegame.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
samegam3.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpost.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
signpos5.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpos2.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
singles.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
singles5.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
singles3.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
sixteen.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
sixteen3.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
slant5.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant2.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
solo.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
solo5.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
solo2.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tdq.o: ./tdq.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents5.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tents3.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
towers.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
towers5.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
towers2.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tracks.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tracks3.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tree234.o: ./tree234.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle3.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
undead.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
undead3.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unequal5.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal2.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
unruly.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unruly5.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unruly2.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
untangle.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
untangl3.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
version.o: ./version.c ./version.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows1.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o *.exe *.res.o *.map
|
||||||
|
|
||||||
497
apps/plugins/puzzles/src/Makefile.emcc
Normal file
497
apps/plugins/puzzles/src/Makefile.emcc
Normal file
|
|
@ -0,0 +1,497 @@
|
||||||
|
# Makefile for puzzles using Emscripten. Requires GNU make.
|
||||||
|
#
|
||||||
|
# This file was created by `mkfiles.pl' from the `Recipe' file.
|
||||||
|
# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.
|
||||||
|
|
||||||
|
# This can be set on the command line to point at the emcc command,
|
||||||
|
# if it is not on your PATH.
|
||||||
|
EMCC = emcc
|
||||||
|
|
||||||
|
CFLAGS = -DSLOW_SYSTEM -I./ -Iicons/
|
||||||
|
|
||||||
|
all: $(OUTPREFIX)blackbox.js $(OUTPREFIX)bridges.js $(OUTPREFIX)cube.js \
|
||||||
|
$(OUTPREFIX)dominosa.js $(OUTPREFIX)fifteen.js \
|
||||||
|
$(OUTPREFIX)filling.js $(OUTPREFIX)flip.js \
|
||||||
|
$(OUTPREFIX)flood.js $(OUTPREFIX)galaxies.js \
|
||||||
|
$(OUTPREFIX)guess.js $(OUTPREFIX)inertia.js \
|
||||||
|
$(OUTPREFIX)keen.js $(OUTPREFIX)lightup.js \
|
||||||
|
$(OUTPREFIX)loopy.js $(OUTPREFIX)magnets.js \
|
||||||
|
$(OUTPREFIX)map.js $(OUTPREFIX)mines.js $(OUTPREFIX)net.js \
|
||||||
|
$(OUTPREFIX)netslide.js $(OUTPREFIX)nullgame.js \
|
||||||
|
$(OUTPREFIX)palisade.js $(OUTPREFIX)pattern.js \
|
||||||
|
$(OUTPREFIX)pearl.js $(OUTPREFIX)pegs.js \
|
||||||
|
$(OUTPREFIX)range.js $(OUTPREFIX)rect.js \
|
||||||
|
$(OUTPREFIX)samegame.js $(OUTPREFIX)signpost.js \
|
||||||
|
$(OUTPREFIX)singles.js $(OUTPREFIX)sixteen.js \
|
||||||
|
$(OUTPREFIX)slant.js $(OUTPREFIX)solo.js \
|
||||||
|
$(OUTPREFIX)tents.js $(OUTPREFIX)towers.js \
|
||||||
|
$(OUTPREFIX)tracks.js $(OUTPREFIX)twiddle.js \
|
||||||
|
$(OUTPREFIX)undead.js $(OUTPREFIX)unequal.js \
|
||||||
|
$(OUTPREFIX)unruly.js $(OUTPREFIX)untangle.js
|
||||||
|
|
||||||
|
$(OUTPREFIX)blackbox.js: blackbox.o drawing.o emcc.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)blackbox.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" blackbox.o drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)bridges.js: bridges.o drawing.o dsf.o findloop.o emcc.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)bridges.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" bridges.o drawing.o dsf.o findloop.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)cube.js: cube.o drawing.o emcc.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)cube.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" cube.o drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)dominosa.js: dominosa.o drawing.o emcc.o laydomino.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)dominosa.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" dominosa.o drawing.o emcc.o laydomino.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)fifteen.js: drawing.o fifteen.o emcc.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)fifteen.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o fifteen.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)filling.js: drawing.o dsf.o filling.o emcc.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)filling.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o filling.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)flip.js: drawing.o flip.o emcc.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tree234.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)flip.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o flip.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)flood.js: drawing.o flood.o emcc.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)flood.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o flood.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)galaxies.js: drawing.o dsf.o galaxies.o emcc.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)galaxies.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o galaxies.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)guess.js: drawing.o emcc.o guess.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)guess.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o guess.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)inertia.js: drawing.o emcc.o inertia.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)inertia.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o inertia.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)keen.js: drawing.o dsf.o emcc.o keen.o latin.o malloc.o \
|
||||||
|
maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
tree234.o version.o emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)keen.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o emcc.o keen.o latin.o malloc.o maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)lightup.js: combi.o drawing.o emcc.o lightup.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)lightup.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" combi.o drawing.o emcc.o lightup.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)loopy.js: drawing.o dsf.o grid.o emcc.o loopgen.o loopy.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o penrose.o printing.o ps.o \
|
||||||
|
random.o tree234.o version.o emccpre.js emcclib.js \
|
||||||
|
emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)loopy.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o grid.o emcc.o loopgen.o loopy.o malloc.o midend.o misc.o no-icon.o penrose.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)magnets.js: drawing.o emcc.o laydomino.o magnets.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)magnets.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o laydomino.o magnets.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)map.js: drawing.o dsf.o emcc.o malloc.o map.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)map.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o emcc.o malloc.o map.o midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)mines.js: drawing.o emcc.o malloc.o midend.o mines.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tree234.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)mines.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o mines.o misc.o no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)net.js: drawing.o dsf.o findloop.o emcc.o malloc.o midend.o \
|
||||||
|
misc.o net.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)net.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o findloop.o emcc.o malloc.o midend.o misc.o net.o no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)netslide.js: drawing.o emcc.o malloc.o midend.o misc.o \
|
||||||
|
netslide.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)netslide.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o netslide.o no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)nullgame.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
nullgame.o printing.o ps.o random.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)nullgame.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o nullgame.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)palisade.js: divvy.o drawing.o dsf.o emcc.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o palisade.o printing.o ps.o random.o \
|
||||||
|
version.o emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)palisade.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" divvy.o drawing.o dsf.o emcc.o malloc.o midend.o misc.o no-icon.o palisade.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)pattern.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
pattern.o printing.o ps.o random.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)pattern.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o pattern.o printing.o ps.o random.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)pearl.js: drawing.o dsf.o grid.o emcc.o loopgen.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o pearl.o penrose.o printing.o ps.o \
|
||||||
|
random.o tdq.o tree234.o version.o emccpre.js emcclib.js \
|
||||||
|
emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)pearl.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o grid.o emcc.o loopgen.o malloc.o midend.o misc.o no-icon.o pearl.o penrose.o printing.o ps.o random.o tdq.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)pegs.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
pegs.o printing.o ps.o random.o tree234.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)pegs.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o pegs.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)range.js: drawing.o dsf.o emcc.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o range.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)range.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o range.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)rect.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o rect.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)rect.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o rect.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)samegame.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o samegame.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)samegame.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o samegame.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)signpost.js: drawing.o dsf.o emcc.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o signpost.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)signpost.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o signpost.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)singles.js: drawing.o dsf.o emcc.o latin.o malloc.o maxflow.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o singles.o \
|
||||||
|
tree234.o version.o emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)singles.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o emcc.o latin.o malloc.o maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o singles.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)sixteen.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o sixteen.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)sixteen.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o sixteen.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)slant.js: drawing.o dsf.o findloop.o emcc.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o slant.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)slant.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o findloop.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o slant.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)solo.js: divvy.o drawing.o dsf.o emcc.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o solo.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)solo.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" divvy.o drawing.o dsf.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o solo.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)tents.js: drawing.o dsf.o emcc.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tents.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)tents.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o emcc.o malloc.o maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o tents.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)towers.js: drawing.o emcc.o latin.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o towers.o tree234.o \
|
||||||
|
version.o emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)towers.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o latin.o malloc.o maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o towers.o tree234.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)tracks.js: drawing.o dsf.o findloop.o emcc.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tracks.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)tracks.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o dsf.o findloop.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o tracks.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)twiddle.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o twiddle.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)twiddle.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o twiddle.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)undead.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o undead.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)undead.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o undead.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)unequal.js: drawing.o emcc.o latin.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
unequal.o version.o emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)unequal.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o latin.o malloc.o maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o tree234.o unequal.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)unruly.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o unruly.o version.o emccpre.js \
|
||||||
|
emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)unruly.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o unruly.o version.o
|
||||||
|
|
||||||
|
$(OUTPREFIX)untangle.js: drawing.o emcc.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o tree234.o untangle.o version.o \
|
||||||
|
emccpre.js emcclib.js emccx.json
|
||||||
|
$(EMCC) -o $(OUTPREFIX)untangle.js -O2 -s ASM_JS=1 --pre-js emccpre.js --js-library emcclib.js -s EXPORTED_FUNCTIONS="`sed 's://.*::' emccx.json | tr -d ' \n'`" drawing.o emcc.o malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o tree234.o untangle.o version.o
|
||||||
|
|
||||||
|
blackbox.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
blackbo3.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
bridges.o: ./bridges.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
bridges3.o: ./bridges.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
combi.o: ./combi.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube.o: ./cube.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube3.o: ./cube.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
divvy.o: ./divvy.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominosa.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominos3.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
drawing.o: ./drawing.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dsf.o: ./dsf.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen5.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
fifteen2.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
filling.o: ./filling.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
filling5.o: ./filling.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
filling2.o: ./filling.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
findloop.o: ./findloop.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip3.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
flood.o: ./flood.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flood3.o: ./flood.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxies.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
galaxie7.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxie4.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
galaxie2.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
grid.o: ./grid.c ./puzzles.h ./tree234.h ./grid.h ./penrose.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
emcc.o: ./emcc.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess.o: ./guess.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess3.o: ./guess.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
inertia.o: ./inertia.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
inertia3.o: ./inertia.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
keen5.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen2.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
latin.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
latin8.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_LATIN_TEST -c $< -o $@
|
||||||
|
latin6.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
laydomino.o: ./laydomino.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup.o: ./lightup.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup5.o: ./lightup.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
lightup2.o: ./lightup.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
list.o: ./list.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopgen.o: ./loopgen.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy5.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
loopy2.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
magnets.o: ./magnets.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
magnets5.o: ./magnets.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
magnets2.o: ./magnets.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
malloc.o: ./malloc.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map.o: ./map.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map5.o: ./map.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
map2.o: ./map.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
maxflow.o: ./maxflow.c ./maxflow.h ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
midend.o: ./midend.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines5.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
mines2.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_OBFUSCATOR -c $< -o $@
|
||||||
|
misc.o: ./misc.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net3.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
netslide.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
netslid3.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
no-icon.o: ./no-icon.c
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullfe.o: ./nullfe.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullgame.o: ./nullgame.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
obfusc.o: ./obfusc.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
osx.o: ./osx.m ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisade.o: ./palisade.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisad3.o: ./palisade.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern.o: ./pattern.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pattern7.o: ./pattern.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern4.o: ./pattern.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
pattern2.o: ./pattern.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pearl.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pearl5.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pearl2.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pegs.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pegs3.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
penrose.o: ./penrose.c ./puzzles.h ./penrose.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
printing.o: ./printing.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
ps.o: ./ps.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
random.o: ./random.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range.o: ./range.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range3.o: ./range.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
rect.o: ./rect.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
rect3.o: ./rect.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
samegame.o: ./samegame.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
samegam3.o: ./samegame.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpost.o: ./signpost.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
signpos5.o: ./signpost.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpos2.o: ./signpost.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
singles.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
singles5.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
singles3.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
sixteen.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
sixteen3.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant.o: ./slant.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
slant5.o: ./slant.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant2.o: ./slant.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
solo.o: ./solo.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
solo5.o: ./solo.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
solo2.o: ./solo.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tdq.o: ./tdq.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents5.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tents3.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
towers.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
towers5.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
towers2.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tracks.o: ./tracks.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tracks3.o: ./tracks.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tree234.o: ./tree234.c ./tree234.h ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle3.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
undead.o: ./undead.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
undead3.o: ./undead.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unequal5.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal2.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
unruly.o: ./unruly.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unruly5.o: ./unruly.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unruly2.o: ./unruly.c ./puzzles.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
untangle.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
untangl3.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
version.o: ./version.c ./version.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows1.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(EMCC) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf *.o $(OUTPREFIX)blackbox.js $(OUTPREFIX)bridges.js $(OUTPREFIX)cube.js $(OUTPREFIX)dominosa.js $(OUTPREFIX)fifteen.js $(OUTPREFIX)filling.js $(OUTPREFIX)flip.js $(OUTPREFIX)flood.js $(OUTPREFIX)galaxies.js $(OUTPREFIX)guess.js $(OUTPREFIX)inertia.js $(OUTPREFIX)keen.js $(OUTPREFIX)lightup.js $(OUTPREFIX)loopy.js $(OUTPREFIX)magnets.js $(OUTPREFIX)map.js $(OUTPREFIX)mines.js $(OUTPREFIX)net.js $(OUTPREFIX)netslide.js $(OUTPREFIX)nullgame.js $(OUTPREFIX)palisade.js $(OUTPREFIX)pattern.js $(OUTPREFIX)pearl.js $(OUTPREFIX)pegs.js $(OUTPREFIX)range.js $(OUTPREFIX)rect.js $(OUTPREFIX)samegame.js $(OUTPREFIX)signpost.js $(OUTPREFIX)singles.js $(OUTPREFIX)sixteen.js $(OUTPREFIX)slant.js $(OUTPREFIX)solo.js $(OUTPREFIX)tents.js $(OUTPREFIX)towers.js $(OUTPREFIX)tracks.js $(OUTPREFIX)twiddle.js $(OUTPREFIX)undead.js $(OUTPREFIX)unequal.js $(OUTPREFIX)unruly.js $(OUTPREFIX)untangle.js
|
||||||
412
apps/plugins/puzzles/src/Makefile.gnustep
Normal file
412
apps/plugins/puzzles/src/Makefile.gnustep
Normal file
|
|
@ -0,0 +1,412 @@
|
||||||
|
# Makefile for puzzles under GNUstep.
|
||||||
|
#
|
||||||
|
# This file was created by `mkfiles.pl' from the `Recipe' file.
|
||||||
|
# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.
|
||||||
|
NEEDS_GUI=yes
|
||||||
|
include $(GNUSTEP_MAKEFILES)/common.make
|
||||||
|
include $(GNUSTEP_MAKEFILES)/rules.make
|
||||||
|
include $(GNUSTEP_MAKEFILES)/Instance/rules.make
|
||||||
|
|
||||||
|
all:: Puzzles fifteensolver fillingsolver galaxiespicture galaxiessolver \
|
||||||
|
keensolver latincheck lightupsolver loopysolver \
|
||||||
|
magnetssolver mapsolver mineobfusc obfusc patternpicture \
|
||||||
|
patternsolver pearlbench signpostsolver singlessolver \
|
||||||
|
slantsolver solosolver tentssolver towerssolver \
|
||||||
|
unequalsolver unrulysolver
|
||||||
|
|
||||||
|
.SUFFIXES: .o .c .m
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Puzzles.app:
|
||||||
|
mkdir -p $@
|
||||||
|
Puzzles.app/Resources: Puzzles.app
|
||||||
|
mkdir -p $@
|
||||||
|
Puzzles.app/Resources/Puzzles.icns: Puzzles.app/Resources osx.icns
|
||||||
|
cp osx.icns $@
|
||||||
|
Puzzles.app/Info.plist: Puzzles.app osx-info.plist
|
||||||
|
cp osx-info.plist $@
|
||||||
|
Puzzles: Puzzles.app Puzzles.app/Puzzles \
|
||||||
|
Puzzles.app/Resources/Puzzles.icns Puzzles.app/Info.plist \
|
||||||
|
$(Puzzles_extra)
|
||||||
|
|
||||||
|
Puzzles.app/Puzzles: blackbo3.o bridges3.o combi.o cube3.o divvy.o \
|
||||||
|
dominos3.o drawing.o dsf.o fifteen5.o filling5.o findloop.o \
|
||||||
|
flip3.o flood3.o galaxie7.o grid.o guess3.o inertia3.o \
|
||||||
|
keen5.o latin.o laydomino.o lightup5.o list.o loopgen.o \
|
||||||
|
loopy5.o magnets5.o malloc.o map5.o maxflow.o midend.o \
|
||||||
|
mines5.o misc.o net3.o netslid3.o osx.o palisad3.o \
|
||||||
|
pattern7.o pearl5.o pegs3.o penrose.o random.o range3.o \
|
||||||
|
rect3.o samegam3.o signpos5.o singles5.o sixteen3.o slant5.o \
|
||||||
|
solo5.o tdq.o tents5.o towers5.o tracks3.o tree234.o \
|
||||||
|
twiddle3.o undead3.o unequal5.o unruly5.o untangl3.o \
|
||||||
|
version.o
|
||||||
|
$(CC) $(ALL_LDFLAGS) -o $@ blackbo3.o bridges3.o combi.o cube3.o \
|
||||||
|
divvy.o dominos3.o drawing.o dsf.o fifteen5.o filling5.o \
|
||||||
|
findloop.o flip3.o flood3.o galaxie7.o grid.o guess3.o \
|
||||||
|
inertia3.o keen5.o latin.o laydomino.o lightup5.o list.o \
|
||||||
|
loopgen.o loopy5.o magnets5.o malloc.o map5.o maxflow.o \
|
||||||
|
midend.o mines5.o misc.o net3.o netslid3.o osx.o palisad3.o \
|
||||||
|
pattern7.o pearl5.o pegs3.o penrose.o random.o range3.o \
|
||||||
|
rect3.o samegam3.o signpos5.o singles5.o sixteen3.o slant5.o \
|
||||||
|
solo5.o tdq.o tents5.o towers5.o tracks3.o tree234.o \
|
||||||
|
twiddle3.o undead3.o unequal5.o unruly5.o untangl3.o \
|
||||||
|
version.o $(ALL_LIB_DIRS) $(ALL_LIBS)
|
||||||
|
|
||||||
|
fifteensolver: fifteen2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ fifteen2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
|
||||||
|
fillingsolver: dsf.o filling2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o filling2.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o
|
||||||
|
|
||||||
|
galaxiespicture: dsf.o galaxie4.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o galaxie4.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o -lm
|
||||||
|
|
||||||
|
galaxiessolver: dsf.o galaxie2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o galaxie2.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o -lm
|
||||||
|
|
||||||
|
keensolver: dsf.o keen2.o latin6.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o tree234.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o keen2.o latin6.o malloc.o maxflow.o \
|
||||||
|
misc.o nullfe.o random.o tree234.o
|
||||||
|
|
||||||
|
latincheck: latin8.o malloc.o maxflow.o misc.o nullfe.o random.o tree234.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ latin8.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o tree234.o
|
||||||
|
|
||||||
|
lightupsolver: combi.o lightup2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ combi.o lightup2.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o
|
||||||
|
|
||||||
|
loopysolver: dsf.o grid.o loopgen.o loopy2.o malloc.o misc.o nullfe.o \
|
||||||
|
penrose.o random.o tree234.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o grid.o loopgen.o loopy2.o malloc.o \
|
||||||
|
misc.o nullfe.o penrose.o random.o tree234.o -lm
|
||||||
|
|
||||||
|
magnetssolver: laydomino.o magnets2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ laydomino.o magnets2.o malloc.o misc.o \
|
||||||
|
nullfe.o random.o -lm
|
||||||
|
|
||||||
|
mapsolver: dsf.o malloc.o map2.o misc.o nullfe.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o malloc.o map2.o misc.o nullfe.o \
|
||||||
|
random.o -lm
|
||||||
|
|
||||||
|
mineobfusc: malloc.o mines2.o misc.o nullfe.o random.o tree234.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ malloc.o mines2.o misc.o nullfe.o random.o \
|
||||||
|
tree234.o
|
||||||
|
|
||||||
|
obfusc: malloc.o misc.o nullfe.o obfusc.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ malloc.o misc.o nullfe.o obfusc.o random.o
|
||||||
|
|
||||||
|
patternpicture: malloc.o misc.o nullfe.o pattern4.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ malloc.o misc.o nullfe.o pattern4.o random.o
|
||||||
|
|
||||||
|
patternsolver: malloc.o misc.o nullfe.o pattern2.o random.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ malloc.o misc.o nullfe.o pattern2.o random.o
|
||||||
|
|
||||||
|
pearlbench: dsf.o grid.o loopgen.o malloc.o misc.o nullfe.o pearl2.o \
|
||||||
|
penrose.o random.o tdq.o tree234.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o grid.o loopgen.o malloc.o misc.o \
|
||||||
|
nullfe.o pearl2.o penrose.o random.o tdq.o tree234.o -lm
|
||||||
|
|
||||||
|
signpostsolver: dsf.o malloc.o misc.o nullfe.o random.o signpos2.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o malloc.o misc.o nullfe.o random.o \
|
||||||
|
signpos2.o -lm
|
||||||
|
|
||||||
|
singlessolver: dsf.o latin.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
singles3.o tree234.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o latin.o malloc.o maxflow.o misc.o \
|
||||||
|
nullfe.o random.o singles3.o tree234.o
|
||||||
|
|
||||||
|
slantsolver: dsf.o findloop.o malloc.o misc.o nullfe.o random.o slant2.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o findloop.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o slant2.o
|
||||||
|
|
||||||
|
solosolver: divvy.o dsf.o malloc.o misc.o nullfe.o random.o solo2.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ divvy.o dsf.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o solo2.o
|
||||||
|
|
||||||
|
tentssolver: dsf.o malloc.o maxflow.o misc.o nullfe.o random.o tents3.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ dsf.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o tents3.o
|
||||||
|
|
||||||
|
towerssolver: latin6.o malloc.o maxflow.o misc.o nullfe.o random.o towers2.o \
|
||||||
|
tree234.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ latin6.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o towers2.o tree234.o
|
||||||
|
|
||||||
|
unequalsolver: latin6.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tree234.o unequal2.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ latin6.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o tree234.o unequal2.o
|
||||||
|
|
||||||
|
unrulysolver: malloc.o misc.o nullfe.o random.o unruly2.o
|
||||||
|
$(CC) $(ULDFLAGS) -o $@ malloc.o misc.o nullfe.o random.o unruly2.o
|
||||||
|
|
||||||
|
blackbox.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
blackbo3.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
bridges.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
bridges3.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
combi.o: ./combi.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube3.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
divvy.o: ./divvy.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominosa.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominos3.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
drawing.o: ./drawing.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dsf.o: ./dsf.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen5.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
fifteen2.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
filling.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
filling5.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
filling2.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
findloop.o: ./findloop.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip3.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
flood.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flood3.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxies.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
galaxie7.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxie4.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
galaxie2.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
grid.o: ./grid.c ./puzzles.h ./tree234.h ./grid.h ./penrose.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
gtk.o: ./gtk.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess3.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
inertia.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
inertia3.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
keen5.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen2.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
latin.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
latin8.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_LATIN_TEST -c $< -o $@
|
||||||
|
latin6.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
laydomino.o: ./laydomino.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup5.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
lightup2.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
list.o: ./list.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopgen.o: ./loopgen.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy5.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
loopy2.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
magnets.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
magnets5.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
magnets2.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
malloc.o: ./malloc.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map5.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
map2.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
maxflow.o: ./maxflow.c ./maxflow.h ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
midend.o: ./midend.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines5.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
mines2.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_OBFUSCATOR -c $< -o $@
|
||||||
|
misc.o: ./misc.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net3.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
netslide.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
netslid3.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
no-icon.o: ./no-icon.c
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullfe.o: ./nullfe.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullgame.o: ./nullgame.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
obfusc.o: ./obfusc.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
osx.o: ./osx.m ./puzzles.h
|
||||||
|
$(CC) -DGNUSTEP $(ALL_OBJCFLAGS) $(COMPAT) $(FWHACK) $(OBJCFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisade.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisad3.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pattern7.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern4.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
pattern2.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pearl.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pearl5.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pearl2.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pegs.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pegs3.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
penrose.o: ./penrose.c ./puzzles.h ./penrose.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
printing.o: ./printing.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
ps.o: ./ps.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
random.o: ./random.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range3.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
rect.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
rect3.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
samegame.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
samegam3.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpost.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
signpos5.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpos2.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
singles.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
singles5.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
singles3.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
sixteen.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
sixteen3.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
slant5.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant2.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
solo.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
solo5.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
solo2.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tdq.o: ./tdq.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents5.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tents3.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
towers.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
towers5.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
towers2.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tracks.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tracks3.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tree234.o: ./tree234.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle3.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
undead.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
undead3.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unequal5.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal2.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
unruly.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unruly5.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unruly2.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
untangle.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
untangl3.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
version.o: ./version.c ./version.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows1.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) $(ALL_CFLAGS) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
|
||||||
|
clean::
|
||||||
|
rm -f *.o fifteensolver fillingsolver galaxiespicture galaxiessolver keensolver latincheck lightupsolver loopysolver magnetssolver mapsolver mineobfusc obfusc patternpicture patternsolver pearlbench signpostsolver singlessolver slantsolver solosolver tentssolver towerssolver unequalsolver unrulysolver
|
||||||
|
rm -rf *.app
|
||||||
727
apps/plugins/puzzles/src/Makefile.gtk
Normal file
727
apps/plugins/puzzles/src/Makefile.gtk
Normal file
|
|
@ -0,0 +1,727 @@
|
||||||
|
# Makefile for puzzles under X/GTK and Unix.
|
||||||
|
#
|
||||||
|
# This file was created by `mkfiles.pl' from the `Recipe' file.
|
||||||
|
# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.
|
||||||
|
|
||||||
|
# You can define this path to point at your tools if you need to
|
||||||
|
# TOOLPATH = /opt/gcc/bin
|
||||||
|
CC := $(TOOLPATH)$(CC)
|
||||||
|
# You can manually set this to `gtk-config' or `pkg-config gtk+-1.2'
|
||||||
|
# (depending on what works on your system) if you want to enforce
|
||||||
|
# building with GTK 1.2, or you can set it to `pkg-config gtk+-2.0'
|
||||||
|
# if you want to enforce 2.0. The default is to try 2.0 and fall back
|
||||||
|
# to 1.2 if it isn't found.
|
||||||
|
GTK_CONFIG = sh -c 'pkg-config gtk+-2.0 $$0 2>/dev/null || gtk-config $$0'
|
||||||
|
|
||||||
|
CFLAGS := -O2 -Wall -Werror -ansi -pedantic -g -I./ -Iicons/ `$(GTK_CONFIG) \
|
||||||
|
--cflags` $(CFLAGS)
|
||||||
|
XLIBS = `$(GTK_CONFIG) --libs` -lm
|
||||||
|
ULIBS = -lm#
|
||||||
|
INSTALL=install
|
||||||
|
INSTALL_PROGRAM=$(INSTALL)
|
||||||
|
INSTALL_DATA=$(INSTALL)
|
||||||
|
prefix=/usr/local
|
||||||
|
exec_prefix=$(prefix)
|
||||||
|
bindir=$(exec_prefix)/bin
|
||||||
|
gamesdir=$(exec_prefix)/games
|
||||||
|
mandir=$(prefix)/man
|
||||||
|
man1dir=$(mandir)/man1
|
||||||
|
|
||||||
|
all: $(BINPREFIX)blackbox $(BINPREFIX)bridges $(BINPREFIX)cube \
|
||||||
|
$(BINPREFIX)dominosa $(BINPREFIX)fifteen \
|
||||||
|
$(BINPREFIX)fifteensolver $(BINPREFIX)filling \
|
||||||
|
$(BINPREFIX)fillingsolver $(BINPREFIX)flip $(BINPREFIX)flood \
|
||||||
|
$(BINPREFIX)galaxies $(BINPREFIX)galaxiespicture \
|
||||||
|
$(BINPREFIX)galaxiessolver $(BINPREFIX)guess \
|
||||||
|
$(BINPREFIX)inertia $(BINPREFIX)keen $(BINPREFIX)keensolver \
|
||||||
|
$(BINPREFIX)latincheck $(BINPREFIX)lightup \
|
||||||
|
$(BINPREFIX)lightupsolver $(BINPREFIX)loopy \
|
||||||
|
$(BINPREFIX)loopysolver $(BINPREFIX)magnets \
|
||||||
|
$(BINPREFIX)magnetssolver $(BINPREFIX)map \
|
||||||
|
$(BINPREFIX)mapsolver $(BINPREFIX)mineobfusc \
|
||||||
|
$(BINPREFIX)mines $(BINPREFIX)net $(BINPREFIX)netslide \
|
||||||
|
$(BINPREFIX)nullgame $(BINPREFIX)obfusc $(BINPREFIX)palisade \
|
||||||
|
$(BINPREFIX)pattern $(BINPREFIX)patternpicture \
|
||||||
|
$(BINPREFIX)patternsolver $(BINPREFIX)pearl \
|
||||||
|
$(BINPREFIX)pearlbench $(BINPREFIX)pegs $(BINPREFIX)range \
|
||||||
|
$(BINPREFIX)rect $(BINPREFIX)samegame $(BINPREFIX)signpost \
|
||||||
|
$(BINPREFIX)signpostsolver $(BINPREFIX)singles \
|
||||||
|
$(BINPREFIX)singlessolver $(BINPREFIX)sixteen \
|
||||||
|
$(BINPREFIX)slant $(BINPREFIX)slantsolver $(BINPREFIX)solo \
|
||||||
|
$(BINPREFIX)solosolver $(BINPREFIX)tents \
|
||||||
|
$(BINPREFIX)tentssolver $(BINPREFIX)towers \
|
||||||
|
$(BINPREFIX)towerssolver $(BINPREFIX)tracks \
|
||||||
|
$(BINPREFIX)twiddle $(BINPREFIX)undead $(BINPREFIX)unequal \
|
||||||
|
$(BINPREFIX)unequalsolver $(BINPREFIX)unruly \
|
||||||
|
$(BINPREFIX)unrulysolver $(BINPREFIX)untangle
|
||||||
|
|
||||||
|
$(BINPREFIX)blackbox: blackbox.o drawing.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ blackbox.o drawing.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)bridges: bridges.o drawing.o dsf.o findloop.o gtk.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ bridges.o drawing.o dsf.o findloop.o gtk.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)cube: cube.o drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ cube.o drawing.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)dominosa: dominosa.o drawing.o gtk.o laydomino.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ dominosa.o drawing.o gtk.o laydomino.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)fifteen: drawing.o fifteen.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o fifteen.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)fifteensolver: fifteen2.o malloc.o misc.o nullfe.o random.o
|
||||||
|
$(CC) -o $@ fifteen2.o malloc.o misc.o nullfe.o random.o $(XLFLAGS) \
|
||||||
|
$(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)filling: drawing.o dsf.o filling.o gtk.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o filling.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)fillingsolver: dsf.o filling2.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o
|
||||||
|
$(CC) -o $@ dsf.o filling2.o malloc.o misc.o nullfe.o random.o \
|
||||||
|
$(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)flip: drawing.o flip.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) -o $@ drawing.o flip.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tree234.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)flood: drawing.o flood.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o flood.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)galaxies: drawing.o dsf.o galaxies.o gtk.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o galaxies.o gtk.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)galaxiespicture: dsf.o galaxie4.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o
|
||||||
|
$(CC) -o $@ dsf.o galaxie4.o malloc.o misc.o nullfe.o random.o -lm \
|
||||||
|
$(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)galaxiessolver: dsf.o galaxie2.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o
|
||||||
|
$(CC) -o $@ dsf.o galaxie2.o malloc.o misc.o nullfe.o random.o -lm \
|
||||||
|
$(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)guess: drawing.o gtk.o guess.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o guess.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)inertia: drawing.o gtk.o inertia.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o inertia.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)keen: drawing.o dsf.o gtk.o keen.o latin.o malloc.o maxflow.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o gtk.o keen.o latin.o malloc.o maxflow.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o $(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)keensolver: dsf.o keen2.o latin6.o malloc.o maxflow.o misc.o \
|
||||||
|
nullfe.o random.o tree234.o
|
||||||
|
$(CC) -o $@ dsf.o keen2.o latin6.o malloc.o maxflow.o misc.o \
|
||||||
|
nullfe.o random.o tree234.o $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)latincheck: latin8.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tree234.o
|
||||||
|
$(CC) -o $@ latin8.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tree234.o $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)lightup: combi.o drawing.o gtk.o lightup.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ combi.o drawing.o gtk.o lightup.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)lightupsolver: combi.o lightup2.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o
|
||||||
|
$(CC) -o $@ combi.o lightup2.o malloc.o misc.o nullfe.o random.o \
|
||||||
|
$(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)loopy: drawing.o dsf.o grid.o gtk.o loopgen.o loopy.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o penrose.o printing.o ps.o random.o \
|
||||||
|
tree234.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o grid.o gtk.o loopgen.o loopy.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o penrose.o printing.o ps.o random.o \
|
||||||
|
tree234.o version.o $(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)loopysolver: dsf.o grid.o loopgen.o loopy2.o malloc.o misc.o \
|
||||||
|
nullfe.o penrose.o random.o tree234.o
|
||||||
|
$(CC) -o $@ dsf.o grid.o loopgen.o loopy2.o malloc.o misc.o nullfe.o \
|
||||||
|
penrose.o random.o tree234.o -lm $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)magnets: drawing.o gtk.o laydomino.o magnets.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o laydomino.o magnets.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)magnetssolver: laydomino.o magnets2.o malloc.o misc.o nullfe.o \
|
||||||
|
random.o
|
||||||
|
$(CC) -o $@ laydomino.o magnets2.o malloc.o misc.o nullfe.o random.o \
|
||||||
|
-lm $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)map: drawing.o dsf.o gtk.o malloc.o map.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o map.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)mapsolver: dsf.o malloc.o map2.o misc.o nullfe.o random.o
|
||||||
|
$(CC) -o $@ dsf.o malloc.o map2.o misc.o nullfe.o random.o -lm \
|
||||||
|
$(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)mineobfusc: malloc.o mines2.o misc.o nullfe.o random.o tree234.o
|
||||||
|
$(CC) -o $@ malloc.o mines2.o misc.o nullfe.o random.o tree234.o \
|
||||||
|
$(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)mines: drawing.o gtk.o malloc.o midend.o mines.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o mines.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tree234.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)net: drawing.o dsf.o findloop.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
net.o no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o findloop.o gtk.o malloc.o midend.o \
|
||||||
|
misc.o net.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o $(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)netslide: drawing.o gtk.o malloc.o midend.o misc.o netslide.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o netslide.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tree234.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)nullgame: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
nullgame.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
nullgame.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)obfusc: malloc.o misc.o nullfe.o obfusc.o random.o
|
||||||
|
$(CC) -o $@ malloc.o misc.o nullfe.o obfusc.o random.o $(XLFLAGS) \
|
||||||
|
$(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)palisade: divvy.o drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o palisade.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ divvy.o drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o palisade.o printing.o ps.o random.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)pattern: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
pattern.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
pattern.o printing.o ps.o random.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)patternpicture: malloc.o misc.o nullfe.o pattern4.o random.o
|
||||||
|
$(CC) -o $@ malloc.o misc.o nullfe.o pattern4.o random.o $(XLFLAGS) \
|
||||||
|
$(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)patternsolver: malloc.o misc.o nullfe.o pattern2.o random.o
|
||||||
|
$(CC) -o $@ malloc.o misc.o nullfe.o pattern2.o random.o $(XLFLAGS) \
|
||||||
|
$(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)pearl: drawing.o dsf.o grid.o gtk.o loopgen.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o pearl.o penrose.o printing.o ps.o random.o \
|
||||||
|
tdq.o tree234.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o grid.o gtk.o loopgen.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o pearl.o penrose.o printing.o ps.o random.o \
|
||||||
|
tdq.o tree234.o version.o $(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)pearlbench: dsf.o grid.o loopgen.o malloc.o misc.o nullfe.o \
|
||||||
|
pearl2.o penrose.o random.o tdq.o tree234.o
|
||||||
|
$(CC) -o $@ dsf.o grid.o loopgen.o malloc.o misc.o nullfe.o pearl2.o \
|
||||||
|
penrose.o random.o tdq.o tree234.o -lm $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)pegs: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o pegs.o \
|
||||||
|
printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
pegs.o printing.o ps.o random.o tree234.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)range: drawing.o dsf.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o range.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o range.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)rect: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o rect.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o rect.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)samegame: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o samegame.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o samegame.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)signpost: drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o signpost.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o signpost.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)signpostsolver: dsf.o malloc.o misc.o nullfe.o random.o \
|
||||||
|
signpos2.o
|
||||||
|
$(CC) -o $@ dsf.o malloc.o misc.o nullfe.o random.o signpos2.o -lm \
|
||||||
|
$(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)singles: drawing.o dsf.o gtk.o latin.o malloc.o maxflow.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o singles.o \
|
||||||
|
tree234.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o gtk.o latin.o malloc.o maxflow.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o singles.o \
|
||||||
|
tree234.o version.o $(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)singlessolver: dsf.o latin.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o singles3.o tree234.o
|
||||||
|
$(CC) -o $@ dsf.o latin.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o singles3.o tree234.o $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)sixteen: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o sixteen.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o sixteen.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)slant: drawing.o dsf.o findloop.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o slant.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o findloop.o gtk.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o slant.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)slantsolver: dsf.o findloop.o malloc.o misc.o nullfe.o random.o \
|
||||||
|
slant2.o
|
||||||
|
$(CC) -o $@ dsf.o findloop.o malloc.o misc.o nullfe.o random.o \
|
||||||
|
slant2.o $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)solo: divvy.o drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o solo.o version.o
|
||||||
|
$(CC) -o $@ divvy.o drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o solo.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)solosolver: divvy.o dsf.o malloc.o misc.o nullfe.o random.o \
|
||||||
|
solo2.o
|
||||||
|
$(CC) -o $@ divvy.o dsf.o malloc.o misc.o nullfe.o random.o solo2.o \
|
||||||
|
$(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)tents: drawing.o dsf.o gtk.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tents.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tents.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)tentssolver: dsf.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tents3.o
|
||||||
|
$(CC) -o $@ dsf.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tents3.o $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)towers: drawing.o gtk.o latin.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o towers.o tree234.o \
|
||||||
|
version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o latin.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o towers.o tree234.o \
|
||||||
|
version.o $(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)towerssolver: latin6.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o towers2.o tree234.o
|
||||||
|
$(CC) -o $@ latin6.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
towers2.o tree234.o $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)tracks: drawing.o dsf.o findloop.o gtk.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tracks.o version.o
|
||||||
|
$(CC) -o $@ drawing.o dsf.o findloop.o gtk.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tracks.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)twiddle: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o twiddle.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o twiddle.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)undead: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o undead.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o undead.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)unequal: drawing.o gtk.o latin.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
unequal.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o latin.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
unequal.o version.o $(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)unequalsolver: latin6.o malloc.o maxflow.o misc.o nullfe.o \
|
||||||
|
random.o tree234.o unequal2.o
|
||||||
|
$(CC) -o $@ latin6.o malloc.o maxflow.o misc.o nullfe.o random.o \
|
||||||
|
tree234.o unequal2.o $(XLFLAGS) $(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)unruly: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o unruly.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o unruly.o version.o $(XLFLAGS) \
|
||||||
|
$(XLIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)unrulysolver: malloc.o misc.o nullfe.o random.o unruly2.o
|
||||||
|
$(CC) -o $@ malloc.o misc.o nullfe.o random.o unruly2.o $(XLFLAGS) \
|
||||||
|
$(ULIBS)
|
||||||
|
|
||||||
|
$(BINPREFIX)untangle: drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o tree234.o untangle.o version.o
|
||||||
|
$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o tree234.o untangle.o version.o \
|
||||||
|
$(XLFLAGS) $(XLIBS)
|
||||||
|
|
||||||
|
blackbox.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
blackbo3.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
bridges.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
bridges3.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
combi.o: ./combi.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube3.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
divvy.o: ./divvy.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominosa.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominos3.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
drawing.o: ./drawing.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dsf.o: ./dsf.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen5.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
fifteen2.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
filling.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
filling5.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
filling2.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
findloop.o: ./findloop.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip3.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
flood.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flood3.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxies.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
galaxie7.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxie4.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
galaxie2.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
grid.o: ./grid.c ./puzzles.h ./tree234.h ./grid.h ./penrose.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
gtk.o: ./gtk.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess3.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
inertia.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
inertia3.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
keen5.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen2.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
latin.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
latin8.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_LATIN_TEST -c $< -o $@
|
||||||
|
latin6.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
laydomino.o: ./laydomino.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup5.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
lightup2.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
list.o: ./list.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopgen.o: ./loopgen.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy5.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
loopy2.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
magnets.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
magnets5.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
magnets2.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
malloc.o: ./malloc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map5.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
map2.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
maxflow.o: ./maxflow.c ./maxflow.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
midend.o: ./midend.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines5.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
mines2.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_OBFUSCATOR -c $< -o $@
|
||||||
|
misc.o: ./misc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net3.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
netslide.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
netslid3.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
no-icon.o: ./no-icon.c
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullfe.o: ./nullfe.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullgame.o: ./nullgame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
obfusc.o: ./obfusc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
osx.o: ./osx.m ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisade.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisad3.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pattern7.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern4.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
pattern2.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pearl.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pearl5.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pearl2.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pegs.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pegs3.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
penrose.o: ./penrose.c ./puzzles.h ./penrose.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
printing.o: ./printing.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
ps.o: ./ps.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
random.o: ./random.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range3.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
rect.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
rect3.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
samegame.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
samegam3.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpost.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
signpos5.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpos2.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
singles.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
singles5.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
singles3.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
sixteen.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
sixteen3.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
slant5.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant2.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
solo.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
solo5.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
solo2.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tdq.o: ./tdq.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents5.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tents3.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
towers.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
towers5.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
towers2.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tracks.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tracks3.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tree234.o: ./tree234.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle3.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
undead.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
undead3.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unequal5.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal2.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
unruly.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unruly5.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unruly2.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
untangle.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
untangl3.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
version.o: ./version.c ./version.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows1.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
|
||||||
|
GAMES += blackbox
|
||||||
|
GAMES += bridges
|
||||||
|
GAMES += cube
|
||||||
|
GAMES += dominosa
|
||||||
|
GAMES += fifteen
|
||||||
|
GAMES += filling
|
||||||
|
GAMES += flip
|
||||||
|
GAMES += flood
|
||||||
|
GAMES += galaxies
|
||||||
|
GAMES += guess
|
||||||
|
GAMES += inertia
|
||||||
|
GAMES += keen
|
||||||
|
GAMES += lightup
|
||||||
|
GAMES += loopy
|
||||||
|
GAMES += magnets
|
||||||
|
GAMES += map
|
||||||
|
GAMES += mines
|
||||||
|
GAMES += net
|
||||||
|
GAMES += netslide
|
||||||
|
GAMES += palisade
|
||||||
|
GAMES += pattern
|
||||||
|
GAMES += pearl
|
||||||
|
GAMES += pegs
|
||||||
|
GAMES += range
|
||||||
|
GAMES += rect
|
||||||
|
GAMES += samegame
|
||||||
|
GAMES += signpost
|
||||||
|
GAMES += singles
|
||||||
|
GAMES += sixteen
|
||||||
|
GAMES += slant
|
||||||
|
GAMES += solo
|
||||||
|
GAMES += tents
|
||||||
|
GAMES += towers
|
||||||
|
GAMES += tracks
|
||||||
|
GAMES += twiddle
|
||||||
|
GAMES += undead
|
||||||
|
GAMES += unequal
|
||||||
|
GAMES += unruly
|
||||||
|
GAMES += untangle
|
||||||
|
install:
|
||||||
|
for i in $(GAMES); do \
|
||||||
|
$(INSTALL_PROGRAM) -m 755 $(BINPREFIX)$$i $(DESTDIR)$(gamesdir)/$(BINPREFIX)$$i \
|
||||||
|
|| exit 1; \
|
||||||
|
done
|
||||||
|
test: benchmark.html benchmark.txt
|
||||||
|
|
||||||
|
benchmark.html: benchmark.txt benchmark.pl
|
||||||
|
./benchmark.pl benchmark.txt > $@
|
||||||
|
|
||||||
|
benchmark.txt: benchmark.sh $(GAMES)
|
||||||
|
./benchmark.sh > $@
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o $(BINPREFIX)blackbox $(BINPREFIX)bridges $(BINPREFIX)cube $(BINPREFIX)dominosa $(BINPREFIX)fifteen $(BINPREFIX)fifteensolver $(BINPREFIX)filling $(BINPREFIX)fillingsolver $(BINPREFIX)flip $(BINPREFIX)flood $(BINPREFIX)galaxies $(BINPREFIX)galaxiespicture $(BINPREFIX)galaxiessolver $(BINPREFIX)guess $(BINPREFIX)inertia $(BINPREFIX)keen $(BINPREFIX)keensolver $(BINPREFIX)latincheck $(BINPREFIX)lightup $(BINPREFIX)lightupsolver $(BINPREFIX)loopy $(BINPREFIX)loopysolver $(BINPREFIX)magnets $(BINPREFIX)magnetssolver $(BINPREFIX)map $(BINPREFIX)mapsolver $(BINPREFIX)mineobfusc $(BINPREFIX)mines $(BINPREFIX)net $(BINPREFIX)netslide $(BINPREFIX)nullgame $(BINPREFIX)obfusc $(BINPREFIX)palisade $(BINPREFIX)pattern $(BINPREFIX)patternpicture $(BINPREFIX)patternsolver $(BINPREFIX)pearl $(BINPREFIX)pearlbench $(BINPREFIX)pegs $(BINPREFIX)range $(BINPREFIX)rect $(BINPREFIX)samegame $(BINPREFIX)signpost $(BINPREFIX)signpostsolver $(BINPREFIX)singles $(BINPREFIX)singlessolver $(BINPREFIX)sixteen $(BINPREFIX)slant $(BINPREFIX)slantsolver $(BINPREFIX)solo $(BINPREFIX)solosolver $(BINPREFIX)tents $(BINPREFIX)tentssolver $(BINPREFIX)towers $(BINPREFIX)towerssolver $(BINPREFIX)tracks $(BINPREFIX)twiddle $(BINPREFIX)undead $(BINPREFIX)unequal $(BINPREFIX)unequalsolver $(BINPREFIX)unruly $(BINPREFIX)unrulysolver $(BINPREFIX)untangle
|
||||||
2611
apps/plugins/puzzles/src/Makefile.in
Normal file
2611
apps/plugins/puzzles/src/Makefile.in
Normal file
File diff suppressed because it is too large
Load diff
556
apps/plugins/puzzles/src/Makefile.nestedvm
Normal file
556
apps/plugins/puzzles/src/Makefile.nestedvm
Normal file
|
|
@ -0,0 +1,556 @@
|
||||||
|
# Makefile for puzzles under NestedVM.
|
||||||
|
#
|
||||||
|
# This file was created by `mkfiles.pl' from the `Recipe' file.
|
||||||
|
# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.
|
||||||
|
|
||||||
|
# This path points at the nestedvm root directory
|
||||||
|
NESTEDVM = /opt/nestedvm
|
||||||
|
# You can define this path to point at your tools if you need to
|
||||||
|
TOOLPATH = $(NESTEDVM)/upstream/install/bin
|
||||||
|
CC = $(TOOLPATH)/mips-unknown-elf-gcc
|
||||||
|
|
||||||
|
CFLAGS = -O2 -Wall -Werror -DSLOW_SYSTEM -g -I./ -Iicons/
|
||||||
|
|
||||||
|
all: blackbox.jar bridges.jar cube.jar dominosa.jar fifteen.jar filling.jar \
|
||||||
|
flip.jar flood.jar galaxies.jar guess.jar inertia.jar \
|
||||||
|
keen.jar lightup.jar loopy.jar magnets.jar map.jar mines.jar \
|
||||||
|
net.jar netslide.jar nullgame.jar palisade.jar pattern.jar \
|
||||||
|
pearl.jar pegs.jar range.jar rect.jar samegame.jar \
|
||||||
|
signpost.jar singles.jar sixteen.jar slant.jar solo.jar \
|
||||||
|
tents.jar towers.jar tracks.jar twiddle.jar undead.jar \
|
||||||
|
unequal.jar unruly.jar untangle.jar
|
||||||
|
|
||||||
|
blackbox.mips: blackbox.o drawing.o nestedvm.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ blackbox.o drawing.o nestedvm.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
bridges.mips: bridges.o drawing.o dsf.o findloop.o nestedvm.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ bridges.o drawing.o dsf.o findloop.o \
|
||||||
|
nestedvm.o malloc.o midend.o misc.o no-icon.o printing.o \
|
||||||
|
ps.o random.o version.o -lm
|
||||||
|
|
||||||
|
cube.mips: cube.o drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ cube.o drawing.o nestedvm.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
dominosa.mips: dominosa.o drawing.o nestedvm.o laydomino.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ dominosa.o drawing.o nestedvm.o laydomino.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
fifteen.mips: drawing.o fifteen.o nestedvm.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o fifteen.o nestedvm.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
filling.mips: drawing.o dsf.o filling.o nestedvm.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o filling.o nestedvm.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
flip.mips: drawing.o flip.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o flip.o nestedvm.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
flood.mips: drawing.o flood.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o flood.o nestedvm.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
galaxies.mips: drawing.o dsf.o galaxies.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o galaxies.o nestedvm.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
guess.mips: drawing.o nestedvm.o guess.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o guess.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
inertia.mips: drawing.o nestedvm.o inertia.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o inertia.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
keen.mips: drawing.o dsf.o nestedvm.o keen.o latin.o malloc.o maxflow.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o nestedvm.o keen.o latin.o \
|
||||||
|
malloc.o maxflow.o midend.o misc.o no-icon.o printing.o ps.o \
|
||||||
|
random.o tree234.o version.o -lm
|
||||||
|
|
||||||
|
lightup.mips: combi.o drawing.o nestedvm.o lightup.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ combi.o drawing.o nestedvm.o lightup.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
loopy.mips: drawing.o dsf.o grid.o nestedvm.o loopgen.o loopy.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o penrose.o printing.o ps.o random.o \
|
||||||
|
tree234.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o grid.o nestedvm.o loopgen.o \
|
||||||
|
loopy.o malloc.o midend.o misc.o no-icon.o penrose.o \
|
||||||
|
printing.o ps.o random.o tree234.o version.o -lm
|
||||||
|
|
||||||
|
magnets.mips: drawing.o nestedvm.o laydomino.o magnets.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o laydomino.o magnets.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
map.mips: drawing.o dsf.o nestedvm.o malloc.o map.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o nestedvm.o malloc.o map.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
mines.mips: drawing.o nestedvm.o malloc.o midend.o mines.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
mines.o misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
net.mips: drawing.o dsf.o findloop.o nestedvm.o malloc.o midend.o misc.o \
|
||||||
|
net.o no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o findloop.o nestedvm.o \
|
||||||
|
malloc.o midend.o misc.o net.o no-icon.o printing.o ps.o \
|
||||||
|
random.o tree234.o version.o -lm
|
||||||
|
|
||||||
|
netslide.mips: drawing.o nestedvm.o malloc.o midend.o misc.o netslide.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o netslide.o no-icon.o printing.o ps.o random.o \
|
||||||
|
tree234.o version.o -lm
|
||||||
|
|
||||||
|
nullgame.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
nullgame.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o nullgame.o printing.o ps.o random.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
palisade.mips: divvy.o drawing.o dsf.o nestedvm.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o palisade.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ divvy.o drawing.o dsf.o nestedvm.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o palisade.o printing.o ps.o \
|
||||||
|
random.o version.o -lm
|
||||||
|
|
||||||
|
pattern.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
pattern.o printing.o ps.o random.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o pattern.o printing.o ps.o random.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
pearl.mips: drawing.o dsf.o grid.o nestedvm.o loopgen.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o pearl.o penrose.o printing.o ps.o random.o \
|
||||||
|
tdq.o tree234.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o grid.o nestedvm.o loopgen.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o pearl.o penrose.o \
|
||||||
|
printing.o ps.o random.o tdq.o tree234.o version.o -lm
|
||||||
|
|
||||||
|
pegs.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o pegs.o \
|
||||||
|
printing.o ps.o random.o tree234.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o pegs.o printing.o ps.o random.o tree234.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
range.mips: drawing.o dsf.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o range.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o range.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
rect.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o rect.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o rect.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
samegame.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o samegame.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o samegame.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
signpost.mips: drawing.o dsf.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o signpost.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o signpost.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
singles.mips: drawing.o dsf.o nestedvm.o latin.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o singles.o \
|
||||||
|
tree234.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o nestedvm.o latin.o malloc.o \
|
||||||
|
maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
singles.o tree234.o version.o -lm
|
||||||
|
|
||||||
|
sixteen.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o sixteen.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o sixteen.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
slant.mips: drawing.o dsf.o findloop.o nestedvm.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o slant.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o findloop.o nestedvm.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
slant.o version.o -lm
|
||||||
|
|
||||||
|
solo.mips: divvy.o drawing.o dsf.o nestedvm.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o solo.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ divvy.o drawing.o dsf.o nestedvm.o malloc.o \
|
||||||
|
midend.o misc.o no-icon.o printing.o ps.o random.o solo.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
tents.mips: drawing.o dsf.o nestedvm.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tents.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o nestedvm.o malloc.o \
|
||||||
|
maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
tents.o version.o -lm
|
||||||
|
|
||||||
|
towers.mips: drawing.o nestedvm.o latin.o malloc.o maxflow.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o towers.o tree234.o \
|
||||||
|
version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o latin.o malloc.o \
|
||||||
|
maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
towers.o tree234.o version.o -lm
|
||||||
|
|
||||||
|
tracks.mips: drawing.o dsf.o findloop.o nestedvm.o malloc.o midend.o misc.o \
|
||||||
|
no-icon.o printing.o ps.o random.o tracks.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o dsf.o findloop.o nestedvm.o \
|
||||||
|
malloc.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
tracks.o version.o -lm
|
||||||
|
|
||||||
|
twiddle.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o twiddle.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o twiddle.o \
|
||||||
|
version.o -lm
|
||||||
|
|
||||||
|
undead.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o undead.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o undead.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
unequal.mips: drawing.o nestedvm.o latin.o malloc.o maxflow.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
unequal.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o latin.o malloc.o \
|
||||||
|
maxflow.o midend.o misc.o no-icon.o printing.o ps.o random.o \
|
||||||
|
tree234.o unequal.o version.o -lm
|
||||||
|
|
||||||
|
unruly.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o unruly.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o unruly.o version.o \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
untangle.mips: drawing.o nestedvm.o malloc.o midend.o misc.o no-icon.o \
|
||||||
|
printing.o ps.o random.o tree234.o untangle.o version.o
|
||||||
|
$(CC) $(XLDFLAGS) -o $@ drawing.o nestedvm.o malloc.o midend.o \
|
||||||
|
misc.o no-icon.o printing.o ps.o random.o tree234.o \
|
||||||
|
untangle.o version.o -lm
|
||||||
|
|
||||||
|
blackbox.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
blackbo3.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
bridges.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
bridges3.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
combi.o: ./combi.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube3.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
divvy.o: ./divvy.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominosa.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominos3.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
drawing.o: ./drawing.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dsf.o: ./dsf.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen5.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
fifteen2.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
filling.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
filling5.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
filling2.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
findloop.o: ./findloop.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip3.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
flood.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flood3.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxies.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
galaxie7.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxie4.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
galaxie2.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
grid.o: ./grid.c ./puzzles.h ./tree234.h ./grid.h ./penrose.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nestedvm.o: ./nestedvm.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess3.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
inertia.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
inertia3.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
keen5.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen2.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
latin.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
latin8.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_LATIN_TEST -c $< -o $@
|
||||||
|
latin6.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
laydomino.o: ./laydomino.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup5.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
lightup2.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
list.o: ./list.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopgen.o: ./loopgen.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy5.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
loopy2.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
magnets.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
magnets5.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
magnets2.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
malloc.o: ./malloc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map5.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
map2.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
maxflow.o: ./maxflow.c ./maxflow.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
midend.o: ./midend.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines5.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
mines2.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_OBFUSCATOR -c $< -o $@
|
||||||
|
misc.o: ./misc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net3.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
netslide.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
netslid3.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
no-icon.o: ./no-icon.c
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullfe.o: ./nullfe.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullgame.o: ./nullgame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
obfusc.o: ./obfusc.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
osx.o: ./osx.m ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisade.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisad3.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pattern7.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern4.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
pattern2.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pearl.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pearl5.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pearl2.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pegs.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pegs3.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
penrose.o: ./penrose.c ./puzzles.h ./penrose.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
printing.o: ./printing.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
ps.o: ./ps.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
random.o: ./random.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range3.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
rect.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
rect3.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
samegame.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
samegam3.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpost.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
signpos5.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpos2.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
singles.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
singles5.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
singles3.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
sixteen.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
sixteen3.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
slant5.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant2.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
solo.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
solo5.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
solo2.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tdq.o: ./tdq.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents5.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tents3.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
towers.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
towers5.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
towers2.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tracks.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tracks3.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tree234.o: ./tree234.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle3.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
undead.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
undead3.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unequal5.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal2.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
unruly.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unruly5.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unruly2.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
untangle.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
untangl3.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
version.o: ./version.c ./version.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows1.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
|
||||||
|
.PRECIOUS: %.class
|
||||||
|
%.class: %.mips
|
||||||
|
java -cp $(NESTEDVM)/build:$(NESTEDVM)/upstream/build/classgen/build \
|
||||||
|
org.ibex.nestedvm.Compiler -outformat class -d . \
|
||||||
|
PuzzleEngine $<
|
||||||
|
mv PuzzleEngine.class $@
|
||||||
|
|
||||||
|
org:
|
||||||
|
mkdir -p 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
|
||||||
|
javac -source 1.3 -target 1.3 PuzzleApplet.java
|
||||||
|
|
||||||
|
%.jar: %.class PuzzleApplet.class org
|
||||||
|
mv $< PuzzleEngine.class
|
||||||
|
jar cfm $@ applet.manifest PuzzleEngine.class PuzzleApplet*.class org
|
||||||
|
echo '<applet archive="'$@'" code="PuzzleApplet" width="700" height="500"></applet>' >$*.html
|
||||||
|
mv PuzzleEngine.class $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf *.o *.mips *.class *.html *.jar org applet.manifest
|
||||||
574
apps/plugins/puzzles/src/Makefile.osx
Normal file
574
apps/plugins/puzzles/src/Makefile.osx
Normal file
|
|
@ -0,0 +1,574 @@
|
||||||
|
# Makefile for puzzles under Mac OS X.
|
||||||
|
#
|
||||||
|
# This file was created by `mkfiles.pl' from the `Recipe' file.
|
||||||
|
# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.
|
||||||
|
CC = $(TOOLPATH)gcc
|
||||||
|
LIPO = $(TOOLPATH)lipo
|
||||||
|
|
||||||
|
CFLAGS = -O2 -Wall -Werror -g -I./ -Iicons/
|
||||||
|
LDFLAGS = -framework Cocoa
|
||||||
|
all: Puzzles fifteensolver fillingsolver galaxiespicture galaxiessolver \
|
||||||
|
keensolver latincheck lightupsolver loopysolver \
|
||||||
|
magnetssolver mapsolver mineobfusc obfusc patternpicture \
|
||||||
|
patternsolver pearlbench signpostsolver singlessolver \
|
||||||
|
slantsolver solosolver tentssolver towerssolver \
|
||||||
|
unequalsolver unrulysolver
|
||||||
|
Puzzles_extra = Puzzles.app/Contents/Resources/Help/index.html
|
||||||
|
Puzzles.app/Contents/Resources/Help/index.html: \
|
||||||
|
Puzzles.app/Contents/Resources/Help osx-help.but puzzles.but
|
||||||
|
cd Puzzles.app/Contents/Resources/Help; \
|
||||||
|
halibut --html ../../../../osx-help.but ../../../../puzzles.but
|
||||||
|
Puzzles.app/Contents/Resources/Help: Puzzles.app/Contents/Resources
|
||||||
|
mkdir -p Puzzles.app/Contents/Resources/Help
|
||||||
|
|
||||||
|
release: Puzzles.dmg
|
||||||
|
Puzzles.dmg: Puzzles
|
||||||
|
rm -f raw.dmg
|
||||||
|
hdiutil create -megabytes 5 -layout NONE raw.dmg
|
||||||
|
hdid -nomount raw.dmg > devicename
|
||||||
|
newfs_hfs -v "Simon Tatham's Puzzle Collection" `cat devicename`
|
||||||
|
hdiutil eject `cat devicename`
|
||||||
|
hdid raw.dmg | cut -f1 -d' ' > devicename
|
||||||
|
cp -R Puzzles.app /Volumes/"Simon Tatham's Puzzle Collection"
|
||||||
|
hdiutil eject `cat devicename`
|
||||||
|
rm -f Puzzles.dmg
|
||||||
|
hdiutil convert -format UDCO raw.dmg -o Puzzles.dmg
|
||||||
|
rm -f raw.dmg devicename
|
||||||
|
|
||||||
|
.SUFFIXES: .o .c .m
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Puzzles.app:
|
||||||
|
mkdir -p $@
|
||||||
|
Puzzles.app/Contents: Puzzles.app
|
||||||
|
mkdir -p $@
|
||||||
|
Puzzles.app/Contents/MacOS: Puzzles.app/Contents
|
||||||
|
mkdir -p $@
|
||||||
|
Puzzles.app/Contents/Resources: Puzzles.app/Contents
|
||||||
|
mkdir -p $@
|
||||||
|
Puzzles.app/Contents/Resources/Puzzles.icns: Puzzles.app/Contents/Resources osx.icns
|
||||||
|
cp osx.icns $@
|
||||||
|
Puzzles.app/Contents/Info.plist: Puzzles.app/Contents/Resources osx-info.plist
|
||||||
|
cp osx-info.plist $@
|
||||||
|
Puzzles: Puzzles.app/Contents/MacOS/Puzzles \
|
||||||
|
Puzzles.app/Contents/Resources/Puzzles.icns \
|
||||||
|
Puzzles.app/Contents/Info.plist $(Puzzles_extra)
|
||||||
|
|
||||||
|
Puzzles.i386.bin: blackbo3.i386.o bridges3.i386.o combi.i386.o cube3.i386.o \
|
||||||
|
divvy.i386.o dominos3.i386.o drawing.i386.o dsf.i386.o \
|
||||||
|
fifteen5.i386.o filling5.i386.o findloop.i386.o flip3.i386.o \
|
||||||
|
flood3.i386.o galaxie7.i386.o grid.i386.o guess3.i386.o \
|
||||||
|
inertia3.i386.o keen5.i386.o latin.i386.o laydomino.i386.o \
|
||||||
|
lightup5.i386.o list.i386.o loopgen.i386.o loopy5.i386.o \
|
||||||
|
magnets5.i386.o malloc.i386.o map5.i386.o maxflow.i386.o \
|
||||||
|
midend.i386.o mines5.i386.o misc.i386.o net3.i386.o \
|
||||||
|
netslid3.i386.o osx.i386.o palisad3.i386.o pattern7.i386.o \
|
||||||
|
pearl5.i386.o pegs3.i386.o penrose.i386.o random.i386.o \
|
||||||
|
range3.i386.o rect3.i386.o samegam3.i386.o signpos5.i386.o \
|
||||||
|
singles5.i386.o sixteen3.i386.o slant5.i386.o solo5.i386.o \
|
||||||
|
tdq.i386.o tents5.i386.o towers5.i386.o tracks3.i386.o \
|
||||||
|
tree234.i386.o twiddle3.i386.o undead3.i386.o \
|
||||||
|
unequal5.i386.o unruly5.i386.o untangl3.i386.o \
|
||||||
|
version.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(LDFLAGS) -o $@ \
|
||||||
|
blackbo3.i386.o bridges3.i386.o combi.i386.o cube3.i386.o \
|
||||||
|
divvy.i386.o dominos3.i386.o drawing.i386.o dsf.i386.o \
|
||||||
|
fifteen5.i386.o filling5.i386.o findloop.i386.o flip3.i386.o \
|
||||||
|
flood3.i386.o galaxie7.i386.o grid.i386.o guess3.i386.o \
|
||||||
|
inertia3.i386.o keen5.i386.o latin.i386.o laydomino.i386.o \
|
||||||
|
lightup5.i386.o list.i386.o loopgen.i386.o loopy5.i386.o \
|
||||||
|
magnets5.i386.o malloc.i386.o map5.i386.o maxflow.i386.o \
|
||||||
|
midend.i386.o mines5.i386.o misc.i386.o net3.i386.o \
|
||||||
|
netslid3.i386.o osx.i386.o palisad3.i386.o pattern7.i386.o \
|
||||||
|
pearl5.i386.o pegs3.i386.o penrose.i386.o random.i386.o \
|
||||||
|
range3.i386.o rect3.i386.o samegam3.i386.o signpos5.i386.o \
|
||||||
|
singles5.i386.o sixteen3.i386.o slant5.i386.o solo5.i386.o \
|
||||||
|
tdq.i386.o tents5.i386.o towers5.i386.o tracks3.i386.o \
|
||||||
|
tree234.i386.o twiddle3.i386.o undead3.i386.o \
|
||||||
|
unequal5.i386.o unruly5.i386.o untangl3.i386.o \
|
||||||
|
version.i386.o
|
||||||
|
|
||||||
|
Puzzles.app/Contents/MacOS/Puzzles: Puzzles.app/Contents/MacOS \
|
||||||
|
Puzzles.i386.bin
|
||||||
|
$(LIPO) -create Puzzles.i386.bin -output $@
|
||||||
|
|
||||||
|
fifteensolver.i386: fifteen2.i386.o malloc.i386.o misc.i386.o nullfe.i386.o \
|
||||||
|
random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
fifteen2.i386.o malloc.i386.o misc.i386.o nullfe.i386.o \
|
||||||
|
random.i386.o
|
||||||
|
|
||||||
|
fifteensolver: fifteensolver.i386
|
||||||
|
$(LIPO) -create fifteensolver.i386 -output $@
|
||||||
|
|
||||||
|
fillingsolver.i386: dsf.i386.o filling2.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o filling2.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o
|
||||||
|
|
||||||
|
fillingsolver: fillingsolver.i386
|
||||||
|
$(LIPO) -create fillingsolver.i386 -output $@
|
||||||
|
|
||||||
|
galaxiespicture.i386: dsf.i386.o galaxie4.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o galaxie4.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o -lm
|
||||||
|
|
||||||
|
galaxiespicture: galaxiespicture.i386
|
||||||
|
$(LIPO) -create galaxiespicture.i386 -output $@
|
||||||
|
|
||||||
|
galaxiessolver.i386: dsf.i386.o galaxie2.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o galaxie2.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o -lm
|
||||||
|
|
||||||
|
galaxiessolver: galaxiessolver.i386
|
||||||
|
$(LIPO) -create galaxiessolver.i386 -output $@
|
||||||
|
|
||||||
|
keensolver.i386: dsf.i386.o keen2.i386.o latin6.i386.o malloc.i386.o \
|
||||||
|
maxflow.i386.o misc.i386.o nullfe.i386.o random.i386.o \
|
||||||
|
tree234.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o keen2.i386.o latin6.i386.o malloc.i386.o \
|
||||||
|
maxflow.i386.o misc.i386.o nullfe.i386.o random.i386.o \
|
||||||
|
tree234.i386.o
|
||||||
|
|
||||||
|
keensolver: keensolver.i386
|
||||||
|
$(LIPO) -create keensolver.i386 -output $@
|
||||||
|
|
||||||
|
latincheck.i386: latin8.i386.o malloc.i386.o maxflow.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o tree234.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
latin8.i386.o malloc.i386.o maxflow.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o tree234.i386.o
|
||||||
|
|
||||||
|
latincheck: latincheck.i386
|
||||||
|
$(LIPO) -create latincheck.i386 -output $@
|
||||||
|
|
||||||
|
lightupsolver.i386: combi.i386.o lightup2.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
combi.i386.o lightup2.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o
|
||||||
|
|
||||||
|
lightupsolver: lightupsolver.i386
|
||||||
|
$(LIPO) -create lightupsolver.i386 -output $@
|
||||||
|
|
||||||
|
loopysolver.i386: dsf.i386.o grid.i386.o loopgen.i386.o loopy2.i386.o \
|
||||||
|
malloc.i386.o misc.i386.o nullfe.i386.o penrose.i386.o \
|
||||||
|
random.i386.o tree234.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o grid.i386.o loopgen.i386.o loopy2.i386.o \
|
||||||
|
malloc.i386.o misc.i386.o nullfe.i386.o penrose.i386.o \
|
||||||
|
random.i386.o tree234.i386.o -lm
|
||||||
|
|
||||||
|
loopysolver: loopysolver.i386
|
||||||
|
$(LIPO) -create loopysolver.i386 -output $@
|
||||||
|
|
||||||
|
magnetssolver.i386: laydomino.i386.o magnets2.i386.o malloc.i386.o \
|
||||||
|
misc.i386.o nullfe.i386.o random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
laydomino.i386.o magnets2.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o -lm
|
||||||
|
|
||||||
|
magnetssolver: magnetssolver.i386
|
||||||
|
$(LIPO) -create magnetssolver.i386 -output $@
|
||||||
|
|
||||||
|
mapsolver.i386: dsf.i386.o malloc.i386.o map2.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o malloc.i386.o map2.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o -lm
|
||||||
|
|
||||||
|
mapsolver: mapsolver.i386
|
||||||
|
$(LIPO) -create mapsolver.i386 -output $@
|
||||||
|
|
||||||
|
mineobfusc.i386: malloc.i386.o mines2.i386.o misc.i386.o nullfe.i386.o \
|
||||||
|
random.i386.o tree234.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
malloc.i386.o mines2.i386.o misc.i386.o nullfe.i386.o \
|
||||||
|
random.i386.o tree234.i386.o
|
||||||
|
|
||||||
|
mineobfusc: mineobfusc.i386
|
||||||
|
$(LIPO) -create mineobfusc.i386 -output $@
|
||||||
|
|
||||||
|
obfusc.i386: malloc.i386.o misc.i386.o nullfe.i386.o obfusc.i386.o \
|
||||||
|
random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
malloc.i386.o misc.i386.o nullfe.i386.o obfusc.i386.o \
|
||||||
|
random.i386.o
|
||||||
|
|
||||||
|
obfusc: obfusc.i386
|
||||||
|
$(LIPO) -create obfusc.i386 -output $@
|
||||||
|
|
||||||
|
patternpicture.i386: malloc.i386.o misc.i386.o nullfe.i386.o pattern4.i386.o \
|
||||||
|
random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
malloc.i386.o misc.i386.o nullfe.i386.o pattern4.i386.o \
|
||||||
|
random.i386.o
|
||||||
|
|
||||||
|
patternpicture: patternpicture.i386
|
||||||
|
$(LIPO) -create patternpicture.i386 -output $@
|
||||||
|
|
||||||
|
patternsolver.i386: malloc.i386.o misc.i386.o nullfe.i386.o pattern2.i386.o \
|
||||||
|
random.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
malloc.i386.o misc.i386.o nullfe.i386.o pattern2.i386.o \
|
||||||
|
random.i386.o
|
||||||
|
|
||||||
|
patternsolver: patternsolver.i386
|
||||||
|
$(LIPO) -create patternsolver.i386 -output $@
|
||||||
|
|
||||||
|
pearlbench.i386: dsf.i386.o grid.i386.o loopgen.i386.o malloc.i386.o \
|
||||||
|
misc.i386.o nullfe.i386.o pearl2.i386.o penrose.i386.o \
|
||||||
|
random.i386.o tdq.i386.o tree234.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o grid.i386.o loopgen.i386.o malloc.i386.o \
|
||||||
|
misc.i386.o nullfe.i386.o pearl2.i386.o penrose.i386.o \
|
||||||
|
random.i386.o tdq.i386.o tree234.i386.o -lm
|
||||||
|
|
||||||
|
pearlbench: pearlbench.i386
|
||||||
|
$(LIPO) -create pearlbench.i386 -output $@
|
||||||
|
|
||||||
|
signpostsolver.i386: dsf.i386.o malloc.i386.o misc.i386.o nullfe.i386.o \
|
||||||
|
random.i386.o signpos2.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o malloc.i386.o misc.i386.o nullfe.i386.o \
|
||||||
|
random.i386.o signpos2.i386.o -lm
|
||||||
|
|
||||||
|
signpostsolver: signpostsolver.i386
|
||||||
|
$(LIPO) -create signpostsolver.i386 -output $@
|
||||||
|
|
||||||
|
singlessolver.i386: dsf.i386.o latin.i386.o malloc.i386.o maxflow.i386.o \
|
||||||
|
misc.i386.o nullfe.i386.o random.i386.o singles3.i386.o \
|
||||||
|
tree234.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o latin.i386.o malloc.i386.o maxflow.i386.o \
|
||||||
|
misc.i386.o nullfe.i386.o random.i386.o singles3.i386.o \
|
||||||
|
tree234.i386.o
|
||||||
|
|
||||||
|
singlessolver: singlessolver.i386
|
||||||
|
$(LIPO) -create singlessolver.i386 -output $@
|
||||||
|
|
||||||
|
slantsolver.i386: dsf.i386.o findloop.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o slant2.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o findloop.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o slant2.i386.o
|
||||||
|
|
||||||
|
slantsolver: slantsolver.i386
|
||||||
|
$(LIPO) -create slantsolver.i386 -output $@
|
||||||
|
|
||||||
|
solosolver.i386: divvy.i386.o dsf.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o solo2.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
divvy.i386.o dsf.i386.o malloc.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o solo2.i386.o
|
||||||
|
|
||||||
|
solosolver: solosolver.i386
|
||||||
|
$(LIPO) -create solosolver.i386 -output $@
|
||||||
|
|
||||||
|
tentssolver.i386: dsf.i386.o malloc.i386.o maxflow.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o tents3.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
dsf.i386.o malloc.i386.o maxflow.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o tents3.i386.o
|
||||||
|
|
||||||
|
tentssolver: tentssolver.i386
|
||||||
|
$(LIPO) -create tentssolver.i386 -output $@
|
||||||
|
|
||||||
|
towerssolver.i386: latin6.i386.o malloc.i386.o maxflow.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o towers2.i386.o tree234.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
latin6.i386.o malloc.i386.o maxflow.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o towers2.i386.o tree234.i386.o
|
||||||
|
|
||||||
|
towerssolver: towerssolver.i386
|
||||||
|
$(LIPO) -create towerssolver.i386 -output $@
|
||||||
|
|
||||||
|
unequalsolver.i386: latin6.i386.o malloc.i386.o maxflow.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o tree234.i386.o unequal2.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
latin6.i386.o malloc.i386.o maxflow.i386.o misc.i386.o \
|
||||||
|
nullfe.i386.o random.i386.o tree234.i386.o unequal2.i386.o
|
||||||
|
|
||||||
|
unequalsolver: unequalsolver.i386
|
||||||
|
$(LIPO) -create unequalsolver.i386 -output $@
|
||||||
|
|
||||||
|
unrulysolver.i386: malloc.i386.o misc.i386.o nullfe.i386.o random.i386.o \
|
||||||
|
unruly2.i386.o
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(ULDFLAGS) -o $@ \
|
||||||
|
malloc.i386.o misc.i386.o nullfe.i386.o random.i386.o \
|
||||||
|
unruly2.i386.o
|
||||||
|
|
||||||
|
unrulysolver: unrulysolver.i386
|
||||||
|
$(LIPO) -create unrulysolver.i386 -output $@
|
||||||
|
|
||||||
|
blackbox.i386.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
blackbo3.i386.o: ./blackbox.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
bridges.i386.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
bridges3.i386.o: ./bridges.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
combi.i386.o: ./combi.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube.i386.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
cube3.i386.o: ./cube.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
divvy.i386.o: ./divvy.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominosa.i386.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dominos3.i386.o: ./dominosa.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
drawing.i386.o: ./drawing.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
dsf.i386.o: ./dsf.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen.i386.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
fifteen5.i386.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
fifteen2.i386.o: ./fifteen.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
filling.i386.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
filling5.i386.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
filling2.i386.o: ./filling.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
findloop.i386.o: ./findloop.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip.i386.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flip3.i386.o: ./flip.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
flood.i386.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
flood3.i386.o: ./flood.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxies.i386.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
galaxie7.i386.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
galaxie4.i386.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
galaxie2.i386.o: ./galaxies.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
grid.i386.o: ./grid.c ./puzzles.h ./tree234.h ./grid.h ./penrose.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
gtk.i386.o: ./gtk.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess.i386.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
guess3.i386.o: ./guess.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
inertia.i386.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
inertia3.i386.o: ./inertia.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen.i386.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
keen5.i386.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
keen2.i386.o: ./keen.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
latin.i386.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
latin8.i386.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_LATIN_TEST -c $< -o $@
|
||||||
|
latin6.i386.o: ./latin.c ./puzzles.h ./tree234.h ./maxflow.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
laydomino.i386.o: ./laydomino.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup.i386.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
lightup5.i386.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
lightup2.i386.o: ./lightup.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
list.i386.o: ./list.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopgen.i386.o: ./loopgen.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy.i386.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
loopy5.i386.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
loopy2.i386.o: ./loopy.c ./puzzles.h ./tree234.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
magnets.i386.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
magnets5.i386.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
magnets2.i386.o: ./magnets.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
malloc.i386.o: ./malloc.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map.i386.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
map5.i386.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
map2.i386.o: ./map.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
maxflow.i386.o: ./maxflow.c ./maxflow.h ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
midend.i386.o: ./midend.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines.i386.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
mines5.i386.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
mines2.i386.o: ./mines.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_OBFUSCATOR -c $< -o $@
|
||||||
|
misc.i386.o: ./misc.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net.i386.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
net3.i386.o: ./net.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
netslide.i386.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
netslid3.i386.o: ./netslide.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
no-icon.i386.o: ./no-icon.c
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullfe.i386.o: ./nullfe.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
nullgame.i386.o: ./nullgame.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
obfusc.i386.o: ./obfusc.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
osx.i386.o: ./osx.m ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 -x objective-c $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisade.i386.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
palisad3.i386.o: ./palisade.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern.i386.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pattern7.i386.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pattern4.i386.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_PICTURE_GENERATOR -c $< -o $@
|
||||||
|
pattern2.i386.o: ./pattern.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pearl.i386.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pearl5.i386.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
pearl2.i386.o: ./pearl.c ./puzzles.h ./grid.h ./loopgen.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
pegs.i386.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
pegs3.i386.o: ./pegs.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
penrose.i386.o: ./penrose.c ./puzzles.h ./penrose.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
printing.i386.o: ./printing.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
ps.i386.o: ./ps.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
random.i386.o: ./random.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range.i386.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
range3.i386.o: ./range.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
rect.i386.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
rect3.i386.o: ./rect.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
samegame.i386.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
samegam3.i386.o: ./samegame.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpost.i386.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
signpos5.i386.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
signpos2.i386.o: ./signpost.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
singles.i386.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
singles5.i386.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
singles3.i386.o: ./singles.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
sixteen.i386.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
sixteen3.i386.o: ./sixteen.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant.i386.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
slant5.i386.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
slant2.i386.o: ./slant.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
solo.i386.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
solo5.i386.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
solo2.i386.o: ./solo.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tdq.i386.o: ./tdq.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents.i386.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tents5.i386.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tents3.i386.o: ./tents.c ./puzzles.h ./maxflow.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
towers.i386.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
towers5.i386.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
towers2.i386.o: ./towers.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
tracks.i386.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
tracks3.i386.o: ./tracks.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
tree234.i386.o: ./tree234.c ./tree234.h ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle.i386.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
twiddle3.i386.o: ./twiddle.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
undead.i386.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
undead3.i386.o: ./undead.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal.i386.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unequal5.i386.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unequal2.i386.o: ./unequal.c ./puzzles.h ./latin.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
unruly.i386.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
unruly5.i386.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
unruly2.i386.o: ./unruly.c ./puzzles.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DSTANDALONE_SOLVER -c $< -o $@
|
||||||
|
untangle.i386.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
untangl3.i386.o: ./untangle.c ./puzzles.h ./tree234.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
version.i386.o: ./version.c ./version.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows.i386.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
|
||||||
|
windows1.i386.o: ./windows.c ./puzzles.h ./resource.h
|
||||||
|
$(CC) -arch i386 -mmacosx-version-min=10.4 $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o *.dmg fifteensolver fifteensolver.i386 fillingsolver fillingsolver.i386 galaxiespicture galaxiespicture.i386 galaxiessolver galaxiessolver.i386 keensolver keensolver.i386 latincheck latincheck.i386 lightupsolver lightupsolver.i386 loopysolver loopysolver.i386 magnetssolver magnetssolver.i386 mapsolver mapsolver.i386 mineobfusc mineobfusc.i386 obfusc obfusc.i386 patternpicture patternpicture.i386 patternsolver patternsolver.i386 pearlbench pearlbench.i386 signpostsolver signpostsolver.i386 singlessolver singlessolver.i386 slantsolver slantsolver.i386 solosolver solosolver.i386 tentssolver tentssolver.i386 towerssolver towerssolver.i386 unequalsolver unequalsolver.i386 unrulysolver unrulysolver.i386
|
||||||
|
rm -rf *.app
|
||||||
1040
apps/plugins/puzzles/src/Makefile.vc
Normal file
1040
apps/plugins/puzzles/src/Makefile.vc
Normal file
File diff suppressed because it is too large
Load diff
808
apps/plugins/puzzles/src/Makefile.wce
Normal file
808
apps/plugins/puzzles/src/Makefile.wce
Normal file
|
|
@ -0,0 +1,808 @@
|
||||||
|
# Makefile for puzzles on PocketPC using eMbedded Visual C.
|
||||||
|
#
|
||||||
|
# This file was created by `mkfiles.pl' from the `Recipe' file.
|
||||||
|
# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.
|
||||||
|
|
||||||
|
# If you rename this file to `Makefile', you should change this line,
|
||||||
|
# so that the .rsp files still depend on the correct makefile.
|
||||||
|
MAKEFILE = Makefile.wce
|
||||||
|
|
||||||
|
# This makefile expects the environment to have been set up by one
|
||||||
|
# of the PocketPC batch files wcearmv4.bat and wceemulator.bat. No
|
||||||
|
# other build targets are currently supported, because they would
|
||||||
|
# need a section in this if statement.
|
||||||
|
!if "$(TARGETCPU)" == "emulator"
|
||||||
|
PLATFORM_DEFS=/D "_i386_" /D "i_386_" /D "_X86_" /D "x86"
|
||||||
|
CC=cl
|
||||||
|
BASELIBS=commctrl.lib coredll.lib corelibc.lib aygshell.lib
|
||||||
|
MACHINE=IX86
|
||||||
|
!else
|
||||||
|
PLATFORM_DEFS=/D "ARM" /D "_ARM_" /D "ARMV4"
|
||||||
|
CC=clarm
|
||||||
|
BASELIBS=commctrl.lib coredll.lib aygshell.lib
|
||||||
|
MACHINE=ARM
|
||||||
|
!endif
|
||||||
|
|
||||||
|
# C compilation flags
|
||||||
|
CFLAGS = /nologo /W3 /O1 /MC /D _WIN32_WCE=420 /D "WIN32_PLATFORM_PSPC=400" /D UNDER_CE=420 \
|
||||||
|
$(PLATFORM_DEFS) \
|
||||||
|
/D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "NO_HTMLHELP"
|
||||||
|
|
||||||
|
LFLAGS = /nologo /incremental:no \
|
||||||
|
/base:0x00010000 /stack:0x10000,0x1000 /entry:WinMainCRTStartup \
|
||||||
|
/nodefaultlib:libc.lib /nodefaultlib:libcmt.lib /nodefaultlib:msvcrt.lib /nodefaultlib:OLDNAMES.lib \
|
||||||
|
/subsystem:windowsce,4.20 /align:4096 /MACHINE:$(MACHINE)
|
||||||
|
|
||||||
|
RCFL = /d UNDER_CE=420 /d _WIN32_WCE=420 /d "WIN32_PLATFORM_PSPC=400" \
|
||||||
|
$(PLATFORM_DEFS) \
|
||||||
|
/d "NDEBUG" /d "UNICODE" /d "_UNICODE"
|
||||||
|
|
||||||
|
all: blackbox.exe bridges.exe cube.exe dominosa.exe fifteen.exe filling.exe \
|
||||||
|
flip.exe flood.exe galaxies.exe guess.exe inertia.exe \
|
||||||
|
keen.exe lightup.exe loopy.exe magnets.exe map.exe mines.exe \
|
||||||
|
netgame.exe netslide.exe nullgame.exe palisade.exe \
|
||||||
|
pattern.exe pearl.exe pegs.exe puzzles.exe range.exe \
|
||||||
|
rect.exe samegame.exe signpost.exe singles.exe sixteen.exe \
|
||||||
|
slant.exe solo.exe tents.exe towers.exe tracks.exe \
|
||||||
|
twiddle.exe undead.exe unequal.exe unruly.exe untangle.exe
|
||||||
|
|
||||||
|
blackbox.exe: blackbox.obj drawing.obj malloc.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj version.obj windows.obj \
|
||||||
|
blackbox.rsp
|
||||||
|
link $(LFLAGS) -out:blackbox.exe -map:blackbox.map @blackbox.rsp
|
||||||
|
|
||||||
|
bridges.exe: bridges.obj drawing.obj dsf.obj findloop.obj malloc.obj \
|
||||||
|
midend.obj misc.obj noicon.res printing.obj random.obj \
|
||||||
|
version.obj windows.obj bridges.rsp
|
||||||
|
link $(LFLAGS) -out:bridges.exe -map:bridges.map @bridges.rsp
|
||||||
|
|
||||||
|
cube.exe: cube.obj drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj version.obj windows.obj cube.rsp
|
||||||
|
link $(LFLAGS) -out:cube.exe -map:cube.map @cube.rsp
|
||||||
|
|
||||||
|
dominosa.exe: dominosa.obj drawing.obj laydomino.obj malloc.obj midend.obj \
|
||||||
|
misc.obj noicon.res printing.obj random.obj version.obj \
|
||||||
|
windows.obj dominosa.rsp
|
||||||
|
link $(LFLAGS) -out:dominosa.exe -map:dominosa.map @dominosa.rsp
|
||||||
|
|
||||||
|
fifteen.exe: drawing.obj fifteen.obj malloc.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj version.obj windows.obj \
|
||||||
|
fifteen.rsp
|
||||||
|
link $(LFLAGS) -out:fifteen.exe -map:fifteen.map @fifteen.rsp
|
||||||
|
|
||||||
|
filling.exe: drawing.obj dsf.obj filling.obj malloc.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj version.obj windows.obj \
|
||||||
|
filling.rsp
|
||||||
|
link $(LFLAGS) -out:filling.exe -map:filling.map @filling.rsp
|
||||||
|
|
||||||
|
flip.exe: drawing.obj flip.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj tree234.obj version.obj windows.obj \
|
||||||
|
flip.rsp
|
||||||
|
link $(LFLAGS) -out:flip.exe -map:flip.map @flip.rsp
|
||||||
|
|
||||||
|
flood.exe: drawing.obj flood.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj version.obj windows.obj flood.rsp
|
||||||
|
link $(LFLAGS) -out:flood.exe -map:flood.map @flood.rsp
|
||||||
|
|
||||||
|
galaxies.exe: drawing.obj dsf.obj galaxies.obj malloc.obj midend.obj \
|
||||||
|
misc.obj noicon.res printing.obj random.obj version.obj \
|
||||||
|
windows.obj galaxies.rsp
|
||||||
|
link $(LFLAGS) -out:galaxies.exe -map:galaxies.map @galaxies.rsp
|
||||||
|
|
||||||
|
guess.exe: drawing.obj guess.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj version.obj windows.obj guess.rsp
|
||||||
|
link $(LFLAGS) -out:guess.exe -map:guess.map @guess.rsp
|
||||||
|
|
||||||
|
inertia.exe: drawing.obj inertia.obj malloc.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj version.obj windows.obj \
|
||||||
|
inertia.rsp
|
||||||
|
link $(LFLAGS) -out:inertia.exe -map:inertia.map @inertia.rsp
|
||||||
|
|
||||||
|
keen.exe: drawing.obj dsf.obj keen.obj latin.obj malloc.obj maxflow.obj \
|
||||||
|
midend.obj misc.obj noicon.res printing.obj random.obj \
|
||||||
|
tree234.obj version.obj windows.obj keen.rsp
|
||||||
|
link $(LFLAGS) -out:keen.exe -map:keen.map @keen.rsp
|
||||||
|
|
||||||
|
lightup.exe: combi.obj drawing.obj lightup.obj malloc.obj midend.obj \
|
||||||
|
misc.obj noicon.res printing.obj random.obj version.obj \
|
||||||
|
windows.obj lightup.rsp
|
||||||
|
link $(LFLAGS) -out:lightup.exe -map:lightup.map @lightup.rsp
|
||||||
|
|
||||||
|
loopy.exe: drawing.obj dsf.obj grid.obj loopgen.obj loopy.obj malloc.obj \
|
||||||
|
midend.obj misc.obj noicon.res penrose.obj printing.obj \
|
||||||
|
random.obj tree234.obj version.obj windows.obj loopy.rsp
|
||||||
|
link $(LFLAGS) -out:loopy.exe -map:loopy.map @loopy.rsp
|
||||||
|
|
||||||
|
magnets.exe: drawing.obj laydomino.obj magnets.obj malloc.obj midend.obj \
|
||||||
|
misc.obj noicon.res printing.obj random.obj version.obj \
|
||||||
|
windows.obj magnets.rsp
|
||||||
|
link $(LFLAGS) -out:magnets.exe -map:magnets.map @magnets.rsp
|
||||||
|
|
||||||
|
map.exe: drawing.obj dsf.obj malloc.obj map.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj version.obj windows.obj \
|
||||||
|
map.rsp
|
||||||
|
link $(LFLAGS) -out:map.exe -map:map.map @map.rsp
|
||||||
|
|
||||||
|
mines.exe: drawing.obj malloc.obj midend.obj mines.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj tree234.obj version.obj windows.obj \
|
||||||
|
mines.rsp
|
||||||
|
link $(LFLAGS) -out:mines.exe -map:mines.map @mines.rsp
|
||||||
|
|
||||||
|
netgame.exe: drawing.obj dsf.obj findloop.obj malloc.obj midend.obj misc.obj \
|
||||||
|
net.obj noicon.res printing.obj random.obj tree234.obj \
|
||||||
|
version.obj windows.obj netgame.rsp
|
||||||
|
link $(LFLAGS) -out:netgame.exe -map:netgame.map @netgame.rsp
|
||||||
|
|
||||||
|
netslide.exe: drawing.obj malloc.obj midend.obj misc.obj netslide.obj \
|
||||||
|
noicon.res printing.obj random.obj tree234.obj version.obj \
|
||||||
|
windows.obj netslide.rsp
|
||||||
|
link $(LFLAGS) -out:netslide.exe -map:netslide.map @netslide.rsp
|
||||||
|
|
||||||
|
nullgame.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
nullgame.obj printing.obj random.obj version.obj windows.obj \
|
||||||
|
nullgame.rsp
|
||||||
|
link $(LFLAGS) -out:nullgame.exe -map:nullgame.map @nullgame.rsp
|
||||||
|
|
||||||
|
palisade.exe: divvy.obj drawing.obj dsf.obj malloc.obj midend.obj misc.obj \
|
||||||
|
noicon.res palisade.obj printing.obj random.obj version.obj \
|
||||||
|
windows.obj palisade.rsp
|
||||||
|
link $(LFLAGS) -out:palisade.exe -map:palisade.map @palisade.rsp
|
||||||
|
|
||||||
|
pattern.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
pattern.obj printing.obj random.obj version.obj windows.obj \
|
||||||
|
pattern.rsp
|
||||||
|
link $(LFLAGS) -out:pattern.exe -map:pattern.map @pattern.rsp
|
||||||
|
|
||||||
|
pearl.exe: drawing.obj dsf.obj grid.obj loopgen.obj malloc.obj midend.obj \
|
||||||
|
misc.obj pearl.obj penrose.obj printing.obj random.obj \
|
||||||
|
tdq.obj tree234.obj version.obj windows.obj pearl.rsp
|
||||||
|
link $(LFLAGS) -out:pearl.exe -map:pearl.map @pearl.rsp
|
||||||
|
|
||||||
|
pegs.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res pegs.obj \
|
||||||
|
printing.obj random.obj tree234.obj version.obj windows.obj \
|
||||||
|
pegs.rsp
|
||||||
|
link $(LFLAGS) -out:pegs.exe -map:pegs.map @pegs.rsp
|
||||||
|
|
||||||
|
puzzles.exe: blackbo3.obj bridges3.obj combi.obj cube3.obj divvy.obj \
|
||||||
|
dominos3.obj drawing.obj dsf.obj fifteen5.obj filling5.obj \
|
||||||
|
findloop.obj flip3.obj flood3.obj galaxie7.obj grid.obj \
|
||||||
|
guess3.obj inertia3.obj keen5.obj latin.obj laydomino.obj \
|
||||||
|
lightup5.obj list.obj loopgen.obj loopy5.obj magnets5.obj \
|
||||||
|
malloc.obj map5.obj maxflow.obj midend.obj mines5.obj \
|
||||||
|
misc.obj net3.obj netslid3.obj noicon.res palisad3.obj \
|
||||||
|
pattern7.obj pearl5.obj pegs3.obj penrose.obj printing.obj \
|
||||||
|
random.obj range3.obj rect3.obj samegam3.obj signpos5.obj \
|
||||||
|
singles5.obj sixteen3.obj slant5.obj solo5.obj tdq.obj \
|
||||||
|
tents5.obj towers5.obj tracks3.obj tree234.obj twiddle3.obj \
|
||||||
|
undead3.obj unequal5.obj unruly5.obj untangl3.obj \
|
||||||
|
version.obj windows1.obj puzzles.rsp
|
||||||
|
link $(LFLAGS) -out:puzzles.exe -map:puzzles.map @puzzles.rsp
|
||||||
|
|
||||||
|
range.exe: drawing.obj dsf.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj range.obj version.obj windows.obj \
|
||||||
|
range.rsp
|
||||||
|
link $(LFLAGS) -out:range.exe -map:range.map @range.rsp
|
||||||
|
|
||||||
|
rect.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res printing.obj \
|
||||||
|
random.obj rect.obj version.obj windows.obj rect.rsp
|
||||||
|
link $(LFLAGS) -out:rect.exe -map:rect.map @rect.rsp
|
||||||
|
|
||||||
|
samegame.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj samegame.obj version.obj windows.obj \
|
||||||
|
samegame.rsp
|
||||||
|
link $(LFLAGS) -out:samegame.exe -map:samegame.map @samegame.rsp
|
||||||
|
|
||||||
|
signpost.exe: drawing.obj dsf.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj signpost.obj version.obj windows.obj \
|
||||||
|
signpost.rsp
|
||||||
|
link $(LFLAGS) -out:signpost.exe -map:signpost.map @signpost.rsp
|
||||||
|
|
||||||
|
singles.exe: drawing.obj dsf.obj latin.obj malloc.obj maxflow.obj midend.obj \
|
||||||
|
misc.obj noicon.res printing.obj random.obj singles.obj \
|
||||||
|
tree234.obj version.obj windows.obj singles.rsp
|
||||||
|
link $(LFLAGS) -out:singles.exe -map:singles.map @singles.rsp
|
||||||
|
|
||||||
|
sixteen.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj sixteen.obj version.obj windows.obj \
|
||||||
|
sixteen.rsp
|
||||||
|
link $(LFLAGS) -out:sixteen.exe -map:sixteen.map @sixteen.rsp
|
||||||
|
|
||||||
|
slant.exe: drawing.obj dsf.obj findloop.obj malloc.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj slant.obj version.obj \
|
||||||
|
windows.obj slant.rsp
|
||||||
|
link $(LFLAGS) -out:slant.exe -map:slant.map @slant.rsp
|
||||||
|
|
||||||
|
solo.exe: divvy.obj drawing.obj dsf.obj malloc.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj solo.obj version.obj \
|
||||||
|
windows.obj solo.rsp
|
||||||
|
link $(LFLAGS) -out:solo.exe -map:solo.map @solo.rsp
|
||||||
|
|
||||||
|
tents.exe: drawing.obj dsf.obj malloc.obj maxflow.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj tents.obj version.obj \
|
||||||
|
windows.obj tents.rsp
|
||||||
|
link $(LFLAGS) -out:tents.exe -map:tents.map @tents.rsp
|
||||||
|
|
||||||
|
towers.exe: drawing.obj latin.obj malloc.obj maxflow.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj towers.obj tree234.obj \
|
||||||
|
version.obj windows.obj towers.rsp
|
||||||
|
link $(LFLAGS) -out:towers.exe -map:towers.map @towers.rsp
|
||||||
|
|
||||||
|
tracks.exe: drawing.obj dsf.obj findloop.obj malloc.obj midend.obj misc.obj \
|
||||||
|
noicon.res printing.obj random.obj tracks.obj version.obj \
|
||||||
|
windows.obj tracks.rsp
|
||||||
|
link $(LFLAGS) -out:tracks.exe -map:tracks.map @tracks.rsp
|
||||||
|
|
||||||
|
twiddle.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj twiddle.obj version.obj windows.obj \
|
||||||
|
twiddle.rsp
|
||||||
|
link $(LFLAGS) -out:twiddle.exe -map:twiddle.map @twiddle.rsp
|
||||||
|
|
||||||
|
undead.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj undead.obj version.obj windows.obj \
|
||||||
|
undead.rsp
|
||||||
|
link $(LFLAGS) -out:undead.exe -map:undead.map @undead.rsp
|
||||||
|
|
||||||
|
unequal.exe: drawing.obj latin.obj malloc.obj maxflow.obj midend.obj \
|
||||||
|
misc.obj noicon.res printing.obj random.obj tree234.obj \
|
||||||
|
unequal.obj version.obj windows.obj unequal.rsp
|
||||||
|
link $(LFLAGS) -out:unequal.exe -map:unequal.map @unequal.rsp
|
||||||
|
|
||||||
|
unruly.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj unruly.obj version.obj windows.obj \
|
||||||
|
unruly.rsp
|
||||||
|
link $(LFLAGS) -out:unruly.exe -map:unruly.map @unruly.rsp
|
||||||
|
|
||||||
|
untangle.exe: drawing.obj malloc.obj midend.obj misc.obj noicon.res \
|
||||||
|
printing.obj random.obj tree234.obj untangle.obj version.obj \
|
||||||
|
windows.obj untangle.rsp
|
||||||
|
link $(LFLAGS) -out:untangle.exe -map:untangle.map @untangle.rsp
|
||||||
|
|
||||||
|
blackbox.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > blackbox.rsp
|
||||||
|
echo blackbox.obj drawing.obj malloc.obj midend.obj >> blackbox.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> blackbox.rsp
|
||||||
|
echo version.obj windows.obj >> blackbox.rsp
|
||||||
|
|
||||||
|
bridges.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > bridges.rsp
|
||||||
|
echo bridges.obj drawing.obj dsf.obj findloop.obj >> bridges.rsp
|
||||||
|
echo malloc.obj midend.obj misc.obj noicon.res >> bridges.rsp
|
||||||
|
echo printing.obj random.obj version.obj windows.obj >> bridges.rsp
|
||||||
|
|
||||||
|
cube.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > cube.rsp
|
||||||
|
echo cube.obj drawing.obj malloc.obj midend.obj >> cube.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> cube.rsp
|
||||||
|
echo version.obj windows.obj >> cube.rsp
|
||||||
|
|
||||||
|
dominosa.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > dominosa.rsp
|
||||||
|
echo dominosa.obj drawing.obj laydomino.obj malloc.obj >> dominosa.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> dominosa.rsp
|
||||||
|
echo random.obj version.obj windows.obj >> dominosa.rsp
|
||||||
|
|
||||||
|
fifteen.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > fifteen.rsp
|
||||||
|
echo drawing.obj fifteen.obj malloc.obj midend.obj >> fifteen.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> fifteen.rsp
|
||||||
|
echo version.obj windows.obj >> fifteen.rsp
|
||||||
|
|
||||||
|
filling.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > filling.rsp
|
||||||
|
echo drawing.obj dsf.obj filling.obj malloc.obj >> filling.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> filling.rsp
|
||||||
|
echo random.obj version.obj windows.obj >> filling.rsp
|
||||||
|
|
||||||
|
flip.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > flip.rsp
|
||||||
|
echo drawing.obj flip.obj malloc.obj midend.obj >> flip.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> flip.rsp
|
||||||
|
echo tree234.obj version.obj windows.obj >> flip.rsp
|
||||||
|
|
||||||
|
flood.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > flood.rsp
|
||||||
|
echo drawing.obj flood.obj malloc.obj midend.obj >> flood.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> flood.rsp
|
||||||
|
echo version.obj windows.obj >> flood.rsp
|
||||||
|
|
||||||
|
galaxies.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > galaxies.rsp
|
||||||
|
echo drawing.obj dsf.obj galaxies.obj malloc.obj >> galaxies.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> galaxies.rsp
|
||||||
|
echo random.obj version.obj windows.obj >> galaxies.rsp
|
||||||
|
|
||||||
|
guess.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > guess.rsp
|
||||||
|
echo drawing.obj guess.obj malloc.obj midend.obj >> guess.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> guess.rsp
|
||||||
|
echo version.obj windows.obj >> guess.rsp
|
||||||
|
|
||||||
|
inertia.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > inertia.rsp
|
||||||
|
echo drawing.obj inertia.obj malloc.obj midend.obj >> inertia.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> inertia.rsp
|
||||||
|
echo version.obj windows.obj >> inertia.rsp
|
||||||
|
|
||||||
|
keen.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > keen.rsp
|
||||||
|
echo drawing.obj dsf.obj keen.obj latin.obj malloc.obj >> keen.rsp
|
||||||
|
echo maxflow.obj midend.obj misc.obj noicon.res >> keen.rsp
|
||||||
|
echo printing.obj random.obj tree234.obj version.obj >> keen.rsp
|
||||||
|
echo windows.obj >> keen.rsp
|
||||||
|
|
||||||
|
lightup.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > lightup.rsp
|
||||||
|
echo combi.obj drawing.obj lightup.obj malloc.obj >> lightup.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> lightup.rsp
|
||||||
|
echo random.obj version.obj windows.obj >> lightup.rsp
|
||||||
|
|
||||||
|
loopy.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > loopy.rsp
|
||||||
|
echo drawing.obj dsf.obj grid.obj loopgen.obj >> loopy.rsp
|
||||||
|
echo loopy.obj malloc.obj midend.obj misc.obj >> loopy.rsp
|
||||||
|
echo noicon.res penrose.obj printing.obj random.obj >> loopy.rsp
|
||||||
|
echo tree234.obj version.obj windows.obj >> loopy.rsp
|
||||||
|
|
||||||
|
magnets.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > magnets.rsp
|
||||||
|
echo drawing.obj laydomino.obj magnets.obj malloc.obj >> magnets.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> magnets.rsp
|
||||||
|
echo random.obj version.obj windows.obj >> magnets.rsp
|
||||||
|
|
||||||
|
map.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > map.rsp
|
||||||
|
echo drawing.obj dsf.obj malloc.obj map.obj midend.obj >> map.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> map.rsp
|
||||||
|
echo version.obj windows.obj >> map.rsp
|
||||||
|
|
||||||
|
mines.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > mines.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj mines.obj >> mines.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> mines.rsp
|
||||||
|
echo tree234.obj version.obj windows.obj >> mines.rsp
|
||||||
|
|
||||||
|
netgame.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > netgame.rsp
|
||||||
|
echo drawing.obj dsf.obj findloop.obj malloc.obj >> netgame.rsp
|
||||||
|
echo midend.obj misc.obj net.obj noicon.res >> netgame.rsp
|
||||||
|
echo printing.obj random.obj tree234.obj version.obj >> netgame.rsp
|
||||||
|
echo windows.obj >> netgame.rsp
|
||||||
|
|
||||||
|
netslide.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > netslide.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> netslide.rsp
|
||||||
|
echo netslide.obj noicon.res printing.obj random.obj >> netslide.rsp
|
||||||
|
echo tree234.obj version.obj windows.obj >> netslide.rsp
|
||||||
|
|
||||||
|
nullgame.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > nullgame.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> nullgame.rsp
|
||||||
|
echo noicon.res nullgame.obj printing.obj random.obj >> nullgame.rsp
|
||||||
|
echo version.obj windows.obj >> nullgame.rsp
|
||||||
|
|
||||||
|
palisade.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > palisade.rsp
|
||||||
|
echo divvy.obj drawing.obj dsf.obj malloc.obj >> palisade.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res palisade.obj >> palisade.rsp
|
||||||
|
echo printing.obj random.obj version.obj windows.obj >> palisade.rsp
|
||||||
|
|
||||||
|
pattern.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > pattern.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> pattern.rsp
|
||||||
|
echo noicon.res pattern.obj printing.obj random.obj >> pattern.rsp
|
||||||
|
echo version.obj windows.obj >> pattern.rsp
|
||||||
|
|
||||||
|
pearl.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > pearl.rsp
|
||||||
|
echo drawing.obj dsf.obj grid.obj loopgen.obj >> pearl.rsp
|
||||||
|
echo malloc.obj midend.obj misc.obj pearl.obj >> pearl.rsp
|
||||||
|
echo penrose.obj printing.obj random.obj tdq.obj >> pearl.rsp
|
||||||
|
echo tree234.obj version.obj windows.obj >> pearl.rsp
|
||||||
|
|
||||||
|
pegs.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > pegs.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> pegs.rsp
|
||||||
|
echo noicon.res pegs.obj printing.obj random.obj >> pegs.rsp
|
||||||
|
echo tree234.obj version.obj windows.obj >> pegs.rsp
|
||||||
|
|
||||||
|
puzzles.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > puzzles.rsp
|
||||||
|
echo blackbo3.obj bridges3.obj combi.obj cube3.obj >> puzzles.rsp
|
||||||
|
echo divvy.obj dominos3.obj drawing.obj dsf.obj >> puzzles.rsp
|
||||||
|
echo fifteen5.obj filling5.obj findloop.obj flip3.obj >> puzzles.rsp
|
||||||
|
echo flood3.obj galaxie7.obj grid.obj guess3.obj >> puzzles.rsp
|
||||||
|
echo inertia3.obj keen5.obj latin.obj laydomino.obj >> puzzles.rsp
|
||||||
|
echo lightup5.obj list.obj loopgen.obj loopy5.obj >> puzzles.rsp
|
||||||
|
echo magnets5.obj malloc.obj map5.obj maxflow.obj >> puzzles.rsp
|
||||||
|
echo midend.obj mines5.obj misc.obj net3.obj >> puzzles.rsp
|
||||||
|
echo netslid3.obj noicon.res palisad3.obj pattern7.obj >> puzzles.rsp
|
||||||
|
echo pearl5.obj pegs3.obj penrose.obj printing.obj >> puzzles.rsp
|
||||||
|
echo random.obj range3.obj rect3.obj samegam3.obj >> puzzles.rsp
|
||||||
|
echo signpos5.obj singles5.obj sixteen3.obj slant5.obj >> puzzles.rsp
|
||||||
|
echo solo5.obj tdq.obj tents5.obj towers5.obj >> puzzles.rsp
|
||||||
|
echo tracks3.obj tree234.obj twiddle3.obj undead3.obj >> puzzles.rsp
|
||||||
|
echo unequal5.obj unruly5.obj untangl3.obj version.obj >> puzzles.rsp
|
||||||
|
echo windows1.obj >> puzzles.rsp
|
||||||
|
|
||||||
|
range.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > range.rsp
|
||||||
|
echo drawing.obj dsf.obj malloc.obj midend.obj >> range.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> range.rsp
|
||||||
|
echo range.obj version.obj windows.obj >> range.rsp
|
||||||
|
|
||||||
|
rect.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > rect.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> rect.rsp
|
||||||
|
echo noicon.res printing.obj random.obj rect.obj >> rect.rsp
|
||||||
|
echo version.obj windows.obj >> rect.rsp
|
||||||
|
|
||||||
|
samegame.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > samegame.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> samegame.rsp
|
||||||
|
echo noicon.res printing.obj random.obj samegame.obj >> samegame.rsp
|
||||||
|
echo version.obj windows.obj >> samegame.rsp
|
||||||
|
|
||||||
|
signpost.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > signpost.rsp
|
||||||
|
echo drawing.obj dsf.obj malloc.obj midend.obj >> signpost.rsp
|
||||||
|
echo misc.obj noicon.res printing.obj random.obj >> signpost.rsp
|
||||||
|
echo signpost.obj version.obj windows.obj >> signpost.rsp
|
||||||
|
|
||||||
|
singles.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > singles.rsp
|
||||||
|
echo drawing.obj dsf.obj latin.obj malloc.obj >> singles.rsp
|
||||||
|
echo maxflow.obj midend.obj misc.obj noicon.res >> singles.rsp
|
||||||
|
echo printing.obj random.obj singles.obj tree234.obj >> singles.rsp
|
||||||
|
echo version.obj windows.obj >> singles.rsp
|
||||||
|
|
||||||
|
sixteen.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > sixteen.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> sixteen.rsp
|
||||||
|
echo noicon.res printing.obj random.obj sixteen.obj >> sixteen.rsp
|
||||||
|
echo version.obj windows.obj >> sixteen.rsp
|
||||||
|
|
||||||
|
slant.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > slant.rsp
|
||||||
|
echo drawing.obj dsf.obj findloop.obj malloc.obj >> slant.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> slant.rsp
|
||||||
|
echo random.obj slant.obj version.obj windows.obj >> slant.rsp
|
||||||
|
|
||||||
|
solo.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > solo.rsp
|
||||||
|
echo divvy.obj drawing.obj dsf.obj malloc.obj >> solo.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> solo.rsp
|
||||||
|
echo random.obj solo.obj version.obj windows.obj >> solo.rsp
|
||||||
|
|
||||||
|
tents.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > tents.rsp
|
||||||
|
echo drawing.obj dsf.obj malloc.obj maxflow.obj >> tents.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> tents.rsp
|
||||||
|
echo random.obj tents.obj version.obj windows.obj >> tents.rsp
|
||||||
|
|
||||||
|
towers.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > towers.rsp
|
||||||
|
echo drawing.obj latin.obj malloc.obj maxflow.obj >> towers.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> towers.rsp
|
||||||
|
echo random.obj towers.obj tree234.obj version.obj >> towers.rsp
|
||||||
|
echo windows.obj >> towers.rsp
|
||||||
|
|
||||||
|
tracks.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > tracks.rsp
|
||||||
|
echo drawing.obj dsf.obj findloop.obj malloc.obj >> tracks.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> tracks.rsp
|
||||||
|
echo random.obj tracks.obj version.obj windows.obj >> tracks.rsp
|
||||||
|
|
||||||
|
twiddle.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > twiddle.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> twiddle.rsp
|
||||||
|
echo noicon.res printing.obj random.obj twiddle.obj >> twiddle.rsp
|
||||||
|
echo version.obj windows.obj >> twiddle.rsp
|
||||||
|
|
||||||
|
undead.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > undead.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> undead.rsp
|
||||||
|
echo noicon.res printing.obj random.obj undead.obj >> undead.rsp
|
||||||
|
echo version.obj windows.obj >> undead.rsp
|
||||||
|
|
||||||
|
unequal.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > unequal.rsp
|
||||||
|
echo drawing.obj latin.obj malloc.obj maxflow.obj >> unequal.rsp
|
||||||
|
echo midend.obj misc.obj noicon.res printing.obj >> unequal.rsp
|
||||||
|
echo random.obj tree234.obj unequal.obj version.obj >> unequal.rsp
|
||||||
|
echo windows.obj >> unequal.rsp
|
||||||
|
|
||||||
|
unruly.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > unruly.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> unruly.rsp
|
||||||
|
echo noicon.res printing.obj random.obj unruly.obj >> unruly.rsp
|
||||||
|
echo version.obj windows.obj >> unruly.rsp
|
||||||
|
|
||||||
|
untangle.rsp: $(MAKEFILE)
|
||||||
|
echo $(BASELIBS) > untangle.rsp
|
||||||
|
echo drawing.obj malloc.obj midend.obj misc.obj >> untangle.rsp
|
||||||
|
echo noicon.res printing.obj random.obj tree234.obj >> untangle.rsp
|
||||||
|
echo untangle.obj version.obj windows.obj >> untangle.rsp
|
||||||
|
|
||||||
|
blackbox.obj: .\blackbox.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\blackbox.c /Foblackbox.obj
|
||||||
|
blackbo3.obj: .\blackbox.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\blackbox.c /Foblackbo3.obj
|
||||||
|
bridges.obj: .\bridges.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\bridges.c /Fobridges.obj
|
||||||
|
bridges3.obj: .\bridges.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\bridges.c /Fobridges3.obj
|
||||||
|
combi.obj: .\combi.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\combi.c /Focombi.obj
|
||||||
|
cube.obj: .\cube.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\cube.c /Focube.obj
|
||||||
|
cube3.obj: .\cube.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\cube.c /Focube3.obj
|
||||||
|
divvy.obj: .\divvy.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\divvy.c /Fodivvy.obj
|
||||||
|
dominosa.obj: .\dominosa.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\dominosa.c /Fodominosa.obj
|
||||||
|
dominos3.obj: .\dominosa.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\dominosa.c /Fodominos3.obj
|
||||||
|
drawing.obj: .\drawing.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\drawing.c /Fodrawing.obj
|
||||||
|
dsf.obj: .\dsf.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\dsf.c /Fodsf.obj
|
||||||
|
fifteen.obj: .\fifteen.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\fifteen.c /Fofifteen.obj
|
||||||
|
fifteen5.obj: .\fifteen.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\fifteen.c /Fofifteen5.obj
|
||||||
|
fifteen2.obj: .\fifteen.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\fifteen.c /Fofifteen2.obj
|
||||||
|
filling.obj: .\filling.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\filling.c /Fofilling.obj
|
||||||
|
filling5.obj: .\filling.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\filling.c /Fofilling5.obj
|
||||||
|
filling2.obj: .\filling.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\filling.c /Fofilling2.obj
|
||||||
|
findloop.obj: .\findloop.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\findloop.c /Fofindloop.obj
|
||||||
|
flip.obj: .\flip.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\flip.c /Foflip.obj
|
||||||
|
flip3.obj: .\flip.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\flip.c /Foflip3.obj
|
||||||
|
flood.obj: .\flood.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\flood.c /Foflood.obj
|
||||||
|
flood3.obj: .\flood.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\flood.c /Foflood3.obj
|
||||||
|
galaxies.obj: .\galaxies.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\galaxies.c /Fogalaxies.obj
|
||||||
|
galaxie7.obj: .\galaxies.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\galaxies.c /Fogalaxie7.obj
|
||||||
|
galaxie4.obj: .\galaxies.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_PICTURE_GENERATOR /c .\galaxies.c /Fogalaxie4.obj
|
||||||
|
galaxie2.obj: .\galaxies.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\galaxies.c /Fogalaxie2.obj
|
||||||
|
grid.obj: .\grid.c .\puzzles.h .\tree234.h .\grid.h .\penrose.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\grid.c /Fogrid.obj
|
||||||
|
gtk.obj: .\gtk.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\gtk.c /Fogtk.obj
|
||||||
|
guess.obj: .\guess.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\guess.c /Foguess.obj
|
||||||
|
guess3.obj: .\guess.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\guess.c /Foguess3.obj
|
||||||
|
inertia.obj: .\inertia.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\inertia.c /Foinertia.obj
|
||||||
|
inertia3.obj: .\inertia.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\inertia.c /Foinertia3.obj
|
||||||
|
keen.obj: .\keen.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\keen.c /Fokeen.obj
|
||||||
|
keen5.obj: .\keen.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\keen.c /Fokeen5.obj
|
||||||
|
keen2.obj: .\keen.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\keen.c /Fokeen2.obj
|
||||||
|
latin.obj: .\latin.c .\puzzles.h .\tree234.h .\maxflow.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\latin.c /Folatin.obj
|
||||||
|
latin8.obj: .\latin.c .\puzzles.h .\tree234.h .\maxflow.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_LATIN_TEST /c .\latin.c /Folatin8.obj
|
||||||
|
latin6.obj: .\latin.c .\puzzles.h .\tree234.h .\maxflow.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\latin.c /Folatin6.obj
|
||||||
|
laydomino.obj: .\laydomino.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\laydomino.c /Folaydomino.obj
|
||||||
|
lightup.obj: .\lightup.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\lightup.c /Folightup.obj
|
||||||
|
lightup5.obj: .\lightup.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\lightup.c /Folightup5.obj
|
||||||
|
lightup2.obj: .\lightup.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\lightup.c /Folightup2.obj
|
||||||
|
list.obj: .\list.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\list.c /Folist.obj
|
||||||
|
loopgen.obj: .\loopgen.c .\puzzles.h .\tree234.h .\grid.h .\loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\loopgen.c /Foloopgen.obj
|
||||||
|
loopy.obj: .\loopy.c .\puzzles.h .\tree234.h .\grid.h .\loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\loopy.c /Foloopy.obj
|
||||||
|
loopy5.obj: .\loopy.c .\puzzles.h .\tree234.h .\grid.h .\loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\loopy.c /Foloopy5.obj
|
||||||
|
loopy2.obj: .\loopy.c .\puzzles.h .\tree234.h .\grid.h .\loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\loopy.c /Foloopy2.obj
|
||||||
|
magnets.obj: .\magnets.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\magnets.c /Fomagnets.obj
|
||||||
|
magnets5.obj: .\magnets.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\magnets.c /Fomagnets5.obj
|
||||||
|
magnets2.obj: .\magnets.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\magnets.c /Fomagnets2.obj
|
||||||
|
malloc.obj: .\malloc.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\malloc.c /Fomalloc.obj
|
||||||
|
map.obj: .\map.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\map.c /Fomap.obj
|
||||||
|
map5.obj: .\map.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\map.c /Fomap5.obj
|
||||||
|
map2.obj: .\map.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\map.c /Fomap2.obj
|
||||||
|
maxflow.obj: .\maxflow.c .\maxflow.h .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\maxflow.c /Fomaxflow.obj
|
||||||
|
midend.obj: .\midend.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\midend.c /Fomidend.obj
|
||||||
|
mines.obj: .\mines.c .\tree234.h .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\mines.c /Fomines.obj
|
||||||
|
mines5.obj: .\mines.c .\tree234.h .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\mines.c /Fomines5.obj
|
||||||
|
mines2.obj: .\mines.c .\tree234.h .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_OBFUSCATOR /c .\mines.c /Fomines2.obj
|
||||||
|
misc.obj: .\misc.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\misc.c /Fomisc.obj
|
||||||
|
net.obj: .\net.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\net.c /Fonet.obj
|
||||||
|
net3.obj: .\net.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\net.c /Fonet3.obj
|
||||||
|
netslide.obj: .\netslide.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\netslide.c /Fonetslide.obj
|
||||||
|
netslid3.obj: .\netslide.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\netslide.c /Fonetslid3.obj
|
||||||
|
no-icon.obj: .\no-icon.c
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\no-icon.c /Fono-icon.obj
|
||||||
|
noicon.res: .\noicon.rc .\puzzles.rc2 .\resource.h
|
||||||
|
rc $(FWHACK) $(RCFL) -r -fonoicon.res .\noicon.rc
|
||||||
|
nullfe.obj: .\nullfe.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\nullfe.c /Fonullfe.obj
|
||||||
|
nullgame.obj: .\nullgame.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\nullgame.c /Fonullgame.obj
|
||||||
|
obfusc.obj: .\obfusc.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\obfusc.c /Foobfusc.obj
|
||||||
|
osx.obj: .\osx.m .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\osx.m /Foosx.obj
|
||||||
|
palisade.obj: .\palisade.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\palisade.c /Fopalisade.obj
|
||||||
|
palisad3.obj: .\palisade.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\palisade.c /Fopalisad3.obj
|
||||||
|
pattern.obj: .\pattern.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\pattern.c /Fopattern.obj
|
||||||
|
pattern7.obj: .\pattern.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\pattern.c /Fopattern7.obj
|
||||||
|
pattern4.obj: .\pattern.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_PICTURE_GENERATOR /c .\pattern.c /Fopattern4.obj
|
||||||
|
pattern2.obj: .\pattern.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\pattern.c /Fopattern2.obj
|
||||||
|
pearl.obj: .\pearl.c .\puzzles.h .\grid.h .\loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\pearl.c /Fopearl.obj
|
||||||
|
pearl5.obj: .\pearl.c .\puzzles.h .\grid.h .\loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\pearl.c /Fopearl5.obj
|
||||||
|
pearl2.obj: .\pearl.c .\puzzles.h .\grid.h .\loopgen.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\pearl.c /Fopearl2.obj
|
||||||
|
pegs.obj: .\pegs.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\pegs.c /Fopegs.obj
|
||||||
|
pegs3.obj: .\pegs.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\pegs.c /Fopegs3.obj
|
||||||
|
penrose.obj: .\penrose.c .\puzzles.h .\penrose.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\penrose.c /Fopenrose.obj
|
||||||
|
printing.obj: .\printing.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\printing.c /Foprinting.obj
|
||||||
|
ps.obj: .\ps.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\ps.c /Fops.obj
|
||||||
|
random.obj: .\random.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\random.c /Forandom.obj
|
||||||
|
range.obj: .\range.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\range.c /Forange.obj
|
||||||
|
range3.obj: .\range.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\range.c /Forange3.obj
|
||||||
|
rect.obj: .\rect.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\rect.c /Forect.obj
|
||||||
|
rect3.obj: .\rect.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\rect.c /Forect3.obj
|
||||||
|
samegame.obj: .\samegame.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\samegame.c /Fosamegame.obj
|
||||||
|
samegam3.obj: .\samegame.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\samegame.c /Fosamegam3.obj
|
||||||
|
signpost.obj: .\signpost.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\signpost.c /Fosignpost.obj
|
||||||
|
signpos5.obj: .\signpost.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\signpost.c /Fosignpos5.obj
|
||||||
|
signpos2.obj: .\signpost.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\signpost.c /Fosignpos2.obj
|
||||||
|
singles.obj: .\singles.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\singles.c /Fosingles.obj
|
||||||
|
singles5.obj: .\singles.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\singles.c /Fosingles5.obj
|
||||||
|
singles3.obj: .\singles.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\singles.c /Fosingles3.obj
|
||||||
|
sixteen.obj: .\sixteen.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\sixteen.c /Fosixteen.obj
|
||||||
|
sixteen3.obj: .\sixteen.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\sixteen.c /Fosixteen3.obj
|
||||||
|
slant.obj: .\slant.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\slant.c /Foslant.obj
|
||||||
|
slant5.obj: .\slant.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\slant.c /Foslant5.obj
|
||||||
|
slant2.obj: .\slant.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\slant.c /Foslant2.obj
|
||||||
|
solo.obj: .\solo.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\solo.c /Fosolo.obj
|
||||||
|
solo5.obj: .\solo.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\solo.c /Fosolo5.obj
|
||||||
|
solo2.obj: .\solo.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\solo.c /Fosolo2.obj
|
||||||
|
tdq.obj: .\tdq.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\tdq.c /Fotdq.obj
|
||||||
|
tents.obj: .\tents.c .\puzzles.h .\maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\tents.c /Fotents.obj
|
||||||
|
tents5.obj: .\tents.c .\puzzles.h .\maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\tents.c /Fotents5.obj
|
||||||
|
tents3.obj: .\tents.c .\puzzles.h .\maxflow.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\tents.c /Fotents3.obj
|
||||||
|
towers.obj: .\towers.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\towers.c /Fotowers.obj
|
||||||
|
towers5.obj: .\towers.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\towers.c /Fotowers5.obj
|
||||||
|
towers2.obj: .\towers.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\towers.c /Fotowers2.obj
|
||||||
|
tracks.obj: .\tracks.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\tracks.c /Fotracks.obj
|
||||||
|
tracks3.obj: .\tracks.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\tracks.c /Fotracks3.obj
|
||||||
|
tree234.obj: .\tree234.c .\tree234.h .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\tree234.c /Fotree234.obj
|
||||||
|
twiddle.obj: .\twiddle.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\twiddle.c /Fotwiddle.obj
|
||||||
|
twiddle3.obj: .\twiddle.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\twiddle.c /Fotwiddle3.obj
|
||||||
|
undead.obj: .\undead.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\undead.c /Foundead.obj
|
||||||
|
undead3.obj: .\undead.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\undead.c /Foundead3.obj
|
||||||
|
unequal.obj: .\unequal.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\unequal.c /Founequal.obj
|
||||||
|
unequal5.obj: .\unequal.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\unequal.c /Founequal5.obj
|
||||||
|
unequal2.obj: .\unequal.c .\puzzles.h .\latin.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\unequal.c /Founequal2.obj
|
||||||
|
unruly.obj: .\unruly.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\unruly.c /Founruly.obj
|
||||||
|
unruly5.obj: .\unruly.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\unruly.c /Founruly5.obj
|
||||||
|
unruly2.obj: .\unruly.c .\puzzles.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DSTANDALONE_SOLVER /c .\unruly.c /Founruly2.obj
|
||||||
|
untangle.obj: .\untangle.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\untangle.c /Fountangle.obj
|
||||||
|
untangl3.obj: .\untangle.c .\puzzles.h .\tree234.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\untangle.c /Fountangl3.obj
|
||||||
|
version.obj: .\version.c .\version.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\version.c /Foversion.obj
|
||||||
|
windows.obj: .\windows.c .\puzzles.h .\resource.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /c .\windows.c /Fowindows.obj
|
||||||
|
windows1.obj: .\windows.c .\puzzles.h .\resource.h
|
||||||
|
$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) /DCOMBINED /c .\windows.c /Fowindows1.obj
|
||||||
|
|
||||||
|
|
||||||
|
clean: tidy
|
||||||
|
-del *.exe
|
||||||
|
|
||||||
|
tidy:
|
||||||
|
-del *.obj
|
||||||
|
-del *.res
|
||||||
|
-del *.pch
|
||||||
|
-del *.aps
|
||||||
|
-del *.ilk
|
||||||
|
-del *.pdb
|
||||||
|
-del *.rsp
|
||||||
|
-del *.dsp
|
||||||
|
-del *.dsw
|
||||||
|
-del *.ncb
|
||||||
|
-del *.opt
|
||||||
|
-del *.plg
|
||||||
|
-del *.map
|
||||||
|
-del *.idb
|
||||||
|
-del debug.log
|
||||||
|
|
@ -31,6 +31,10 @@ STANDALONE = nullfe random misc malloc
|
||||||
|
|
||||||
ALL = list
|
ALL = list
|
||||||
|
|
||||||
|
LATIN_DEPS = matching tree234
|
||||||
|
LATIN = latin LATIN_DEPS
|
||||||
|
LATIN_SOLVER = latin[STANDALONE_SOLVER] LATIN_DEPS
|
||||||
|
|
||||||
# First half of list.c.
|
# First half of list.c.
|
||||||
!begin >list.c
|
!begin >list.c
|
||||||
/*
|
/*
|
||||||
|
|
@ -61,6 +65,14 @@ const int gamecount = lenof(gamelist);
|
||||||
# Unix standalone application for special-purpose obfuscation.
|
# Unix standalone application for special-purpose obfuscation.
|
||||||
obfusc : [U] obfusc STANDALONE
|
obfusc : [U] obfusc STANDALONE
|
||||||
|
|
||||||
|
# Test program built from latin.c.
|
||||||
|
latincheck : [U] latin[STANDALONE_LATIN_TEST] LATIN_DEPS STANDALONE
|
||||||
|
latincheck : [C] latin[STANDALONE_LATIN_TEST] LATIN_DEPS STANDALONE
|
||||||
|
|
||||||
|
# Test program built from matching.c.
|
||||||
|
matching : [U] matching[STANDALONE_MATCHING_TEST] tree234 STANDALONE
|
||||||
|
matching : [C] matching[STANDALONE_MATCHING_TEST] tree234 STANDALONE
|
||||||
|
|
||||||
puzzles : [G] windows[COMBINED] WINDOWS_COMMON COMMON ALL noicon.res
|
puzzles : [G] windows[COMBINED] WINDOWS_COMMON COMMON ALL noicon.res
|
||||||
|
|
||||||
# Mac OS X unified application containing all the puzzles.
|
# Mac OS X unified application containing all the puzzles.
|
||||||
|
|
|
||||||
1832
apps/plugins/puzzles/src/aclocal.m4
vendored
Normal file
1832
apps/plugins/puzzles/src/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
348
apps/plugins/puzzles/src/compile
Executable file
348
apps/plugins/puzzles/src/compile
Executable file
|
|
@ -0,0 +1,348 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
|
||||||
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||||
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# This file is maintained in Automake, please report
|
||||||
|
# bugs to <bug-automake@gnu.org> or send patches to
|
||||||
|
# <automake-patches@gnu.org>.
|
||||||
|
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
|
||||||
|
# We need space, tab and new line, in precisely that order. Quoting is
|
||||||
|
# there to prevent tools from complaining about whitespace usage.
|
||||||
|
IFS=" "" $nl"
|
||||||
|
|
||||||
|
file_conv=
|
||||||
|
|
||||||
|
# func_file_conv build_file lazy
|
||||||
|
# Convert a $build file to $host form and store it in $file
|
||||||
|
# Currently only supports Windows hosts. If the determined conversion
|
||||||
|
# type is listed in (the comma separated) LAZY, no conversion will
|
||||||
|
# take place.
|
||||||
|
func_file_conv ()
|
||||||
|
{
|
||||||
|
file=$1
|
||||||
|
case $file in
|
||||||
|
/ | /[!/]*) # absolute file, and not a UNC file
|
||||||
|
if test -z "$file_conv"; then
|
||||||
|
# lazily determine how to convert abs files
|
||||||
|
case `uname -s` in
|
||||||
|
MINGW*)
|
||||||
|
file_conv=mingw
|
||||||
|
;;
|
||||||
|
CYGWIN*)
|
||||||
|
file_conv=cygwin
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
file_conv=wine
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
case $file_conv/,$2, in
|
||||||
|
*,$file_conv,*)
|
||||||
|
;;
|
||||||
|
mingw/*)
|
||||||
|
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||||
|
;;
|
||||||
|
cygwin/*)
|
||||||
|
file=`cygpath -m "$file" || echo "$file"`
|
||||||
|
;;
|
||||||
|
wine/*)
|
||||||
|
file=`winepath -w "$file" || echo "$file"`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_dashL linkdir
|
||||||
|
# Make cl look for libraries in LINKDIR
|
||||||
|
func_cl_dashL ()
|
||||||
|
{
|
||||||
|
func_file_conv "$1"
|
||||||
|
if test -z "$lib_path"; then
|
||||||
|
lib_path=$file
|
||||||
|
else
|
||||||
|
lib_path="$lib_path;$file"
|
||||||
|
fi
|
||||||
|
linker_opts="$linker_opts -LIBPATH:$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_dashl library
|
||||||
|
# Do a library search-path lookup for cl
|
||||||
|
func_cl_dashl ()
|
||||||
|
{
|
||||||
|
lib=$1
|
||||||
|
found=no
|
||||||
|
save_IFS=$IFS
|
||||||
|
IFS=';'
|
||||||
|
for dir in $lib_path $LIB
|
||||||
|
do
|
||||||
|
IFS=$save_IFS
|
||||||
|
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/$lib.dll.lib
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -f "$dir/$lib.lib"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/$lib.lib
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -f "$dir/lib$lib.a"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/lib$lib.a
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS=$save_IFS
|
||||||
|
|
||||||
|
if test "$found" != yes; then
|
||||||
|
lib=$lib.lib
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_wrapper cl arg...
|
||||||
|
# Adjust compile command to suit cl
|
||||||
|
func_cl_wrapper ()
|
||||||
|
{
|
||||||
|
# Assume a capable shell
|
||||||
|
lib_path=
|
||||||
|
shared=:
|
||||||
|
linker_opts=
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
if test -n "$eat"; then
|
||||||
|
eat=
|
||||||
|
else
|
||||||
|
case $1 in
|
||||||
|
-o)
|
||||||
|
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||||
|
eat=1
|
||||||
|
case $2 in
|
||||||
|
*.o | *.[oO][bB][jJ])
|
||||||
|
func_file_conv "$2"
|
||||||
|
set x "$@" -Fo"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
func_file_conv "$2"
|
||||||
|
set x "$@" -Fe"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
-I)
|
||||||
|
eat=1
|
||||||
|
func_file_conv "$2" mingw
|
||||||
|
set x "$@" -I"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-I*)
|
||||||
|
func_file_conv "${1#-I}" mingw
|
||||||
|
set x "$@" -I"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-l)
|
||||||
|
eat=1
|
||||||
|
func_cl_dashl "$2"
|
||||||
|
set x "$@" "$lib"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-l*)
|
||||||
|
func_cl_dashl "${1#-l}"
|
||||||
|
set x "$@" "$lib"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-L)
|
||||||
|
eat=1
|
||||||
|
func_cl_dashL "$2"
|
||||||
|
;;
|
||||||
|
-L*)
|
||||||
|
func_cl_dashL "${1#-L}"
|
||||||
|
;;
|
||||||
|
-static)
|
||||||
|
shared=false
|
||||||
|
;;
|
||||||
|
-Wl,*)
|
||||||
|
arg=${1#-Wl,}
|
||||||
|
save_ifs="$IFS"; IFS=','
|
||||||
|
for flag in $arg; do
|
||||||
|
IFS="$save_ifs"
|
||||||
|
linker_opts="$linker_opts $flag"
|
||||||
|
done
|
||||||
|
IFS="$save_ifs"
|
||||||
|
;;
|
||||||
|
-Xlinker)
|
||||||
|
eat=1
|
||||||
|
linker_opts="$linker_opts $2"
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||||
|
func_file_conv "$1"
|
||||||
|
set x "$@" -Tp"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||||
|
func_file_conv "$1" mingw
|
||||||
|
set x "$@" "$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
if test -n "$linker_opts"; then
|
||||||
|
linker_opts="-link$linker_opts"
|
||||||
|
fi
|
||||||
|
exec "$@" $linker_opts
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
eat=
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
'')
|
||||||
|
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||||
|
exit 1;
|
||||||
|
;;
|
||||||
|
-h | --h*)
|
||||||
|
cat <<\EOF
|
||||||
|
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||||
|
|
||||||
|
Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||||
|
arguments, and rename the output as expected.
|
||||||
|
|
||||||
|
If you are trying to build a whole package this is not the
|
||||||
|
right script to run: please start by reading the file 'INSTALL'.
|
||||||
|
|
||||||
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
|
EOF
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
-v | --v*)
|
||||||
|
echo "compile $scriptversion"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
||||||
|
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
||||||
|
func_cl_wrapper "$@" # Doesn't return...
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ofile=
|
||||||
|
cfile=
|
||||||
|
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
if test -n "$eat"; then
|
||||||
|
eat=
|
||||||
|
else
|
||||||
|
case $1 in
|
||||||
|
-o)
|
||||||
|
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||||
|
# So we strip '-o arg' only if arg is an object.
|
||||||
|
eat=1
|
||||||
|
case $2 in
|
||||||
|
*.o | *.obj)
|
||||||
|
ofile=$2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set x "$@" -o "$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*.c)
|
||||||
|
cfile=$1
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if test -z "$ofile" || test -z "$cfile"; then
|
||||||
|
# If no '-o' option was seen then we might have been invoked from a
|
||||||
|
# pattern rule where we don't need one. That is ok -- this is a
|
||||||
|
# normal compilation that the losing compiler can handle. If no
|
||||||
|
# '.c' file was seen then we are probably linking. That is also
|
||||||
|
# ok.
|
||||||
|
exec "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Name of file we expect compiler to create.
|
||||||
|
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||||
|
|
||||||
|
# Create the lock directory.
|
||||||
|
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||||
|
# that we are using for the .o file. Also, base the name on the expected
|
||||||
|
# object file name, since that is what matters with a parallel build.
|
||||||
|
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||||
|
while true; do
|
||||||
|
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
# FIXME: race condition here if user kills between mkdir and trap.
|
||||||
|
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||||
|
|
||||||
|
# Run the compile.
|
||||||
|
"$@"
|
||||||
|
ret=$?
|
||||||
|
|
||||||
|
if test -f "$cofile"; then
|
||||||
|
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||||
|
elif test -f "${cofile}bj"; then
|
||||||
|
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rmdir "$lockdir"
|
||||||
|
exit $ret
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-indentation: 2
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
||||||
445
apps/plugins/puzzles/src/config.log
Normal file
445
apps/plugins/puzzles/src/config.log
Normal file
|
|
@ -0,0 +1,445 @@
|
||||||
|
This file contains any messages produced by compilers while
|
||||||
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
|
It was created by puzzles configure 6.66, which was
|
||||||
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
|
$ ./configure
|
||||||
|
|
||||||
|
## --------- ##
|
||||||
|
## Platform. ##
|
||||||
|
## --------- ##
|
||||||
|
|
||||||
|
hostname = alpha
|
||||||
|
uname -m = x86_64
|
||||||
|
uname -r = 4.11.9-1-ARCH
|
||||||
|
uname -s = Linux
|
||||||
|
uname -v = #1 SMP PREEMPT Wed Jul 5 18:23:08 CEST 2017
|
||||||
|
|
||||||
|
/usr/bin/uname -p = unknown
|
||||||
|
/bin/uname -X = unknown
|
||||||
|
|
||||||
|
/bin/arch = unknown
|
||||||
|
/usr/bin/arch -k = unknown
|
||||||
|
/usr/convex/getsysinfo = unknown
|
||||||
|
/usr/bin/hostinfo = unknown
|
||||||
|
/bin/machine = unknown
|
||||||
|
/usr/bin/oslevel = unknown
|
||||||
|
/bin/universe = unknown
|
||||||
|
|
||||||
|
PATH: /usr/local/sbin
|
||||||
|
PATH: /usr/local/bin
|
||||||
|
PATH: /usr/bin
|
||||||
|
PATH: /opt/cuda/bin
|
||||||
|
PATH: /usr/lib/jvm/default/bin
|
||||||
|
PATH: /opt/kde/bin
|
||||||
|
PATH: /usr/bin/site_perl
|
||||||
|
PATH: /usr/bin/vendor_perl
|
||||||
|
PATH: /usr/bin/core_perl
|
||||||
|
|
||||||
|
|
||||||
|
## ----------- ##
|
||||||
|
## Core tests. ##
|
||||||
|
## ----------- ##
|
||||||
|
|
||||||
|
configure:1943: checking for a BSD-compatible install
|
||||||
|
configure:2011: result: /usr/bin/install -c
|
||||||
|
configure:2022: checking whether build environment is sane
|
||||||
|
configure:2077: result: yes
|
||||||
|
configure:2228: checking for a thread-safe mkdir -p
|
||||||
|
configure:2267: result: /usr/bin/mkdir -p
|
||||||
|
configure:2274: checking for gawk
|
||||||
|
configure:2290: found /usr/bin/gawk
|
||||||
|
configure:2301: result: gawk
|
||||||
|
configure:2312: checking whether make sets $(MAKE)
|
||||||
|
configure:2334: result: yes
|
||||||
|
configure:2363: checking whether make supports nested variables
|
||||||
|
configure:2380: result: yes
|
||||||
|
configure:2554: checking for gcc
|
||||||
|
configure:2570: found /usr/bin/gcc
|
||||||
|
configure:2581: result: gcc
|
||||||
|
configure:2810: checking for C compiler version
|
||||||
|
configure:2819: gcc --version >&5
|
||||||
|
gcc (GCC) 7.2.0
|
||||||
|
Copyright (C) 2017 Free Software Foundation, Inc.
|
||||||
|
This is free software; see the source for copying conditions. There is NO
|
||||||
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
configure:2830: $? = 0
|
||||||
|
configure:2819: gcc -v >&5
|
||||||
|
Using built-in specs.
|
||||||
|
COLLECT_GCC=gcc
|
||||||
|
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/lto-wrapper
|
||||||
|
Target: x86_64-pc-linux-gnu
|
||||||
|
Configured with: /build/gcc-multilib/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp
|
||||||
|
Thread model: posix
|
||||||
|
gcc version 7.2.0 (GCC)
|
||||||
|
configure:2830: $? = 0
|
||||||
|
configure:2819: gcc -V >&5
|
||||||
|
gcc: error: unrecognized command line option '-V'
|
||||||
|
gcc: fatal error: no input files
|
||||||
|
compilation terminated.
|
||||||
|
configure:2830: $? = 1
|
||||||
|
configure:2819: gcc -qversion >&5
|
||||||
|
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
|
||||||
|
gcc: fatal error: no input files
|
||||||
|
compilation terminated.
|
||||||
|
configure:2830: $? = 1
|
||||||
|
configure:2850: checking whether the C compiler works
|
||||||
|
configure:2872: gcc conftest.c >&5
|
||||||
|
configure:2876: $? = 0
|
||||||
|
configure:2924: result: yes
|
||||||
|
configure:2927: checking for C compiler default output file name
|
||||||
|
configure:2929: result: a.out
|
||||||
|
configure:2935: checking for suffix of executables
|
||||||
|
configure:2942: gcc -o conftest conftest.c >&5
|
||||||
|
configure:2946: $? = 0
|
||||||
|
configure:2968: result:
|
||||||
|
configure:2990: checking whether we are cross compiling
|
||||||
|
configure:2998: gcc -o conftest conftest.c >&5
|
||||||
|
configure:3002: $? = 0
|
||||||
|
configure:3009: ./conftest
|
||||||
|
configure:3013: $? = 0
|
||||||
|
configure:3028: result: no
|
||||||
|
configure:3033: checking for suffix of object files
|
||||||
|
configure:3055: gcc -c conftest.c >&5
|
||||||
|
configure:3059: $? = 0
|
||||||
|
configure:3080: result: o
|
||||||
|
configure:3084: checking whether we are using the GNU C compiler
|
||||||
|
configure:3103: gcc -c conftest.c >&5
|
||||||
|
configure:3103: $? = 0
|
||||||
|
configure:3112: result: yes
|
||||||
|
configure:3121: checking whether gcc accepts -g
|
||||||
|
configure:3141: gcc -c -g conftest.c >&5
|
||||||
|
configure:3141: $? = 0
|
||||||
|
configure:3182: result: yes
|
||||||
|
configure:3199: checking for gcc option to accept ISO C89
|
||||||
|
configure:3262: gcc -c -g -O2 conftest.c >&5
|
||||||
|
configure:3262: $? = 0
|
||||||
|
configure:3275: result: none needed
|
||||||
|
configure:3300: checking whether gcc understands -c and -o together
|
||||||
|
configure:3322: gcc -c conftest.c -o conftest2.o
|
||||||
|
configure:3325: $? = 0
|
||||||
|
configure:3322: gcc -c conftest.c -o conftest2.o
|
||||||
|
configure:3325: $? = 0
|
||||||
|
configure:3337: result: yes
|
||||||
|
configure:3365: checking for style of include used by make
|
||||||
|
configure:3393: result: GNU
|
||||||
|
configure:3419: checking dependency style of gcc
|
||||||
|
configure:3530: result: gcc3
|
||||||
|
configure:3591: checking for pkg-config
|
||||||
|
configure:3609: found /usr/bin/pkg-config
|
||||||
|
configure:3622: result: /usr/bin/pkg-config
|
||||||
|
configure:3643: checking for GTK+ - version >= 3.0.0
|
||||||
|
configure:3750: gcc -o conftest -g -O2 -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 >&5
|
||||||
|
configure:3750: $? = 0
|
||||||
|
configure:3750: ./conftest
|
||||||
|
configure:3750: $? = 0
|
||||||
|
configure:3764: result: yes (version 3.22.16)
|
||||||
|
configure:4287: checking for usable gcc warning flags
|
||||||
|
configure:4330: gcc -c -g -O2 -Wall -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5
|
||||||
|
configure:4330: $? = 0
|
||||||
|
configure:4330: gcc -c -g -O2 -Wall -Werror -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5
|
||||||
|
configure:4330: $? = 0
|
||||||
|
configure:4330: gcc -c -g -O2 -Wall -Werror -std=c89 -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5
|
||||||
|
configure:4330: $? = 0
|
||||||
|
configure:4330: gcc -c -g -O2 -Wall -Werror -std=c89 -pedantic -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5
|
||||||
|
In file included from /usr/lib/glib-2.0/include/glibconfig.h:9:0,
|
||||||
|
from /usr/include/glib-2.0/glib/gtypes.h:32,
|
||||||
|
from /usr/include/glib-2.0/glib/galloca.h:32,
|
||||||
|
from /usr/include/glib-2.0/glib.h:30,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdkconfig.h:13,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdk.h:30,
|
||||||
|
from /usr/include/gtk-3.0/gtk/gtk.h:30,
|
||||||
|
from conftest.c:24:
|
||||||
|
/usr/include/glib-2.0/glib/gtypes.h: In function '_GLIB_CHECKED_ADD_U64':
|
||||||
|
/usr/include/glib-2.0/glib/gtypes.h:423:41: error: ISO C90 does not support 'long long' [-Werror=long-long]
|
||||||
|
G_STATIC_ASSERT(sizeof (unsigned long long) == sizeof (guint64));
|
||||||
|
^
|
||||||
|
/usr/include/glib-2.0/glib/gmacros.h:232:104: note: in definition of macro 'G_STATIC_ASSERT'
|
||||||
|
#define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1] G_GNUC_UNUSED
|
||||||
|
^~~~
|
||||||
|
In file included from /usr/include/glib-2.0/glib/galloca.h:32:0,
|
||||||
|
from /usr/include/glib-2.0/glib.h:30,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdkconfig.h:13,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdk.h:30,
|
||||||
|
from /usr/include/gtk-3.0/gtk/gtk.h:30,
|
||||||
|
from conftest.c:24:
|
||||||
|
/usr/include/glib-2.0/glib/gtypes.h:424:58: error: ISO C90 does not support 'long long' [-Werror=long-long]
|
||||||
|
return !__builtin_uaddll_overflow(a, b, (unsigned long long *) dest); }
|
||||||
|
^~~~
|
||||||
|
/usr/include/glib-2.0/glib/gtypes.h: In function '_GLIB_CHECKED_MUL_U64':
|
||||||
|
/usr/include/glib-2.0/glib/gtypes.h:426:58: error: ISO C90 does not support 'long long' [-Werror=long-long]
|
||||||
|
return !__builtin_umulll_overflow(a, b, (unsigned long long *) dest); }
|
||||||
|
^~~~
|
||||||
|
In file included from /usr/include/glib-2.0/glib.h:62:0,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdkconfig.h:13,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdk.h:30,
|
||||||
|
from /usr/include/gtk-3.0/gtk/gtk.h:30,
|
||||||
|
from conftest.c:24:
|
||||||
|
/usr/include/glib-2.0/glib/gmessages.h: At top level:
|
||||||
|
/usr/include/glib-2.0/glib/gmessages.h:136:29: error: comma at end of enumerator list [-Werror=pedantic]
|
||||||
|
G_LOG_WRITER_UNHANDLED = 0,
|
||||||
|
^
|
||||||
|
/usr/include/glib-2.0/glib/gmessages.h:322:17: error: anonymous variadic macros were introduced in C99 [-Werror=variadic-macros]
|
||||||
|
#define g_error(...) G_STMT_START { \
|
||||||
|
^~~
|
||||||
|
/usr/include/glib-2.0/glib/gmessages.h:328:19: error: anonymous variadic macros were introduced in C99 [-Werror=variadic-macros]
|
||||||
|
#define g_message(...) g_log (G_LOG_DOMAIN, \
|
||||||
|
^~~
|
||||||
|
/usr/include/glib-2.0/glib/gmessages.h:331:20: error: anonymous variadic macros were introduced in C99 [-Werror=variadic-macros]
|
||||||
|
#define g_critical(...) g_log (G_LOG_DOMAIN, \
|
||||||
|
^~~
|
||||||
|
/usr/include/glib-2.0/glib/gmessages.h:334:19: error: anonymous variadic macros were introduced in C99 [-Werror=variadic-macros]
|
||||||
|
#define g_warning(...) g_log (G_LOG_DOMAIN, \
|
||||||
|
^~~
|
||||||
|
/usr/include/glib-2.0/glib/gmessages.h:337:16: error: anonymous variadic macros were introduced in C99 [-Werror=variadic-macros]
|
||||||
|
#define g_info(...) g_log (G_LOG_DOMAIN, \
|
||||||
|
^~~
|
||||||
|
/usr/include/glib-2.0/glib/gmessages.h:340:17: error: anonymous variadic macros were introduced in C99 [-Werror=variadic-macros]
|
||||||
|
#define g_debug(...) g_log (G_LOG_DOMAIN, \
|
||||||
|
^~~
|
||||||
|
In file included from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:30:0,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdk.h:32,
|
||||||
|
from /usr/include/gtk-3.0/gtk/gtk.h:30,
|
||||||
|
from conftest.c:24:
|
||||||
|
/usr/include/gtk-3.0/gdk/gdktypes.h:319:39: error: comma at end of enumerator list [-Werror=pedantic]
|
||||||
|
GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK,
|
||||||
|
^
|
||||||
|
/usr/include/gtk-3.0/gdk/gdktypes.h:597:48: error: comma at end of enumerator list [-Werror=pedantic]
|
||||||
|
GDK_AXIS_FLAG_SLIDER = 1 << GDK_AXIS_SLIDER,
|
||||||
|
^
|
||||||
|
In file included from /usr/include/gtk-3.0/gdk/gdkevents.h:36:0,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdkdisplay.h:31,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdkscreen.h:32,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
|
||||||
|
from /usr/include/gtk-3.0/gdk/gdk.h:32,
|
||||||
|
from /usr/include/gtk-3.0/gtk/gtk.h:30,
|
||||||
|
from conftest.c:24:
|
||||||
|
/usr/include/gtk-3.0/gdk/gdkdevicetool.h:61:28: error: comma at end of enumerator list [-Werror=pedantic]
|
||||||
|
GDK_DEVICE_TOOL_TYPE_LENS,
|
||||||
|
^
|
||||||
|
cc1: all warnings being treated as errors
|
||||||
|
configure:4330: $? = 1
|
||||||
|
configure: failed program was:
|
||||||
|
| /* confdefs.h */
|
||||||
|
| #define PACKAGE_NAME "puzzles"
|
||||||
|
| #define PACKAGE_TARNAME "puzzles"
|
||||||
|
| #define PACKAGE_VERSION "6.66"
|
||||||
|
| #define PACKAGE_STRING "puzzles 6.66"
|
||||||
|
| #define PACKAGE_BUGREPORT "anakin@pobox.com"
|
||||||
|
| #define PACKAGE_URL ""
|
||||||
|
| #define PACKAGE "puzzles"
|
||||||
|
| #define VERSION "6.66"
|
||||||
|
| /* end confdefs.h. */
|
||||||
|
|
|
||||||
|
| #include <stdio.h>
|
||||||
|
| #include <assert.h>
|
||||||
|
| #include <stdlib.h>
|
||||||
|
| #include <time.h>
|
||||||
|
| #include <stdarg.h>
|
||||||
|
| #include <string.h>
|
||||||
|
| #include <errno.h>
|
||||||
|
| #include <math.h>
|
||||||
|
|
|
||||||
|
| #include <sys/time.h>
|
||||||
|
| #include <sys/resource.h>
|
||||||
|
|
|
||||||
|
| #include <gtk/gtk.h>
|
||||||
|
| #include <gdk/gdkkeysyms.h>
|
||||||
|
|
|
||||||
|
| #include <gdk-pixbuf/gdk-pixbuf.h>
|
||||||
|
|
|
||||||
|
| #include <gdk/gdkx.h>
|
||||||
|
| #include <X11/Xlib.h>
|
||||||
|
| #include <X11/Xutil.h>
|
||||||
|
| #include <X11/Xatom.h>
|
||||||
|
|
|
||||||
|
| int
|
||||||
|
| main ()
|
||||||
|
| {
|
||||||
|
|
|
||||||
|
| return 0;
|
||||||
|
|
|
||||||
|
| ;
|
||||||
|
| return 0;
|
||||||
|
| }
|
||||||
|
configure:4337: result: -Wall -Werror -std=c89
|
||||||
|
configure:4385: checking for ranlib
|
||||||
|
configure:4401: found /usr/bin/ranlib
|
||||||
|
configure:4412: result: ranlib
|
||||||
|
configure:4582: checking that generated files are newer than configure
|
||||||
|
configure:4588: result: done
|
||||||
|
configure:4611: creating ./config.status
|
||||||
|
|
||||||
|
## ---------------------- ##
|
||||||
|
## Running config.status. ##
|
||||||
|
## ---------------------- ##
|
||||||
|
|
||||||
|
This file was extended by puzzles config.status 6.66, which was
|
||||||
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
|
CONFIG_FILES =
|
||||||
|
CONFIG_HEADERS =
|
||||||
|
CONFIG_LINKS =
|
||||||
|
CONFIG_COMMANDS =
|
||||||
|
$ ./config.status
|
||||||
|
|
||||||
|
on alpha
|
||||||
|
|
||||||
|
config.status:782: creating Makefile
|
||||||
|
config.status:954: executing depfiles commands
|
||||||
|
|
||||||
|
## ---------------- ##
|
||||||
|
## Cache variables. ##
|
||||||
|
## ---------------- ##
|
||||||
|
|
||||||
|
ac_cv_c_compiler_gnu=yes
|
||||||
|
ac_cv_env_CC_set=
|
||||||
|
ac_cv_env_CC_value=
|
||||||
|
ac_cv_env_CFLAGS_set=
|
||||||
|
ac_cv_env_CFLAGS_value=
|
||||||
|
ac_cv_env_CPPFLAGS_set=
|
||||||
|
ac_cv_env_CPPFLAGS_value=
|
||||||
|
ac_cv_env_LDFLAGS_set=
|
||||||
|
ac_cv_env_LDFLAGS_value=
|
||||||
|
ac_cv_env_LIBS_set=
|
||||||
|
ac_cv_env_LIBS_value=
|
||||||
|
ac_cv_env_PKG_CONFIG_LIBDIR_set=
|
||||||
|
ac_cv_env_PKG_CONFIG_LIBDIR_value=
|
||||||
|
ac_cv_env_PKG_CONFIG_PATH_set=
|
||||||
|
ac_cv_env_PKG_CONFIG_PATH_value=
|
||||||
|
ac_cv_env_PKG_CONFIG_set=
|
||||||
|
ac_cv_env_PKG_CONFIG_value=
|
||||||
|
ac_cv_env_build_alias_set=
|
||||||
|
ac_cv_env_build_alias_value=
|
||||||
|
ac_cv_env_host_alias_set=
|
||||||
|
ac_cv_env_host_alias_value=
|
||||||
|
ac_cv_env_target_alias_set=
|
||||||
|
ac_cv_env_target_alias_value=
|
||||||
|
ac_cv_objext=o
|
||||||
|
ac_cv_path_PKG_CONFIG=/usr/bin/pkg-config
|
||||||
|
ac_cv_path_install='/usr/bin/install -c'
|
||||||
|
ac_cv_path_mkdir=/usr/bin/mkdir
|
||||||
|
ac_cv_prog_AWK=gawk
|
||||||
|
ac_cv_prog_ac_ct_CC=gcc
|
||||||
|
ac_cv_prog_ac_ct_RANLIB=ranlib
|
||||||
|
ac_cv_prog_cc_c89=
|
||||||
|
ac_cv_prog_cc_g=yes
|
||||||
|
ac_cv_prog_make_make_set=yes
|
||||||
|
am_cv_CC_dependencies_compiler_type=gcc3
|
||||||
|
am_cv_make_support_nested_variables=yes
|
||||||
|
am_cv_prog_cc_c_o=yes
|
||||||
|
|
||||||
|
## ----------------- ##
|
||||||
|
## Output variables. ##
|
||||||
|
## ----------------- ##
|
||||||
|
|
||||||
|
ACLOCAL='${SHELL} /home/franklin/puzzles/missing aclocal-1.15'
|
||||||
|
AMDEPBACKSLASH='\'
|
||||||
|
AMDEP_FALSE='#'
|
||||||
|
AMDEP_TRUE=''
|
||||||
|
AMTAR='$${TAR-tar}'
|
||||||
|
AM_BACKSLASH='\'
|
||||||
|
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
|
||||||
|
AM_DEFAULT_VERBOSITY='1'
|
||||||
|
AM_V='$(V)'
|
||||||
|
AUTOCONF='${SHELL} /home/franklin/puzzles/missing autoconf'
|
||||||
|
AUTOHEADER='${SHELL} /home/franklin/puzzles/missing autoheader'
|
||||||
|
AUTOMAKE='${SHELL} /home/franklin/puzzles/missing automake-1.15'
|
||||||
|
AWK='gawk'
|
||||||
|
CC='gcc'
|
||||||
|
CCDEPMODE='depmode=gcc3'
|
||||||
|
CFLAGS='-g -O2 -Wall -Werror -std=c89'
|
||||||
|
CPPFLAGS=''
|
||||||
|
CYGPATH_W='echo'
|
||||||
|
DEFS='-DPACKAGE_NAME=\"puzzles\" -DPACKAGE_TARNAME=\"puzzles\" -DPACKAGE_VERSION=\"6.66\" -DPACKAGE_STRING=\"puzzles\ 6.66\" -DPACKAGE_BUGREPORT=\"anakin@pobox.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"puzzles\" -DVERSION=\"6.66\"'
|
||||||
|
DEPDIR='.deps'
|
||||||
|
ECHO_C=''
|
||||||
|
ECHO_N='-n'
|
||||||
|
ECHO_T=''
|
||||||
|
EXEEXT=''
|
||||||
|
GTK_CFLAGS='-pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include'
|
||||||
|
GTK_LIBS='-lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0'
|
||||||
|
INSTALL_DATA='${INSTALL} -m 644'
|
||||||
|
INSTALL_PROGRAM='${INSTALL}'
|
||||||
|
INSTALL_SCRIPT='${INSTALL}'
|
||||||
|
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
|
||||||
|
LDFLAGS=''
|
||||||
|
LIBOBJS=''
|
||||||
|
LIBS=''
|
||||||
|
LTLIBOBJS=''
|
||||||
|
MAKEINFO='${SHELL} /home/franklin/puzzles/missing makeinfo'
|
||||||
|
MKDIR_P='/usr/bin/mkdir -p'
|
||||||
|
OBJEXT='o'
|
||||||
|
PACKAGE='puzzles'
|
||||||
|
PACKAGE_BUGREPORT='anakin@pobox.com'
|
||||||
|
PACKAGE_NAME='puzzles'
|
||||||
|
PACKAGE_STRING='puzzles 6.66'
|
||||||
|
PACKAGE_TARNAME='puzzles'
|
||||||
|
PACKAGE_URL=''
|
||||||
|
PACKAGE_VERSION='6.66'
|
||||||
|
PATH_SEPARATOR=':'
|
||||||
|
PKG_CONFIG='/usr/bin/pkg-config'
|
||||||
|
PKG_CONFIG_LIBDIR=''
|
||||||
|
PKG_CONFIG_PATH=''
|
||||||
|
RANLIB='ranlib'
|
||||||
|
SET_MAKE=''
|
||||||
|
SHELL='/bin/sh'
|
||||||
|
STRIP=''
|
||||||
|
VERSION='6.66'
|
||||||
|
ac_ct_CC='gcc'
|
||||||
|
am__EXEEXT_FALSE=''
|
||||||
|
am__EXEEXT_TRUE='#'
|
||||||
|
am__fastdepCC_FALSE='#'
|
||||||
|
am__fastdepCC_TRUE=''
|
||||||
|
am__include='include'
|
||||||
|
am__isrc=''
|
||||||
|
am__leading_dot='.'
|
||||||
|
am__nodep='_no'
|
||||||
|
am__quote=''
|
||||||
|
am__tar='$${TAR-tar} chof - "$$tardir"'
|
||||||
|
am__untar='$${TAR-tar} xf -'
|
||||||
|
bindir='${exec_prefix}/bin'
|
||||||
|
build_alias=''
|
||||||
|
datadir='${datarootdir}'
|
||||||
|
datarootdir='${prefix}/share'
|
||||||
|
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||||
|
dvidir='${docdir}'
|
||||||
|
exec_prefix='${prefix}'
|
||||||
|
host_alias=''
|
||||||
|
htmldir='${docdir}'
|
||||||
|
includedir='${prefix}/include'
|
||||||
|
infodir='${datarootdir}/info'
|
||||||
|
install_sh='${SHELL} /home/franklin/puzzles/install-sh'
|
||||||
|
libdir='${exec_prefix}/lib'
|
||||||
|
libexecdir='${exec_prefix}/libexec'
|
||||||
|
localedir='${datarootdir}/locale'
|
||||||
|
localstatedir='${prefix}/var'
|
||||||
|
mandir='${datarootdir}/man'
|
||||||
|
mkdir_p='$(MKDIR_P)'
|
||||||
|
oldincludedir='/usr/include'
|
||||||
|
pdfdir='${docdir}'
|
||||||
|
prefix='/usr/local'
|
||||||
|
program_transform_name='s,x,x,'
|
||||||
|
psdir='${docdir}'
|
||||||
|
sbindir='${exec_prefix}/sbin'
|
||||||
|
sharedstatedir='${prefix}/com'
|
||||||
|
sysconfdir='${prefix}/etc'
|
||||||
|
target_alias=''
|
||||||
|
|
||||||
|
## ----------- ##
|
||||||
|
## confdefs.h. ##
|
||||||
|
## ----------- ##
|
||||||
|
|
||||||
|
/* confdefs.h */
|
||||||
|
#define PACKAGE_NAME "puzzles"
|
||||||
|
#define PACKAGE_TARNAME "puzzles"
|
||||||
|
#define PACKAGE_VERSION "6.66"
|
||||||
|
#define PACKAGE_STRING "puzzles 6.66"
|
||||||
|
#define PACKAGE_BUGREPORT "anakin@pobox.com"
|
||||||
|
#define PACKAGE_URL ""
|
||||||
|
#define PACKAGE "puzzles"
|
||||||
|
#define VERSION "6.66"
|
||||||
|
|
||||||
|
configure: exit 0
|
||||||
1059
apps/plugins/puzzles/src/config.status
Executable file
1059
apps/plugins/puzzles/src/config.status
Executable file
File diff suppressed because it is too large
Load diff
5739
apps/plugins/puzzles/src/configure
vendored
Executable file
5739
apps/plugins/puzzles/src/configure
vendored
Executable file
File diff suppressed because it is too large
Load diff
791
apps/plugins/puzzles/src/depcomp
Executable file
791
apps/plugins/puzzles/src/depcomp
Executable file
|
|
@ -0,0 +1,791 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
'')
|
||||||
|
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||||
|
exit 1;
|
||||||
|
;;
|
||||||
|
-h | --h*)
|
||||||
|
cat <<\EOF
|
||||||
|
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||||
|
|
||||||
|
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||||
|
as side-effects.
|
||||||
|
|
||||||
|
Environment variables:
|
||||||
|
depmode Dependency tracking mode.
|
||||||
|
source Source file read by 'PROGRAMS ARGS'.
|
||||||
|
object Object file output by 'PROGRAMS ARGS'.
|
||||||
|
DEPDIR directory where to store dependencies.
|
||||||
|
depfile Dependency file to output.
|
||||||
|
tmpdepfile Temporary file to use when outputting dependencies.
|
||||||
|
libtool Whether libtool is used (yes/no).
|
||||||
|
|
||||||
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
|
EOF
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
-v | --v*)
|
||||||
|
echo "depcomp $scriptversion"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Get the directory component of the given path, and save it in the
|
||||||
|
# global variables '$dir'. Note that this directory component will
|
||||||
|
# be either empty or ending with a '/' character. This is deliberate.
|
||||||
|
set_dir_from ()
|
||||||
|
{
|
||||||
|
case $1 in
|
||||||
|
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
||||||
|
*) dir=;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the suffix-stripped basename of the given path, and save it the
|
||||||
|
# global variable '$base'.
|
||||||
|
set_base_from ()
|
||||||
|
{
|
||||||
|
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
||||||
|
}
|
||||||
|
|
||||||
|
# If no dependency file was actually created by the compiler invocation,
|
||||||
|
# we still have to create a dummy depfile, to avoid errors with the
|
||||||
|
# Makefile "include basename.Plo" scheme.
|
||||||
|
make_dummy_depfile ()
|
||||||
|
{
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Factor out some common post-processing of the generated depfile.
|
||||||
|
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
||||||
|
aix_post_process_depfile ()
|
||||||
|
{
|
||||||
|
# If the compiler actually managed to produce a dependency file,
|
||||||
|
# post-process it.
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
# Each line is of the form 'foo.o: dependency.h'.
|
||||||
|
# Do two passes, one to just change these to
|
||||||
|
# $object: dependency.h
|
||||||
|
# and one to simply output
|
||||||
|
# dependency.h:
|
||||||
|
# which is needed to avoid the deleted-header problem.
|
||||||
|
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
||||||
|
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
||||||
|
} > "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
else
|
||||||
|
make_dummy_depfile
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# A tabulation character.
|
||||||
|
tab=' '
|
||||||
|
# A newline character.
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
# Character ranges might be problematic outside the C locale.
|
||||||
|
# These definitions help.
|
||||||
|
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||||
|
lower=abcdefghijklmnopqrstuvwxyz
|
||||||
|
digits=0123456789
|
||||||
|
alpha=${upper}${lower}
|
||||||
|
|
||||||
|
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||||
|
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||||
|
depfile=${depfile-`echo "$object" |
|
||||||
|
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||||
|
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||||
|
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
|
||||||
|
# Avoid interferences from the environment.
|
||||||
|
gccflag= dashmflag=
|
||||||
|
|
||||||
|
# Some modes work just like other modes, but use different flags. We
|
||||||
|
# parameterize here, but still list the modes in the big case below,
|
||||||
|
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||||
|
# here, because this file can only contain one case statement.
|
||||||
|
if test "$depmode" = hp; then
|
||||||
|
# HP compiler uses -M and no extra arg.
|
||||||
|
gccflag=-M
|
||||||
|
depmode=gcc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$depmode" = dashXmstdout; then
|
||||||
|
# This is just like dashmstdout with a different argument.
|
||||||
|
dashmflag=-xM
|
||||||
|
depmode=dashmstdout
|
||||||
|
fi
|
||||||
|
|
||||||
|
cygpath_u="cygpath -u -f -"
|
||||||
|
if test "$depmode" = msvcmsys; then
|
||||||
|
# This is just like msvisualcpp but w/o cygpath translation.
|
||||||
|
# Just convert the backslash-escaped backslashes to single forward
|
||||||
|
# slashes to satisfy depend.m4
|
||||||
|
cygpath_u='sed s,\\\\,/,g'
|
||||||
|
depmode=msvisualcpp
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$depmode" = msvc7msys; then
|
||||||
|
# This is just like msvc7 but w/o cygpath translation.
|
||||||
|
# Just convert the backslash-escaped backslashes to single forward
|
||||||
|
# slashes to satisfy depend.m4
|
||||||
|
cygpath_u='sed s,\\\\,/,g'
|
||||||
|
depmode=msvc7
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$depmode" = xlc; then
|
||||||
|
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
||||||
|
gccflag=-qmakedep=gcc,-MF
|
||||||
|
depmode=gcc
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$depmode" in
|
||||||
|
gcc3)
|
||||||
|
## gcc 3 implements dependency tracking that does exactly what
|
||||||
|
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||||
|
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||||
|
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||||
|
## the command line argument order; so add the flags where they
|
||||||
|
## appear in depend2.am. Note that the slowdown incurred here
|
||||||
|
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||||
|
*) set fnord "$@" "$arg" ;;
|
||||||
|
esac
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
done
|
||||||
|
"$@"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
mv "$tmpdepfile" "$depfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
gcc)
|
||||||
|
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
||||||
|
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
||||||
|
## (see the conditional assignment to $gccflag above).
|
||||||
|
## There are various ways to get dependency output from gcc. Here's
|
||||||
|
## why we pick this rather obscure method:
|
||||||
|
## - Don't want to use -MD because we'd like the dependencies to end
|
||||||
|
## up in a subdir. Having to rename by hand is ugly.
|
||||||
|
## (We might end up doing this anyway to support other compilers.)
|
||||||
|
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||||
|
## -MM, not -M (despite what the docs say). Also, it might not be
|
||||||
|
## supported by the other compilers which use the 'gcc' depmode.
|
||||||
|
## - Using -M directly means running the compiler twice (even worse
|
||||||
|
## than renaming).
|
||||||
|
if test -z "$gccflag"; then
|
||||||
|
gccflag=-MD,
|
||||||
|
fi
|
||||||
|
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
# The second -e expression handles DOS-style file names with drive
|
||||||
|
# letters.
|
||||||
|
sed -e 's/^[^:]*: / /' \
|
||||||
|
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||||
|
## This next piece of magic avoids the "deleted header file" problem.
|
||||||
|
## The problem is that when a header file which appears in a .P file
|
||||||
|
## is deleted, the dependency causes make to die (because there is
|
||||||
|
## typically no way to rebuild the header). We avoid this by adding
|
||||||
|
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||||
|
## this for us directly.
|
||||||
|
## Some versions of gcc put a space before the ':'. On the theory
|
||||||
|
## that the space means something, we add a space to the output as
|
||||||
|
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||||
|
## to the object. Take care to not repeat it in the output.
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
tr ' ' "$nl" < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||||
|
| sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
hp)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
sgi)
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||||
|
else
|
||||||
|
"$@" -MDupdate "$tmpdepfile"
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
|
||||||
|
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
# Clip off the initial element (the dependent). Don't try to be
|
||||||
|
# clever and replace this with sed code, as IRIX sed won't handle
|
||||||
|
# lines with more than a fixed number of characters (4096 in
|
||||||
|
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||||
|
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||||
|
# dependency line.
|
||||||
|
tr ' ' "$nl" < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
||||||
|
| tr "$nl" ' ' >> "$depfile"
|
||||||
|
echo >> "$depfile"
|
||||||
|
# The second pass generates a dummy entry for each header file.
|
||||||
|
tr ' ' "$nl" < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||||
|
>> "$depfile"
|
||||||
|
else
|
||||||
|
make_dummy_depfile
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
xlc)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
aix)
|
||||||
|
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||||
|
# in a .u file. In older versions, this file always lives in the
|
||||||
|
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||||
|
# start of each line; $object doesn't have directory information.
|
||||||
|
# Version 6 uses the directory in both cases.
|
||||||
|
set_dir_from "$object"
|
||||||
|
set_base_from "$object"
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
tmpdepfile1=$dir$base.u
|
||||||
|
tmpdepfile2=$base.u
|
||||||
|
tmpdepfile3=$dir.libs/$base.u
|
||||||
|
"$@" -Wc,-M
|
||||||
|
else
|
||||||
|
tmpdepfile1=$dir$base.u
|
||||||
|
tmpdepfile2=$dir$base.u
|
||||||
|
tmpdepfile3=$dir$base.u
|
||||||
|
"$@" -M
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
|
do
|
||||||
|
test -f "$tmpdepfile" && break
|
||||||
|
done
|
||||||
|
aix_post_process_depfile
|
||||||
|
;;
|
||||||
|
|
||||||
|
tcc)
|
||||||
|
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
||||||
|
# FIXME: That version still under development at the moment of writing.
|
||||||
|
# Make that this statement remains true also for stable, released
|
||||||
|
# versions.
|
||||||
|
# It will wrap lines (doesn't matter whether long or short) with a
|
||||||
|
# trailing '\', as in:
|
||||||
|
#
|
||||||
|
# foo.o : \
|
||||||
|
# foo.c \
|
||||||
|
# foo.h \
|
||||||
|
#
|
||||||
|
# It will put a trailing '\' even on the last line, and will use leading
|
||||||
|
# spaces rather than leading tabs (at least since its commit 0394caf7
|
||||||
|
# "Emit spaces for -MD").
|
||||||
|
"$@" -MD -MF "$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
||||||
|
# We have to change lines of the first kind to '$object: \'.
|
||||||
|
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
||||||
|
# And for each line of the second kind, we have to emit a 'dep.h:'
|
||||||
|
# dummy dependency, to avoid the deleted-header problem.
|
||||||
|
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
## The order of this option in the case statement is important, since the
|
||||||
|
## shell code in configure will try each of these formats in the order
|
||||||
|
## listed in this file. A plain '-MD' option would be understood by many
|
||||||
|
## compilers, so we must ensure this comes after the gcc and icc options.
|
||||||
|
pgcc)
|
||||||
|
# Portland's C compiler understands '-MD'.
|
||||||
|
# Will always output deps to 'file.d' where file is the root name of the
|
||||||
|
# source file under compilation, even if file resides in a subdirectory.
|
||||||
|
# The object file name does not affect the name of the '.d' file.
|
||||||
|
# pgcc 10.2 will output
|
||||||
|
# foo.o: sub/foo.c sub/foo.h
|
||||||
|
# and will wrap long lines using '\' :
|
||||||
|
# foo.o: sub/foo.c ... \
|
||||||
|
# sub/foo.h ... \
|
||||||
|
# ...
|
||||||
|
set_dir_from "$object"
|
||||||
|
# Use the source, not the object, to determine the base name, since
|
||||||
|
# that's sadly what pgcc will do too.
|
||||||
|
set_base_from "$source"
|
||||||
|
tmpdepfile=$base.d
|
||||||
|
|
||||||
|
# For projects that build the same source file twice into different object
|
||||||
|
# files, the pgcc approach of using the *source* file root name can cause
|
||||||
|
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
||||||
|
# the same $tmpdepfile.
|
||||||
|
lockdir=$base.d-lock
|
||||||
|
trap "
|
||||||
|
echo '$0: caught signal, cleaning up...' >&2
|
||||||
|
rmdir '$lockdir'
|
||||||
|
exit 1
|
||||||
|
" 1 2 13 15
|
||||||
|
numtries=100
|
||||||
|
i=$numtries
|
||||||
|
while test $i -gt 0; do
|
||||||
|
# mkdir is a portable test-and-set.
|
||||||
|
if mkdir "$lockdir" 2>/dev/null; then
|
||||||
|
# This process acquired the lock.
|
||||||
|
"$@" -MD
|
||||||
|
stat=$?
|
||||||
|
# Release the lock.
|
||||||
|
rmdir "$lockdir"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
# If the lock is being held by a different process, wait
|
||||||
|
# until the winning process is done or we timeout.
|
||||||
|
while test -d "$lockdir" && test $i -gt 0; do
|
||||||
|
sleep 1
|
||||||
|
i=`expr $i - 1`
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
i=`expr $i - 1`
|
||||||
|
done
|
||||||
|
trap - 1 2 13 15
|
||||||
|
if test $i -le 0; then
|
||||||
|
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
||||||
|
echo "$0: check lockdir '$lockdir'" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
# Each line is of the form `foo.o: dependent.h',
|
||||||
|
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||||
|
# Do two passes, one to just change these to
|
||||||
|
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||||
|
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||||
|
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
# correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
|
||||||
|
| sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
hp2)
|
||||||
|
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||||
|
# compilers, which have integrated preprocessors. The correct option
|
||||||
|
# to use with these is +Maked; it writes dependencies to a file named
|
||||||
|
# 'foo.d', which lands next to the object file, wherever that
|
||||||
|
# happens to be.
|
||||||
|
# Much of this is similar to the tru64 case; see comments there.
|
||||||
|
set_dir_from "$object"
|
||||||
|
set_base_from "$object"
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
tmpdepfile1=$dir$base.d
|
||||||
|
tmpdepfile2=$dir.libs/$base.d
|
||||||
|
"$@" -Wc,+Maked
|
||||||
|
else
|
||||||
|
tmpdepfile1=$dir$base.d
|
||||||
|
tmpdepfile2=$dir$base.d
|
||||||
|
"$@" +Maked
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||||
|
do
|
||||||
|
test -f "$tmpdepfile" && break
|
||||||
|
done
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||||
|
# Add 'dependent.h:' lines.
|
||||||
|
sed -ne '2,${
|
||||||
|
s/^ *//
|
||||||
|
s/ \\*$//
|
||||||
|
s/$/:/
|
||||||
|
p
|
||||||
|
}' "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
make_dummy_depfile
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||||
|
;;
|
||||||
|
|
||||||
|
tru64)
|
||||||
|
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||||
|
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||||
|
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||||
|
# dependencies in 'foo.d' instead, so we check for that too.
|
||||||
|
# Subdirectories are respected.
|
||||||
|
set_dir_from "$object"
|
||||||
|
set_base_from "$object"
|
||||||
|
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
# Libtool generates 2 separate objects for the 2 libraries. These
|
||||||
|
# two compilations output dependencies in $dir.libs/$base.o.d and
|
||||||
|
# in $dir$base.o.d. We have to check for both files, because
|
||||||
|
# one of the two compilations can be disabled. We should prefer
|
||||||
|
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||||
|
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||||
|
# the former would cause a distcleancheck panic.
|
||||||
|
tmpdepfile1=$dir$base.o.d # libtool 1.5
|
||||||
|
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
||||||
|
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||||
|
"$@" -Wc,-MD
|
||||||
|
else
|
||||||
|
tmpdepfile1=$dir$base.d
|
||||||
|
tmpdepfile2=$dir$base.d
|
||||||
|
tmpdepfile3=$dir$base.d
|
||||||
|
"$@" -MD
|
||||||
|
fi
|
||||||
|
|
||||||
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
|
do
|
||||||
|
test -f "$tmpdepfile" && break
|
||||||
|
done
|
||||||
|
# Same post-processing that is required for AIX mode.
|
||||||
|
aix_post_process_depfile
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvc7)
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
showIncludes=-Wc,-showIncludes
|
||||||
|
else
|
||||||
|
showIncludes=-showIncludes
|
||||||
|
fi
|
||||||
|
"$@" $showIncludes > "$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
# The first sed program below extracts the file names and escapes
|
||||||
|
# backslashes for cygpath. The second sed program outputs the file
|
||||||
|
# name when reading, but also accumulates all include files in the
|
||||||
|
# hold buffer in order to output them again at the end. This only
|
||||||
|
# works with sed implementations that can handle large buffers.
|
||||||
|
sed < "$tmpdepfile" -n '
|
||||||
|
/^Note: including file: *\(.*\)/ {
|
||||||
|
s//\1/
|
||||||
|
s/\\/\\\\/g
|
||||||
|
p
|
||||||
|
}' | $cygpath_u | sort -u | sed -n '
|
||||||
|
s/ /\\ /g
|
||||||
|
s/\(.*\)/'"$tab"'\1 \\/p
|
||||||
|
s/.\(.*\) \\/\1:/
|
||||||
|
H
|
||||||
|
$ {
|
||||||
|
s/.*/'"$tab"'/
|
||||||
|
G
|
||||||
|
p
|
||||||
|
}' >> "$depfile"
|
||||||
|
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvc7msys)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
#nosideeffect)
|
||||||
|
# This comment above is used by automake to tell side-effect
|
||||||
|
# dependency tracking mechanisms from slower ones.
|
||||||
|
|
||||||
|
dashmstdout)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout, regardless of -o.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test "X$1" != 'X--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove '-o $object'.
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
test -z "$dashmflag" && dashmflag=-M
|
||||||
|
# Require at least two characters before searching for ':'
|
||||||
|
# in the target name. This is to cope with DOS-style filenames:
|
||||||
|
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||||
|
"$@" $dashmflag |
|
||||||
|
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
cat < "$tmpdepfile" > "$depfile"
|
||||||
|
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
||||||
|
# correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
tr ' ' "$nl" < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||||
|
| sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
dashXmstdout)
|
||||||
|
# This case only exists to satisfy depend.m4. It is never actually
|
||||||
|
# run, as this mode is specially recognized in the preamble.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
makedepend)
|
||||||
|
"$@" || exit $?
|
||||||
|
# Remove any Libtool call
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test "X$1" != 'X--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
# X makedepend
|
||||||
|
shift
|
||||||
|
cleared=no eat=no
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $cleared in
|
||||||
|
no)
|
||||||
|
set ""; shift
|
||||||
|
cleared=yes ;;
|
||||||
|
esac
|
||||||
|
if test $eat = yes; then
|
||||||
|
eat=no
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
case "$arg" in
|
||||||
|
-D*|-I*)
|
||||||
|
set fnord "$@" "$arg"; shift ;;
|
||||||
|
# Strip any option that makedepend may not understand. Remove
|
||||||
|
# the object too, otherwise makedepend will parse it as a source file.
|
||||||
|
-arch)
|
||||||
|
eat=yes ;;
|
||||||
|
-*|$object)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"; shift ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||||
|
touch "$tmpdepfile"
|
||||||
|
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||||
|
rm -f "$depfile"
|
||||||
|
# makedepend may prepend the VPATH from the source file name to the object.
|
||||||
|
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||||
|
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||||
|
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
||||||
|
# correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed '1,2d' "$tmpdepfile" \
|
||||||
|
| tr ' ' "$nl" \
|
||||||
|
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||||
|
| sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||||
|
;;
|
||||||
|
|
||||||
|
cpp)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test "X$1" != 'X--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove '-o $object'.
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
"$@" -E \
|
||||||
|
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||||
|
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||||
|
| sed '$ s: \\$::' > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
cat < "$tmpdepfile" >> "$depfile"
|
||||||
|
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvisualcpp)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test "X$1" != 'X--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case "$arg" in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||||
|
set fnord "$@"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
"$@" -E 2>/dev/null |
|
||||||
|
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||||
|
echo "$tab" >> "$depfile"
|
||||||
|
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvcmsys)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
none)
|
||||||
|
exec "$@"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Unknown depmode $depmode" 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-indentation: 2
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
||||||
|
|
@ -1560,6 +1560,41 @@ the game was first completed (by setting a flag in
|
||||||
freeze the timer thereafter so that the user can undo back through
|
freeze the timer thereafter so that the user can undo back through
|
||||||
their solution process without altering their time.
|
their solution process without altering their time.
|
||||||
|
|
||||||
|
\S{backend-request-keys} \cw{request_keys()}
|
||||||
|
|
||||||
|
\c key_label *(*request_keys)(const game_params *params, int *nkeys);
|
||||||
|
|
||||||
|
This function returns a dynamically allocated array of \cw{key_label}
|
||||||
|
items containing the buttons the back end deems absolutely
|
||||||
|
\e{necessary} for gameplay, not an exhaustive list of every button the
|
||||||
|
back end could accept. For example, Keen only returns the digits up to
|
||||||
|
the game size and the backspace character, \cw{\\b}, even though it
|
||||||
|
\e{could} accept \cw{M}, as only these buttons are actually needed to
|
||||||
|
play the game. Each \cw{key_label} item contains the following fields:
|
||||||
|
|
||||||
|
\c struct key_label {
|
||||||
|
\c const char *label; /* label for frontend use */
|
||||||
|
\c int button; /* button to pass to midend */
|
||||||
|
\c } key_label;
|
||||||
|
|
||||||
|
The \cw{label} field of this structure can (and often will) be set by
|
||||||
|
the backend to \cw{NULL}, in which case the midend will instead call
|
||||||
|
\c{button2label()} (\k{utils-button2label}) and fill in a generic
|
||||||
|
label. The \cw{button} field is the associated code that can be passed
|
||||||
|
to the midend when the frontend deems appropriate.
|
||||||
|
|
||||||
|
The backend should set \cw{*nkeys} to the number of elements in the
|
||||||
|
returned array.
|
||||||
|
|
||||||
|
The field for this function point in the \cw{game} structure might be
|
||||||
|
set to \cw{NULL} (and indeed it is for the majority of the games) to
|
||||||
|
indicate that no additional buttons (apart from the cursor keys) are
|
||||||
|
required to play the game.
|
||||||
|
|
||||||
|
This function should not be called directly by frontends. Instead,
|
||||||
|
frontends should use \cw{midend_request_keys()}
|
||||||
|
(\k{midend-request-keys}).
|
||||||
|
|
||||||
\S{backend-flags} \c{flags}
|
\S{backend-flags} \c{flags}
|
||||||
|
|
||||||
\c int flags;
|
\c int flags;
|
||||||
|
|
@ -2998,6 +3033,18 @@ the effect of the keypress was to request termination of the
|
||||||
program. A front end should shut down the puzzle in response to a
|
program. A front end should shut down the puzzle in response to a
|
||||||
zero return.
|
zero return.
|
||||||
|
|
||||||
|
\H{midend-request-keys} \cw{midend_request_keys()}
|
||||||
|
|
||||||
|
\c key_label *midend_request_keys(midend *me, int *nkeys);
|
||||||
|
|
||||||
|
This function behaves similarly to the backend's \cw{request_keys()}
|
||||||
|
function (\k{backend-request-keys}). If the backend does not provide
|
||||||
|
\cw{request_keys()}, this function will return \cw{NULL} and set
|
||||||
|
\cw{*nkeys} to zero. Otherwise, this function will fill in the generic
|
||||||
|
labels (i.e. the \cw{key_label} items that have their \cw{label}
|
||||||
|
fields set to \cw{NULL}) by using \cw{button2label()}
|
||||||
|
(\k{utils-button2label}).
|
||||||
|
|
||||||
\H{midend-colours} \cw{midend_colours()}
|
\H{midend-colours} \cw{midend_colours()}
|
||||||
|
|
||||||
\c float *midend_colours(midend *me, int *ncolours);
|
\c float *midend_colours(midend *me, int *ncolours);
|
||||||
|
|
@ -4215,6 +4262,24 @@ Thus, \cw{ret[background*3]} to \cw{ret[background*3+2]} will be set
|
||||||
to RGB values defining a sensible background colour, and similary
|
to RGB values defining a sensible background colour, and similary
|
||||||
\c{highlight} and \c{lowlight} will be set to sensible colours.
|
\c{highlight} and \c{lowlight} will be set to sensible colours.
|
||||||
|
|
||||||
|
\S{utils-button2label} \cw{button2label()}
|
||||||
|
|
||||||
|
\c char *button2label(int button);
|
||||||
|
|
||||||
|
This function generates a descriptive text label for \cw{button},
|
||||||
|
which should be a button code that can be passed to the midend. For
|
||||||
|
example, calling this function with \cw{CURSOR_UP} will result in the
|
||||||
|
string \cw{"Up"}. This function should only be called when the
|
||||||
|
\cw{key_label} item returned by a backend's \cw{request_keys()}
|
||||||
|
(\k{backend-request-keys}) function has its \cw{label} field set to
|
||||||
|
\cw{NULL}; in this case, the corresponding \cw{button} field can be
|
||||||
|
passed to this function to obtain an appropriate label. If, however,
|
||||||
|
the field is not \cw{NULL}, this function should not be called with
|
||||||
|
the corresponding \cw{button} field.
|
||||||
|
|
||||||
|
The returned string is dynamically allocated and should be
|
||||||
|
\cw{sfree}'d by the caller.
|
||||||
|
|
||||||
\C{writing} How to write a new puzzle
|
\C{writing} How to write a new puzzle
|
||||||
|
|
||||||
This chapter gives a guide to how to actually write a new puzzle:
|
This chapter gives a guide to how to actually write a new puzzle:
|
||||||
|
|
|
||||||
|
|
@ -1287,9 +1287,22 @@ static const char *validate_desc(const game_params *params, const char *desc)
|
||||||
return (area < sz) ? "Not enough data to fill grid" : NULL;
|
return (area < sz) ? "Not enough data to fill grid" : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *game_request_keys(const game_params *params)
|
static key_label *game_request_keys(const game_params *params, int *nkeys)
|
||||||
{
|
{
|
||||||
return dupstr("1234567890\b");
|
key_label *keys = snewn(11, key_label);
|
||||||
|
*nkeys = 11;
|
||||||
|
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i = 0; i < 10; ++i)
|
||||||
|
{
|
||||||
|
keys[i].button = '0' + i;
|
||||||
|
keys[i].label = NULL;
|
||||||
|
}
|
||||||
|
keys[10].button = '\b';
|
||||||
|
keys[10].label = NULL;
|
||||||
|
|
||||||
|
return keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
static game_state *new_game(midend *me, const game_params *params,
|
static game_state *new_game(midend *me, const game_params *params,
|
||||||
|
|
|
||||||
39
apps/plugins/puzzles/src/gamedesc.txt
Normal file
39
apps/plugins/puzzles/src/gamedesc.txt
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
blackbox:blackbox.exe:Black Box:Ball-finding puzzle:Find the hidden balls in the box by bouncing laser beams off them.
|
||||||
|
bridges:bridges.exe:Bridges:Bridge-placing puzzle:Connect all the islands with a network of bridges.
|
||||||
|
cube:cube.exe:Cube:Rolling cube puzzle:Pick up all the blue squares by rolling the cube over them.
|
||||||
|
dominosa:dominosa.exe:Dominosa:Domino tiling puzzle:Tile the rectangle with a full set of dominoes.
|
||||||
|
fifteen:fifteen.exe:Fifteen:Sliding block puzzle:Slide the tiles around to arrange them into order.
|
||||||
|
filling:filling.exe:Filling:Polyomino puzzle:Mark every square with the area of its containing region.
|
||||||
|
flip:flip.exe:Flip:Tile inversion puzzle:Flip groups of squares to light them all up at once.
|
||||||
|
flood:flood.exe:Flood:Flood-filling puzzle:Turn the grid the same colour in as few flood fills as possible.
|
||||||
|
galaxies:galaxies.exe:Galaxies:Symmetric polyomino puzzle:Divide the grid into rotationally symmetric regions each centred on a dot.
|
||||||
|
guess:guess.exe:Guess:Combination-guessing puzzle:Guess the hidden combination of colours.
|
||||||
|
inertia:inertia.exe:Inertia:Gem-collecting puzzle:Collect all the gems without running into any of the mines.
|
||||||
|
keen:keen.exe:Keen:Arithmetic Latin square puzzle:Complete the latin square in accordance with the arithmetic clues.
|
||||||
|
lightup:lightup.exe:Light Up:Light-bulb placing puzzle:Place bulbs to light up all the squares.
|
||||||
|
loopy:loopy.exe:Loopy:Loop-drawing puzzle:Draw a single closed loop, given clues about number of adjacent edges.
|
||||||
|
magnets:magnets.exe:Magnets:Magnet-placing puzzle:Place magnets to satisfy the clues and avoid like poles touching.
|
||||||
|
map:map.exe:Map:Map-colouring puzzle:Colour the map so that adjacent regions are never the same colour.
|
||||||
|
mines:mines.exe:Mines:Mine-finding puzzle:Find all the mines without treading on any of them.
|
||||||
|
net:netgame.exe:Net:Network jigsaw puzzle:Rotate each tile to reassemble the network.
|
||||||
|
netslide:netslide.exe:Netslide:Toroidal sliding network puzzle:Slide a row at a time to reassemble the network.
|
||||||
|
palisade:palisade.exe:Palisade:Grid-division puzzle:Divide the grid into equal-sized areas in accordance with the clues.
|
||||||
|
pattern:pattern.exe:Pattern:Pattern puzzle:Fill in the pattern in the grid, given only the lengths of runs of black squares.
|
||||||
|
pearl:pearl.exe:Pearl:Loop-drawing puzzle:Draw a single closed loop, given clues about corner and straight squares.
|
||||||
|
pegs:pegs.exe:Pegs:Peg solitaire puzzle:Jump pegs over each other to remove all but one.
|
||||||
|
range:range.exe:Range:Visible-distance puzzle:Place black squares to limit the visible distance from each numbered cell.
|
||||||
|
rect:rect.exe:Rectangles:Rectangles puzzle:Divide the grid into rectangles with areas equal to the numbers.
|
||||||
|
samegame:samegame.exe:Same Game:Block-clearing puzzle:Clear the grid by removing touching groups of the same colour squares.
|
||||||
|
signpost:signpost.exe:Signpost:Square-connecting puzzle:Connect the squares into a path following the arrows.
|
||||||
|
singles:singles.exe:Singles:Number-removing puzzle:Black out the right set of duplicate numbers.
|
||||||
|
sixteen:sixteen.exe:Sixteen:Toroidal sliding block puzzle:Slide a row at a time to arrange the tiles into order.
|
||||||
|
slant:slant.exe:Slant:Maze-drawing puzzle:Draw a maze of slanting lines that matches the clues.
|
||||||
|
solo:solo.exe:Solo:Number placement puzzle:Fill in the grid so that each row, column and square block contains one of every digit.
|
||||||
|
tents:tents.exe:Tents:Tent-placing puzzle:Place a tent next to each tree.
|
||||||
|
towers:towers.exe:Towers:Tower-placing Latin square puzzle:Complete the latin square of towers in accordance with the clues.
|
||||||
|
tracks:tracks.exe:Tracks:Path-finding railway track puzzle:Fill in the railway track according to the clues.
|
||||||
|
twiddle:twiddle.exe:Twiddle:Rotational sliding block puzzle:Rotate the tiles around themselves to arrange them into order.
|
||||||
|
undead:undead.exe:Undead:Monster-placing puzzle:Place ghosts, vampires and zombies so that the right numbers of them can be seen in mirrors.
|
||||||
|
unequal:unequal.exe:Unequal:Latin square puzzle:Complete the latin square in accordance with the > signs.
|
||||||
|
unruly:unruly.exe:Unruly:Black and white grid puzzle:Fill in the black and white grid to avoid runs of three.
|
||||||
|
untangle:untangle.exe:Untangle:Planar graph layout puzzle:Reposition the points so that the lines do not cross.
|
||||||
|
|
@ -2886,25 +2886,6 @@ static frontend *new_window(char *arg, int argtype, char **error)
|
||||||
return fe;
|
return fe;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *fgetline(FILE *fp)
|
|
||||||
{
|
|
||||||
char *ret = snewn(512, char);
|
|
||||||
int size = 512, len = 0;
|
|
||||||
while (fgets(ret + len, size - len, fp)) {
|
|
||||||
len += strlen(ret + len);
|
|
||||||
if (ret[len-1] == '\n')
|
|
||||||
break; /* got a newline, we're done */
|
|
||||||
size = len + 512;
|
|
||||||
ret = sresize(ret, size, char);
|
|
||||||
}
|
|
||||||
if (len == 0) { /* first fgets returned NULL */
|
|
||||||
sfree(ret);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
ret[len] = '\0';
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void list_presets_from_menu(struct preset_menu *menu)
|
static void list_presets_from_menu(struct preset_menu *menu)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
Galaxies
|
Galaxies
|
||||||
<p>
|
<p>
|
||||||
Draw lines along grid edges so as to divide the grid up into
|
Draw lines along grid edges so as to divide the grid up into connected
|
||||||
regions. Every region should have two-way rotational symmetry, and
|
regions of squares.
|
||||||
should contain exactly one dot which is in its centre.
|
<p>
|
||||||
|
Every region should have two-way rotational symmetry, should contain
|
||||||
|
exactly one dot which is in its centre, and should contain no lines
|
||||||
|
separating two of its own squares from each other. A region satisfying
|
||||||
|
all of these requirements will be automatically highlighted.
|
||||||
<p>
|
<p>
|
||||||
Click on a grid edge to add or remove a line. Right-click on a dot
|
Click on a grid edge to add or remove a line. Right-click on a dot
|
||||||
and drag the mouse to place an arrow in a grid square pointing to
|
and drag the mouse to place an arrow in a grid square pointing to
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@ WEB = $(patsubst %,%-web.png,$(PUZZLES))
|
||||||
|
|
||||||
IBASE = $(patsubst %,%-ibase.png,$(PUZZLES))
|
IBASE = $(patsubst %,%-ibase.png,$(PUZZLES))
|
||||||
IBASE4 = $(patsubst %,%-ibase4.png,$(PUZZLES))
|
IBASE4 = $(patsubst %,%-ibase4.png,$(PUZZLES))
|
||||||
|
P96D24 = $(patsubst %,%-96d24.png,$(PUZZLES))
|
||||||
|
P96D8 = $(patsubst %,%-96d8.png,$(PUZZLES))
|
||||||
|
P96D4 = $(patsubst %,%-96d4.png,$(PUZZLES))
|
||||||
P48D24 = $(patsubst %,%-48d24.png,$(PUZZLES))
|
P48D24 = $(patsubst %,%-48d24.png,$(PUZZLES))
|
||||||
P48D8 = $(patsubst %,%-48d8.png,$(PUZZLES))
|
P48D8 = $(patsubst %,%-48d8.png,$(PUZZLES))
|
||||||
P48D4 = $(patsubst %,%-48d4.png,$(PUZZLES))
|
P48D4 = $(patsubst %,%-48d4.png,$(PUZZLES))
|
||||||
|
|
@ -33,7 +36,7 @@ CSP = -set colorspace RGB
|
||||||
|
|
||||||
base: $(BASE)
|
base: $(BASE)
|
||||||
web: $(WEB)
|
web: $(WEB)
|
||||||
pngicons: $(P48D24) $(P32D24) $(P16D24)
|
pngicons: $(P96D24) $(P48D24) $(P32D24) $(P16D24)
|
||||||
winicons: $(ICONS) $(RC)
|
winicons: $(ICONS) $(RC)
|
||||||
gtkicons: $(CICONS)
|
gtkicons: $(CICONS)
|
||||||
all: base web pngicons winicons gtkicons
|
all: base web pngicons winicons gtkicons
|
||||||
|
|
@ -100,7 +103,9 @@ $(IBASE): %-ibase.png: %-base.png
|
||||||
$(IBASE4): %-ibase4.png: %-ibase.png
|
$(IBASE4): %-ibase4.png: %-ibase.png
|
||||||
convert -colors 16 +dither $(CSP) -map $(PIC)win16pal.xpm $^ $@
|
convert -colors 16 +dither $(CSP) -map $(PIC)win16pal.xpm $^ $@
|
||||||
|
|
||||||
# Build the 24-bit PNGs for the icons, at three sizes.
|
# Build the 24-bit PNGs for the icons, at four sizes.
|
||||||
|
$(P96D24): %-96d24.png: %-ibase.png
|
||||||
|
$(PIC)square.pl 96 4 $^ $@
|
||||||
$(P48D24): %-48d24.png: %-ibase.png
|
$(P48D24): %-48d24.png: %-ibase.png
|
||||||
$(PIC)square.pl 48 4 $^ $@
|
$(PIC)square.pl 48 4 $^ $@
|
||||||
$(P32D24): %-32d24.png: %-ibase.png
|
$(P32D24): %-32d24.png: %-ibase.png
|
||||||
|
|
@ -110,7 +115,7 @@ $(P16D24): %-16d24.png: %-ibase.png
|
||||||
|
|
||||||
# The 8-bit icon PNGs are just custom-paletted quantisations of the
|
# The 8-bit icon PNGs are just custom-paletted quantisations of the
|
||||||
# 24-bit ones.
|
# 24-bit ones.
|
||||||
$(P48D8) $(P32D8) $(P16D8): %d8.png: %d24.png
|
$(P96D8) $(P48D8) $(P32D8) $(P16D8): %d8.png: %d24.png
|
||||||
convert -colors 256 $^ $@
|
convert -colors 256 $^ $@
|
||||||
|
|
||||||
# But the depth-4 images work better if we re-shrink from the
|
# But the depth-4 images work better if we re-shrink from the
|
||||||
|
|
@ -118,6 +123,10 @@ $(P48D8) $(P32D8) $(P16D8): %d8.png: %d24.png
|
||||||
# again afterwards. (They're still not very good, but my hope is
|
# again afterwards. (They're still not very good, but my hope is
|
||||||
# that on most modern Windows machines this won't matter too
|
# that on most modern Windows machines this won't matter too
|
||||||
# much...)
|
# much...)
|
||||||
|
$(P96D4): %-96d4.png: %-ibase4.png
|
||||||
|
$(PIC)square.pl 96 1 $^ $@-tmp2.png
|
||||||
|
convert -colors 16 $(CSP) -map $(PIC)win16pal.xpm $@-tmp2.png $@
|
||||||
|
rm -f $@-tmp2.png
|
||||||
$(P48D4): %-48d4.png: %-ibase4.png
|
$(P48D4): %-48d4.png: %-ibase4.png
|
||||||
$(PIC)square.pl 48 1 $^ $@-tmp2.png
|
$(PIC)square.pl 48 1 $^ $@-tmp2.png
|
||||||
convert -colors 16 $(CSP) -map $(PIC)win16pal.xpm $@-tmp2.png $@
|
convert -colors 16 $(CSP) -map $(PIC)win16pal.xpm $@-tmp2.png $@
|
||||||
|
|
@ -146,7 +155,7 @@ $(RC): %.rc:
|
||||||
echo '200 ICON "$*.ico"' >> $@
|
echo '200 ICON "$*.ico"' >> $@
|
||||||
|
|
||||||
# Build the GTK icon source files.
|
# Build the GTK icon source files.
|
||||||
$(CICONS): %-icon.c: %-16d24.png %-32d24.png %-48d24.png
|
$(CICONS): %-icon.c: %-16d24.png %-32d24.png %-48d24.png %-96d24.png
|
||||||
$(PIC)cicon.pl $^ > $@
|
$(PIC)cicon.pl $^ > $@
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
|
||||||
501
apps/plugins/puzzles/src/install-sh
Executable file
501
apps/plugins/puzzles/src/install-sh
Executable file
|
|
@ -0,0 +1,501 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
|
# following copyright and license.
|
||||||
|
#
|
||||||
|
# Copyright (C) 1994 X Consortium
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to
|
||||||
|
# deal in the Software without restriction, including without limitation the
|
||||||
|
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
# sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in
|
||||||
|
# all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||||
|
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# Except as contained in this notice, the name of the X Consortium shall not
|
||||||
|
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||||
|
# ings in this Software without prior written authorization from the X Consor-
|
||||||
|
# tium.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# FSF changes to this file are in the public domain.
|
||||||
|
#
|
||||||
|
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||||
|
# 'make' implicit rules from creating a file called install from it
|
||||||
|
# when there is no Makefile.
|
||||||
|
#
|
||||||
|
# This script is compatible with the BSD install script, but was written
|
||||||
|
# from scratch.
|
||||||
|
|
||||||
|
tab=' '
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
IFS=" $tab$nl"
|
||||||
|
|
||||||
|
# Set DOITPROG to "echo" to test this script.
|
||||||
|
|
||||||
|
doit=${DOITPROG-}
|
||||||
|
doit_exec=${doit:-exec}
|
||||||
|
|
||||||
|
# Put in absolute file names if you don't have them in your path;
|
||||||
|
# or use environment vars.
|
||||||
|
|
||||||
|
chgrpprog=${CHGRPPROG-chgrp}
|
||||||
|
chmodprog=${CHMODPROG-chmod}
|
||||||
|
chownprog=${CHOWNPROG-chown}
|
||||||
|
cmpprog=${CMPPROG-cmp}
|
||||||
|
cpprog=${CPPROG-cp}
|
||||||
|
mkdirprog=${MKDIRPROG-mkdir}
|
||||||
|
mvprog=${MVPROG-mv}
|
||||||
|
rmprog=${RMPROG-rm}
|
||||||
|
stripprog=${STRIPPROG-strip}
|
||||||
|
|
||||||
|
posix_mkdir=
|
||||||
|
|
||||||
|
# Desired mode of installed file.
|
||||||
|
mode=0755
|
||||||
|
|
||||||
|
chgrpcmd=
|
||||||
|
chmodcmd=$chmodprog
|
||||||
|
chowncmd=
|
||||||
|
mvcmd=$mvprog
|
||||||
|
rmcmd="$rmprog -f"
|
||||||
|
stripcmd=
|
||||||
|
|
||||||
|
src=
|
||||||
|
dst=
|
||||||
|
dir_arg=
|
||||||
|
dst_arg=
|
||||||
|
|
||||||
|
copy_on_change=false
|
||||||
|
is_target_a_directory=possibly
|
||||||
|
|
||||||
|
usage="\
|
||||||
|
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||||
|
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||||
|
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||||
|
or: $0 [OPTION]... -d DIRECTORIES...
|
||||||
|
|
||||||
|
In the 1st form, copy SRCFILE to DSTFILE.
|
||||||
|
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||||
|
In the 4th, create DIRECTORIES.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--help display this help and exit.
|
||||||
|
--version display version info and exit.
|
||||||
|
|
||||||
|
-c (ignored)
|
||||||
|
-C install only if different (preserve the last data modification time)
|
||||||
|
-d create directories instead of installing files.
|
||||||
|
-g GROUP $chgrpprog installed files to GROUP.
|
||||||
|
-m MODE $chmodprog installed files to MODE.
|
||||||
|
-o USER $chownprog installed files to USER.
|
||||||
|
-s $stripprog installed files.
|
||||||
|
-t DIRECTORY install into DIRECTORY.
|
||||||
|
-T report an error if DSTFILE is a directory.
|
||||||
|
|
||||||
|
Environment variables override the default commands:
|
||||||
|
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||||
|
RMPROG STRIPPROG
|
||||||
|
"
|
||||||
|
|
||||||
|
while test $# -ne 0; do
|
||||||
|
case $1 in
|
||||||
|
-c) ;;
|
||||||
|
|
||||||
|
-C) copy_on_change=true;;
|
||||||
|
|
||||||
|
-d) dir_arg=true;;
|
||||||
|
|
||||||
|
-g) chgrpcmd="$chgrpprog $2"
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
--help) echo "$usage"; exit $?;;
|
||||||
|
|
||||||
|
-m) mode=$2
|
||||||
|
case $mode in
|
||||||
|
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
||||||
|
echo "$0: invalid mode: $mode" >&2
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-o) chowncmd="$chownprog $2"
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-s) stripcmd=$stripprog;;
|
||||||
|
|
||||||
|
-t)
|
||||||
|
is_target_a_directory=always
|
||||||
|
dst_arg=$2
|
||||||
|
# Protect names problematic for 'test' and other utilities.
|
||||||
|
case $dst_arg in
|
||||||
|
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||||
|
esac
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-T) is_target_a_directory=never;;
|
||||||
|
|
||||||
|
--version) echo "$0 $scriptversion"; exit $?;;
|
||||||
|
|
||||||
|
--) shift
|
||||||
|
break;;
|
||||||
|
|
||||||
|
-*) echo "$0: invalid option: $1" >&2
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
# We allow the use of options -d and -T together, by making -d
|
||||||
|
# take the precedence; this is for compatibility with GNU install.
|
||||||
|
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
if test -n "$dst_arg"; then
|
||||||
|
echo "$0: target directory not allowed when installing a directory." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||||
|
# When -d is used, all remaining arguments are directories to create.
|
||||||
|
# When -t is used, the destination is already specified.
|
||||||
|
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
if test -n "$dst_arg"; then
|
||||||
|
# $@ is not empty: it contains at least $arg.
|
||||||
|
set fnord "$@" "$dst_arg"
|
||||||
|
shift # fnord
|
||||||
|
fi
|
||||||
|
shift # arg
|
||||||
|
dst_arg=$arg
|
||||||
|
# Protect names problematic for 'test' and other utilities.
|
||||||
|
case $dst_arg in
|
||||||
|
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $# -eq 0; then
|
||||||
|
if test -z "$dir_arg"; then
|
||||||
|
echo "$0: no input file specified." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# It's OK to call 'install-sh -d' without argument.
|
||||||
|
# This can happen when creating conditional directories.
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$dir_arg"; then
|
||||||
|
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
||||||
|
if test ! -d "$dst_arg"; then
|
||||||
|
echo "$0: $dst_arg: Is not a directory." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$dir_arg"; then
|
||||||
|
do_exit='(exit $ret); exit $ret'
|
||||||
|
trap "ret=129; $do_exit" 1
|
||||||
|
trap "ret=130; $do_exit" 2
|
||||||
|
trap "ret=141; $do_exit" 13
|
||||||
|
trap "ret=143; $do_exit" 15
|
||||||
|
|
||||||
|
# Set umask so as not to create temps with too-generous modes.
|
||||||
|
# However, 'strip' requires both read and write access to temps.
|
||||||
|
case $mode in
|
||||||
|
# Optimize common cases.
|
||||||
|
*644) cp_umask=133;;
|
||||||
|
*755) cp_umask=22;;
|
||||||
|
|
||||||
|
*[0-7])
|
||||||
|
if test -z "$stripcmd"; then
|
||||||
|
u_plus_rw=
|
||||||
|
else
|
||||||
|
u_plus_rw='% 200'
|
||||||
|
fi
|
||||||
|
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||||
|
*)
|
||||||
|
if test -z "$stripcmd"; then
|
||||||
|
u_plus_rw=
|
||||||
|
else
|
||||||
|
u_plus_rw=,u+rw
|
||||||
|
fi
|
||||||
|
cp_umask=$mode$u_plus_rw;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
for src
|
||||||
|
do
|
||||||
|
# Protect names problematic for 'test' and other utilities.
|
||||||
|
case $src in
|
||||||
|
-* | [=\(\)!]) src=./$src;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
dst=$src
|
||||||
|
dstdir=$dst
|
||||||
|
test -d "$dstdir"
|
||||||
|
dstdir_status=$?
|
||||||
|
else
|
||||||
|
|
||||||
|
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||||
|
# might cause directories to be created, which would be especially bad
|
||||||
|
# if $src (and thus $dsttmp) contains '*'.
|
||||||
|
if test ! -f "$src" && test ! -d "$src"; then
|
||||||
|
echo "$0: $src does not exist." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$dst_arg"; then
|
||||||
|
echo "$0: no destination specified." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
dst=$dst_arg
|
||||||
|
|
||||||
|
# If destination is a directory, append the input filename; won't work
|
||||||
|
# if double slashes aren't ignored.
|
||||||
|
if test -d "$dst"; then
|
||||||
|
if test "$is_target_a_directory" = never; then
|
||||||
|
echo "$0: $dst_arg: Is a directory" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
dstdir=$dst
|
||||||
|
dst=$dstdir/`basename "$src"`
|
||||||
|
dstdir_status=0
|
||||||
|
else
|
||||||
|
dstdir=`dirname "$dst"`
|
||||||
|
test -d "$dstdir"
|
||||||
|
dstdir_status=$?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
obsolete_mkdir_used=false
|
||||||
|
|
||||||
|
if test $dstdir_status != 0; then
|
||||||
|
case $posix_mkdir in
|
||||||
|
'')
|
||||||
|
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||||
|
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||||
|
umask=`umask`
|
||||||
|
case $stripcmd.$umask in
|
||||||
|
# Optimize common cases.
|
||||||
|
*[2367][2367]) mkdir_umask=$umask;;
|
||||||
|
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||||
|
|
||||||
|
*[0-7])
|
||||||
|
mkdir_umask=`expr $umask + 22 \
|
||||||
|
- $umask % 100 % 40 + $umask % 20 \
|
||||||
|
- $umask % 10 % 4 + $umask % 2
|
||||||
|
`;;
|
||||||
|
*) mkdir_umask=$umask,go-w;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# With -d, create the new directory with the user-specified mode.
|
||||||
|
# Otherwise, rely on $mkdir_umask.
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
mkdir_mode=-m$mode
|
||||||
|
else
|
||||||
|
mkdir_mode=
|
||||||
|
fi
|
||||||
|
|
||||||
|
posix_mkdir=false
|
||||||
|
case $umask in
|
||||||
|
*[123567][0-7][0-7])
|
||||||
|
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||||
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
|
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||||
|
|
||||||
|
if (umask $mkdir_umask &&
|
||||||
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
if test -z "$dir_arg" || {
|
||||||
|
# Check for POSIX incompatibilities with -m.
|
||||||
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
|
# other-writable bit of parent directory when it shouldn't.
|
||||||
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
|
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||||
|
case $ls_ld_tmpdir in
|
||||||
|
d????-?r-*) different_mode=700;;
|
||||||
|
d????-?--*) different_mode=755;;
|
||||||
|
*) false;;
|
||||||
|
esac &&
|
||||||
|
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||||
|
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||||
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
then posix_mkdir=:
|
||||||
|
fi
|
||||||
|
rmdir "$tmpdir/d" "$tmpdir"
|
||||||
|
else
|
||||||
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
|
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||||
|
fi
|
||||||
|
trap '' 0;;
|
||||||
|
esac;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if
|
||||||
|
$posix_mkdir && (
|
||||||
|
umask $mkdir_umask &&
|
||||||
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||||
|
)
|
||||||
|
then :
|
||||||
|
else
|
||||||
|
|
||||||
|
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||||
|
# or it failed possibly due to a race condition. Create the
|
||||||
|
# directory the slow way, step by step, checking for races as we go.
|
||||||
|
|
||||||
|
case $dstdir in
|
||||||
|
/*) prefix='/';;
|
||||||
|
[-=\(\)!]*) prefix='./';;
|
||||||
|
*) prefix='';;
|
||||||
|
esac
|
||||||
|
|
||||||
|
oIFS=$IFS
|
||||||
|
IFS=/
|
||||||
|
set -f
|
||||||
|
set fnord $dstdir
|
||||||
|
shift
|
||||||
|
set +f
|
||||||
|
IFS=$oIFS
|
||||||
|
|
||||||
|
prefixes=
|
||||||
|
|
||||||
|
for d
|
||||||
|
do
|
||||||
|
test X"$d" = X && continue
|
||||||
|
|
||||||
|
prefix=$prefix$d
|
||||||
|
if test -d "$prefix"; then
|
||||||
|
prefixes=
|
||||||
|
else
|
||||||
|
if $posix_mkdir; then
|
||||||
|
(umask=$mkdir_umask &&
|
||||||
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||||
|
# Don't fail if two instances are running concurrently.
|
||||||
|
test -d "$prefix" || exit 1
|
||||||
|
else
|
||||||
|
case $prefix in
|
||||||
|
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||||
|
*) qprefix=$prefix;;
|
||||||
|
esac
|
||||||
|
prefixes="$prefixes '$qprefix'"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
prefix=$prefix/
|
||||||
|
done
|
||||||
|
|
||||||
|
if test -n "$prefixes"; then
|
||||||
|
# Don't fail if two instances are running concurrently.
|
||||||
|
(umask $mkdir_umask &&
|
||||||
|
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||||
|
test -d "$dstdir" || exit 1
|
||||||
|
obsolete_mkdir_used=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||||
|
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||||
|
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||||
|
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||||
|
else
|
||||||
|
|
||||||
|
# Make a couple of temp file names in the proper directory.
|
||||||
|
dsttmp=$dstdir/_inst.$$_
|
||||||
|
rmtmp=$dstdir/_rm.$$_
|
||||||
|
|
||||||
|
# Trap to clean up those temp files at exit.
|
||||||
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||||
|
|
||||||
|
# Copy the file name to the temp name.
|
||||||
|
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||||
|
|
||||||
|
# and set any options; do chmod last to preserve setuid bits.
|
||||||
|
#
|
||||||
|
# If any of these fail, we abort the whole thing. If we want to
|
||||||
|
# ignore errors from any of these, just make sure not to ignore
|
||||||
|
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||||
|
#
|
||||||
|
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||||
|
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||||
|
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||||
|
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||||
|
|
||||||
|
# If -C, don't bother to copy if it wouldn't change the file.
|
||||||
|
if $copy_on_change &&
|
||||||
|
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||||
|
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||||
|
set -f &&
|
||||||
|
set X $old && old=:$2:$4:$5:$6 &&
|
||||||
|
set X $new && new=:$2:$4:$5:$6 &&
|
||||||
|
set +f &&
|
||||||
|
test "$old" = "$new" &&
|
||||||
|
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
rm -f "$dsttmp"
|
||||||
|
else
|
||||||
|
# Rename the file to the real destination.
|
||||||
|
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||||
|
|
||||||
|
# The rename failed, perhaps because mv can't rename something else
|
||||||
|
# to itself, or perhaps because mv is so ancient that it does not
|
||||||
|
# support -f.
|
||||||
|
{
|
||||||
|
# Now remove or move aside any old file at destination location.
|
||||||
|
# We try this two ways since rm can't unlink itself on some
|
||||||
|
# systems and the destination file might be busy for other
|
||||||
|
# reasons. In this case, the final cleanup might fail but the new
|
||||||
|
# file should still install successfully.
|
||||||
|
{
|
||||||
|
test ! -f "$dst" ||
|
||||||
|
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||||
|
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||||
|
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||||
|
} ||
|
||||||
|
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||||
|
(exit 1); exit 1
|
||||||
|
}
|
||||||
|
} &&
|
||||||
|
|
||||||
|
# Now rename the file to the real destination.
|
||||||
|
$doit $mvcmd "$dsttmp" "$dst"
|
||||||
|
}
|
||||||
|
fi || exit 1
|
||||||
|
|
||||||
|
trap '' 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Local variables:
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
# -*- makefile -*-
|
# -*- makefile -*-
|
||||||
|
|
||||||
KEEN_LATIN_EXTRA = tree234 maxflow dsf
|
KEEN_EXTRA = dsf LATIN
|
||||||
KEEN_EXTRA = latin KEEN_LATIN_EXTRA
|
KEEN_EXTRA_SOLVER = dsf LATIN_SOLVER
|
||||||
|
|
||||||
keen : [X] GTK COMMON keen KEEN_EXTRA keen-icon|no-icon
|
keen : [X] GTK COMMON keen KEEN_EXTRA keen-icon|no-icon
|
||||||
|
|
||||||
keen : [G] WINDOWS COMMON keen KEEN_EXTRA keen.res|noicon.res
|
keen : [G] WINDOWS COMMON keen KEEN_EXTRA keen.res|noicon.res
|
||||||
|
|
||||||
keensolver : [U] keen[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] KEEN_LATIN_EXTRA STANDALONE
|
keensolver : [U] keen[STANDALONE_SOLVER] KEEN_EXTRA_SOLVER STANDALONE
|
||||||
keensolver : [C] keen[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] KEEN_LATIN_EXTRA STANDALONE
|
keensolver : [C] keen[STANDALONE_SOLVER] KEEN_EXTRA_SOLVER STANDALONE
|
||||||
|
|
||||||
ALL += keen[COMBINED] KEEN_EXTRA
|
ALL += keen[COMBINED] KEEN_EXTRA
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ static game_params *default_params(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const static struct game_params keen_presets[] = {
|
static const struct game_params keen_presets[] = {
|
||||||
{ 4, DIFF_EASY, FALSE },
|
{ 4, DIFF_EASY, FALSE },
|
||||||
{ 5, DIFF_EASY, FALSE },
|
{ 5, DIFF_EASY, FALSE },
|
||||||
{ 5, DIFF_EASY, TRUE },
|
{ 5, DIFF_EASY, TRUE },
|
||||||
|
|
@ -1251,17 +1251,24 @@ static const char *validate_desc(const game_params *params, const char *desc)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *game_request_keys(const game_params *params)
|
static key_label *game_request_keys(const game_params *params, int *nkeys)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int w = params->w;
|
int w = params->w;
|
||||||
char *keys = smalloc(w+2);
|
|
||||||
|
key_label *keys = snewn(w+1, key_label);
|
||||||
|
*nkeys = w + 1;
|
||||||
|
|
||||||
for (i = 0; i < w; i++) {
|
for (i = 0; i < w; i++) {
|
||||||
if (i<9) keys[i] = '1' + i;
|
if (i<9) keys[i].button = '1' + i;
|
||||||
else keys[i] = 'a' + i - 9;
|
else keys[i].button = 'a' + i - 9;
|
||||||
|
|
||||||
|
keys[i].label = NULL;
|
||||||
}
|
}
|
||||||
keys[w] = '\b';
|
keys[w].button = '\b';
|
||||||
keys[w+1] = '\0';
|
keys[w].label = NULL;
|
||||||
|
|
||||||
|
|
||||||
return keys;
|
return keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
#include "puzzles.h"
|
#include "puzzles.h"
|
||||||
#include "tree234.h"
|
#include "tree234.h"
|
||||||
#include "maxflow.h"
|
#include "matching.h"
|
||||||
|
|
||||||
#ifdef STANDALONE_LATIN_TEST
|
#ifdef STANDALONE_LATIN_TEST
|
||||||
#define STANDALONE_SOLVER
|
#define STANDALONE_SOLVER
|
||||||
|
|
@ -1111,11 +1111,11 @@ void latin_debug(digit *sq, int o)
|
||||||
digit *latin_generate(int o, random_state *rs)
|
digit *latin_generate(int o, random_state *rs)
|
||||||
{
|
{
|
||||||
digit *sq;
|
digit *sq;
|
||||||
int *edges, *backedges, *capacity, *flow;
|
int *adjdata, *adjsizes, *matching;
|
||||||
|
int **adjlists;
|
||||||
void *scratch;
|
void *scratch;
|
||||||
int ne, scratchsize;
|
|
||||||
int i, j, k;
|
int i, j, k;
|
||||||
digit *row, *col, *numinv, *num;
|
digit *row;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To efficiently generate a latin square in such a way that
|
* To efficiently generate a latin square in such a way that
|
||||||
|
|
@ -1128,123 +1128,76 @@ digit *latin_generate(int o, random_state *rs)
|
||||||
* the theorem guarantees that we will never have to backtrack.
|
* the theorem guarantees that we will never have to backtrack.
|
||||||
*
|
*
|
||||||
* To find a viable row at each stage, we can make use of the
|
* To find a viable row at each stage, we can make use of the
|
||||||
* support functions in maxflow.c.
|
* support functions in matching.c.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
sq = snewn(o*o, digit);
|
sq = snewn(o*o, digit);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* In case this method of generation introduces a really subtle
|
* matching.c will take care of randomising the generation of each
|
||||||
* top-to-bottom directional bias, we'll generate the rows in
|
* row of the square, but in case this entire method of generation
|
||||||
* random order.
|
* introduces a really subtle top-to-bottom directional bias,
|
||||||
|
* we'll also generate the rows themselves in random order.
|
||||||
*/
|
*/
|
||||||
row = snewn(o, digit);
|
row = snewn(o, digit);
|
||||||
col = snewn(o, digit);
|
|
||||||
numinv = snewn(o, digit);
|
|
||||||
num = snewn(o, digit);
|
|
||||||
for (i = 0; i < o; i++)
|
for (i = 0; i < o; i++)
|
||||||
row[i] = i;
|
row[i] = i;
|
||||||
shuffle(row, i, sizeof(*row), rs);
|
shuffle(row, i, sizeof(*row), rs);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up the infrastructure for the maxflow algorithm.
|
* Set up the infrastructure for the matching subroutine.
|
||||||
*/
|
*/
|
||||||
scratchsize = maxflow_scratch_size(o * 2 + 2);
|
scratch = smalloc(matching_scratch_size(o, o));
|
||||||
scratch = smalloc(scratchsize);
|
adjdata = snewn(o*o, int);
|
||||||
backedges = snewn(o*o + 2*o, int);
|
adjlists = snewn(o, int *);
|
||||||
edges = snewn((o*o + 2*o) * 2, int);
|
adjsizes = snewn(o, int);
|
||||||
capacity = snewn(o*o + 2*o, int);
|
matching = snewn(o, int);
|
||||||
flow = snewn(o*o + 2*o, int);
|
|
||||||
/* Set up the edge array, and the initial capacities. */
|
|
||||||
ne = 0;
|
|
||||||
for (i = 0; i < o; i++) {
|
|
||||||
/* Each LHS vertex is connected to all RHS vertices. */
|
|
||||||
for (j = 0; j < o; j++) {
|
|
||||||
edges[ne*2] = i;
|
|
||||||
edges[ne*2+1] = j+o;
|
|
||||||
/* capacity for this edge is set later on */
|
|
||||||
ne++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (i = 0; i < o; i++) {
|
|
||||||
/* Each RHS vertex is connected to the distinguished sink vertex. */
|
|
||||||
edges[ne*2] = i+o;
|
|
||||||
edges[ne*2+1] = o*2+1;
|
|
||||||
capacity[ne] = 1;
|
|
||||||
ne++;
|
|
||||||
}
|
|
||||||
for (i = 0; i < o; i++) {
|
|
||||||
/* And the distinguished source vertex connects to each LHS vertex. */
|
|
||||||
edges[ne*2] = o*2;
|
|
||||||
edges[ne*2+1] = i;
|
|
||||||
capacity[ne] = 1;
|
|
||||||
ne++;
|
|
||||||
}
|
|
||||||
assert(ne == o*o + 2*o);
|
|
||||||
/* Now set up backedges. */
|
|
||||||
maxflow_setup_backedges(ne, edges, backedges);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now generate each row of the latin square.
|
* Now generate each row of the latin square.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < o; i++) {
|
for (i = 0; i < o; i++) {
|
||||||
/*
|
/*
|
||||||
* To prevent maxflow from behaving deterministically, we
|
* Make adjacency lists for a bipartite graph joining each
|
||||||
* separately permute the columns and the digits for the
|
* column to all the numbers not yet placed in that column.
|
||||||
* purposes of the algorithm, differently for every row.
|
*/
|
||||||
*/
|
for (j = 0; j < o; j++) {
|
||||||
for (j = 0; j < o; j++)
|
int *p, *adj = adjdata + j*o;
|
||||||
col[j] = num[j] = j;
|
for (k = 0; k < o; k++)
|
||||||
shuffle(col, j, sizeof(*col), rs);
|
adj[k] = 1;
|
||||||
shuffle(num, j, sizeof(*num), rs);
|
for (k = 0; k < i; k++)
|
||||||
/* We need the num permutation in both forward and inverse forms. */
|
adj[sq[row[k]*o + j] - 1] = 0;
|
||||||
for (j = 0; j < o; j++)
|
adjlists[j] = p = adj;
|
||||||
numinv[num[j]] = j;
|
for (k = 0; k < o; k++)
|
||||||
|
if (adj[k])
|
||||||
|
*p++ = k;
|
||||||
|
adjsizes[j] = p - adjlists[j];
|
||||||
|
*p = -1;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up the capacities for the maxflow run, by examining
|
* Run the matching algorithm.
|
||||||
* the existing latin square.
|
|
||||||
*/
|
*/
|
||||||
for (j = 0; j < o*o; j++)
|
j = matching_with_scratch(scratch, o, o, adjlists, adjsizes,
|
||||||
capacity[j] = 1;
|
rs, matching, NULL);
|
||||||
for (j = 0; j < i; j++)
|
|
||||||
for (k = 0; k < o; k++) {
|
|
||||||
int n = num[sq[row[j]*o + col[k]] - 1];
|
|
||||||
capacity[k*o+n] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Run maxflow.
|
|
||||||
*/
|
|
||||||
j = maxflow_with_scratch(scratch, o*2+2, 2*o, 2*o+1, ne,
|
|
||||||
edges, backedges, capacity, flow, NULL);
|
|
||||||
assert(j == o); /* by the above theorem, this must have succeeded */
|
assert(j == o); /* by the above theorem, this must have succeeded */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* And examine the flow array to pick out the new row of
|
* And use the output to set up the new row of the latin
|
||||||
* the latin square.
|
* square.
|
||||||
*/
|
*/
|
||||||
for (j = 0; j < o; j++) {
|
for (j = 0; j < o; j++)
|
||||||
for (k = 0; k < o; k++) {
|
sq[row[i]*o + j] = matching[j] + 1;
|
||||||
if (flow[j*o+k])
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
assert(k < o);
|
|
||||||
sq[row[i]*o + col[j]] = numinv[k] + 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Done. Free our internal workspaces...
|
* Done. Free our internal workspaces...
|
||||||
*/
|
*/
|
||||||
sfree(flow);
|
sfree(matching);
|
||||||
sfree(capacity);
|
sfree(adjlists);
|
||||||
sfree(edges);
|
sfree(adjsizes);
|
||||||
sfree(backedges);
|
sfree(adjdata);
|
||||||
sfree(scratch);
|
sfree(scratch);
|
||||||
sfree(numinv);
|
|
||||||
sfree(num);
|
|
||||||
sfree(col);
|
|
||||||
sfree(row);
|
sfree(row);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
55
apps/plugins/puzzles/src/list.c
Normal file
55
apps/plugins/puzzles/src/list.c
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
/*
|
||||||
|
* list.c: List of pointers to puzzle structures, for monolithic
|
||||||
|
* platforms.
|
||||||
|
*
|
||||||
|
* This file is automatically generated by mkfiles.pl. Do not edit
|
||||||
|
* it directly, or the changes will be lost next time mkfiles.pl runs.
|
||||||
|
* Instead, edit Recipe and/or its *.R subfiles.
|
||||||
|
*/
|
||||||
|
#include "puzzles.h"
|
||||||
|
#define GAMELIST(A) \
|
||||||
|
A(blackbox) \
|
||||||
|
A(bridges) \
|
||||||
|
A(cube) \
|
||||||
|
A(dominosa) \
|
||||||
|
A(fifteen) \
|
||||||
|
A(filling) \
|
||||||
|
A(flip) \
|
||||||
|
A(flood) \
|
||||||
|
A(galaxies) \
|
||||||
|
A(guess) \
|
||||||
|
A(inertia) \
|
||||||
|
A(keen) \
|
||||||
|
A(lightup) \
|
||||||
|
A(loopy) \
|
||||||
|
A(magnets) \
|
||||||
|
A(map) \
|
||||||
|
A(mines) \
|
||||||
|
A(net) \
|
||||||
|
A(netslide) \
|
||||||
|
A(palisade) \
|
||||||
|
A(pattern) \
|
||||||
|
A(pearl) \
|
||||||
|
A(pegs) \
|
||||||
|
A(range) \
|
||||||
|
A(rect) \
|
||||||
|
A(samegame) \
|
||||||
|
A(signpost) \
|
||||||
|
A(singles) \
|
||||||
|
A(sixteen) \
|
||||||
|
A(slant) \
|
||||||
|
A(solo) \
|
||||||
|
A(tents) \
|
||||||
|
A(towers) \
|
||||||
|
A(tracks) \
|
||||||
|
A(twiddle) \
|
||||||
|
A(undead) \
|
||||||
|
A(unequal) \
|
||||||
|
A(unruly) \
|
||||||
|
A(untangle) \
|
||||||
|
|
||||||
|
#define DECL(x) extern const game x;
|
||||||
|
#define REF(x) &x,
|
||||||
|
GAMELIST(DECL)
|
||||||
|
const game *gamelist[] = { GAMELIST(REF) };
|
||||||
|
const int gamecount = lenof(gamelist);
|
||||||
753
apps/plugins/puzzles/src/matching.c
Normal file
753
apps/plugins/puzzles/src/matching.c
Normal file
|
|
@ -0,0 +1,753 @@
|
||||||
|
/*
|
||||||
|
* Implementation of matching.h.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "puzzles.h"
|
||||||
|
#include "matching.h"
|
||||||
|
|
||||||
|
struct scratch {
|
||||||
|
/*
|
||||||
|
* Current contents of the in-progress matching. LtoR is an array
|
||||||
|
* of nl integers, each of which holds a value in {0,1,...,nr-1},
|
||||||
|
* or -1 for no current assignment. RtoL is exactly the reverse.
|
||||||
|
*
|
||||||
|
* Invariant: LtoR[i] is non-empty and equal to j if and only if
|
||||||
|
* RtoL[j] is non-empty and equal to i.
|
||||||
|
*/
|
||||||
|
int *LtoR, *RtoL;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Arrays of nl and nr integer respectively, giving the layer
|
||||||
|
* assigned to each integer in the breadth-first search step of
|
||||||
|
* the algorithm.
|
||||||
|
*/
|
||||||
|
int *Llayer, *Rlayer;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Arrays of nl and nr integers respectively, used to hold the
|
||||||
|
* to-do queues in the breadth-first search.
|
||||||
|
*/
|
||||||
|
int *Lqueue, *Rqueue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* An augmenting path of vertices, alternating between L vertices
|
||||||
|
* (in the even-numbered positions, starting at 0) and R (in the
|
||||||
|
* odd positions). Must be long enough to hold any such path that
|
||||||
|
* never repeats a vertex, i.e. must be at least 2*min(nl,nr) in
|
||||||
|
* size.
|
||||||
|
*/
|
||||||
|
int *augpath;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Track the progress of the depth-first search at each
|
||||||
|
* even-numbered layer. Has one element for each even-numbered
|
||||||
|
* position in augpath.
|
||||||
|
*/
|
||||||
|
int *dfsstate;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Store a random permutation of the L vertex indices, if we're
|
||||||
|
* randomising the dfs phase.
|
||||||
|
*/
|
||||||
|
int *Lorder;
|
||||||
|
};
|
||||||
|
|
||||||
|
size_t matching_scratch_size(int nl, int nr)
|
||||||
|
{
|
||||||
|
size_t n;
|
||||||
|
int nmin = (nl < nr ? nl : nr);
|
||||||
|
|
||||||
|
n = (sizeof(struct scratch) + sizeof(int)-1)/sizeof(int);
|
||||||
|
n += nl; /* LtoR */
|
||||||
|
n += nr; /* RtoL */
|
||||||
|
n += nl; /* Llayer */
|
||||||
|
n += nr; /* Rlayer */
|
||||||
|
n += nl; /* Lqueue */
|
||||||
|
n += nr; /* Rqueue */
|
||||||
|
n += 2*nmin; /* augpath */
|
||||||
|
n += nmin; /* dfsstate */
|
||||||
|
n += nl; /* Lorder */
|
||||||
|
return n * sizeof(int);
|
||||||
|
}
|
||||||
|
|
||||||
|
int matching_with_scratch(void *scratchv,
|
||||||
|
int nl, int nr, int **adjlists, int *adjsizes,
|
||||||
|
random_state *rs, int *outl, int *outr)
|
||||||
|
{
|
||||||
|
struct scratch *s = (struct scratch *)scratchv;
|
||||||
|
int L, R, i, j;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set up the various array pointers in the scratch space.
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
int *p = scratchv;
|
||||||
|
int nmin = (nl < nr ? nl : nr);
|
||||||
|
|
||||||
|
p += (sizeof(struct scratch) + sizeof(int)-1)/sizeof(int);
|
||||||
|
s->LtoR = p; p += nl;
|
||||||
|
s->RtoL = p; p += nr;
|
||||||
|
s->Llayer = p; p += nl;
|
||||||
|
s->Rlayer = p; p += nr;
|
||||||
|
s->Lqueue = p; p += nl;
|
||||||
|
s->Rqueue = p; p += nr;
|
||||||
|
s->augpath = p; p += 2*nmin;
|
||||||
|
s->dfsstate = p; p += nmin;
|
||||||
|
s->Lorder = p; p += nl;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set up the initial matching, which is empty.
|
||||||
|
*/
|
||||||
|
for (L = 0; L < nl; L++)
|
||||||
|
s->LtoR[L] = -1;
|
||||||
|
for (R = 0; R < nr; R++)
|
||||||
|
s->RtoL[R] = -1;
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
/*
|
||||||
|
* Breadth-first search starting from the unassigned left
|
||||||
|
* vertices, traversing edges from left to right only if they
|
||||||
|
* are _not_ part of the matching, and from right to left only
|
||||||
|
* if they _are_. We assign a 'layer number' to all vertices
|
||||||
|
* visited by this search, with the starting vertices being
|
||||||
|
* layer 0 and every successor of a layer-n node being layer
|
||||||
|
* n+1.
|
||||||
|
*/
|
||||||
|
int Lqs, Rqs, layer, target_layer;
|
||||||
|
|
||||||
|
for (L = 0; L < nl; L++)
|
||||||
|
s->Llayer[L] = -1;
|
||||||
|
for (R = 0; R < nr; R++)
|
||||||
|
s->Rlayer[R] = -1;
|
||||||
|
|
||||||
|
Lqs = 0;
|
||||||
|
for (L = 0; L < nl; L++) {
|
||||||
|
if (s->LtoR[L] == -1) {
|
||||||
|
s->Llayer[L] = 0;
|
||||||
|
s->Lqueue[Lqs++] = L;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
layer = 0;
|
||||||
|
while (1) {
|
||||||
|
int found_free_R_vertex = FALSE;
|
||||||
|
|
||||||
|
Rqs = 0;
|
||||||
|
for (i = 0; i < Lqs; i++) {
|
||||||
|
L = s->Lqueue[i];
|
||||||
|
assert(s->Llayer[L] == layer);
|
||||||
|
|
||||||
|
for (j = 0; j < adjsizes[L]; j++) {
|
||||||
|
R = adjlists[L][j];
|
||||||
|
if (R != s->LtoR[L] && s->Rlayer[R] == -1) {
|
||||||
|
s->Rlayer[R] = layer+1;
|
||||||
|
s->Rqueue[Rqs++] = R;
|
||||||
|
if (s->RtoL[R] == -1)
|
||||||
|
found_free_R_vertex = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer++;
|
||||||
|
|
||||||
|
if (found_free_R_vertex)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (Rqs == 0)
|
||||||
|
goto done;
|
||||||
|
|
||||||
|
Lqs = 0;
|
||||||
|
for (j = 0; j < Rqs; j++) {
|
||||||
|
R = s->Rqueue[j];
|
||||||
|
assert(s->Rlayer[R] == layer);
|
||||||
|
if ((L = s->RtoL[R]) != -1 && s->Llayer[L] == -1) {
|
||||||
|
s->Llayer[L] = layer+1;
|
||||||
|
s->Lqueue[Lqs++] = L;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer++;
|
||||||
|
|
||||||
|
if (Lqs == 0)
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
target_layer = layer;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Vertices in the target layer are only interesting if
|
||||||
|
* they're actually unassigned. Blanking out the others here
|
||||||
|
* will save us a special case in the dfs loop below.
|
||||||
|
*/
|
||||||
|
for (R = 0; R < nr; R++)
|
||||||
|
if (s->Rlayer[R] == target_layer && s->RtoL[R] != -1)
|
||||||
|
s->Rlayer[R] = -1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Choose an ordering in which to try the L vertices at the
|
||||||
|
* start of the next pass.
|
||||||
|
*/
|
||||||
|
for (L = 0; L < nl; L++)
|
||||||
|
s->Lorder[L] = L;
|
||||||
|
if (rs)
|
||||||
|
shuffle(s->Lorder, nl, sizeof(*s->Lorder), rs);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Now depth-first search through that layered set of vertices
|
||||||
|
* to find as many (vertex-)disjoint augmenting paths as we
|
||||||
|
* can, and for each one we find, augment the matching.
|
||||||
|
*/
|
||||||
|
s->dfsstate[0] = 0;
|
||||||
|
i = 0;
|
||||||
|
while (1) {
|
||||||
|
/*
|
||||||
|
* Find the next vertex to go on the end of augpath.
|
||||||
|
*/
|
||||||
|
if (i == 0) {
|
||||||
|
/* In this special case, we're just looking for L
|
||||||
|
* vertices that are not yet assigned. */
|
||||||
|
if (s->dfsstate[i] == nl)
|
||||||
|
break; /* entire DFS has finished */
|
||||||
|
|
||||||
|
L = s->Lorder[s->dfsstate[i]++];
|
||||||
|
|
||||||
|
if (s->Llayer[L] != 2*i)
|
||||||
|
continue; /* skip this vertex */
|
||||||
|
} else {
|
||||||
|
/* In the more usual case, we're going through the
|
||||||
|
* adjacency list for the previous L vertex. */
|
||||||
|
L = s->augpath[2*i-2];
|
||||||
|
j = s->dfsstate[i]++;
|
||||||
|
if (j == adjsizes[L]) {
|
||||||
|
/* Run out of neighbours of the previous vertex. */
|
||||||
|
i--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (rs && adjsizes[L] - j > 1) {
|
||||||
|
int which = j + random_upto(rs, adjsizes[L] - j);
|
||||||
|
int tmp = adjlists[L][which];
|
||||||
|
adjlists[L][which] = adjlists[L][j];
|
||||||
|
adjlists[L][j] = tmp;
|
||||||
|
}
|
||||||
|
R = adjlists[L][j];
|
||||||
|
|
||||||
|
if (s->Rlayer[R] != 2*i-1)
|
||||||
|
continue; /* skip this vertex */
|
||||||
|
|
||||||
|
s->augpath[2*i-1] = R;
|
||||||
|
s->Rlayer[R] = -1; /* mark vertex as visited */
|
||||||
|
|
||||||
|
if (2*i-1 == target_layer) {
|
||||||
|
/*
|
||||||
|
* We've found an augmenting path, in the form of
|
||||||
|
* an even-sized list of vertices alternating
|
||||||
|
* L,R,...,L,R, with the initial L and final R
|
||||||
|
* vertex free and otherwise each R currently
|
||||||
|
* connected to the next L. Adjust so that each L
|
||||||
|
* connects to the next R, increasing the edge
|
||||||
|
* count in the matching by 1.
|
||||||
|
*/
|
||||||
|
for (j = 0; j < 2*i; j += 2) {
|
||||||
|
s->LtoR[s->augpath[j]] = s->augpath[j+1];
|
||||||
|
s->RtoL[s->augpath[j+1]] = s->augpath[j];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Having dealt with that path, and already marked
|
||||||
|
* all its vertices as visited, rewind right to
|
||||||
|
* the start and resume our DFS from a new
|
||||||
|
* starting L-vertex.
|
||||||
|
*/
|
||||||
|
i = 0;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
L = s->RtoL[R];
|
||||||
|
if (s->Llayer[L] != 2*i)
|
||||||
|
continue; /* skip this vertex */
|
||||||
|
}
|
||||||
|
|
||||||
|
s->augpath[2*i] = L;
|
||||||
|
s->Llayer[L] = -1; /* mark vertex as visited */
|
||||||
|
i++;
|
||||||
|
s->dfsstate[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
done:
|
||||||
|
/*
|
||||||
|
* Fill in the output arrays.
|
||||||
|
*/
|
||||||
|
if (outl) {
|
||||||
|
for (i = 0; i < nl; i++)
|
||||||
|
outl[i] = s->LtoR[i];
|
||||||
|
}
|
||||||
|
if (outr) {
|
||||||
|
for (j = 0; j < nr; j++)
|
||||||
|
outr[j] = s->RtoL[j];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return the number of matching edges.
|
||||||
|
*/
|
||||||
|
for (i = j = 0; i < nl; i++)
|
||||||
|
if (s->LtoR[i] != -1)
|
||||||
|
j++;
|
||||||
|
return j;
|
||||||
|
}
|
||||||
|
|
||||||
|
int matching(int nl, int nr, int **adjlists, int *adjsizes,
|
||||||
|
random_state *rs, int *outl, int *outr)
|
||||||
|
{
|
||||||
|
void *scratch;
|
||||||
|
int size;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
size = matching_scratch_size(nl, nr);
|
||||||
|
scratch = malloc(size);
|
||||||
|
if (!scratch)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
ret = matching_with_scratch(scratch, nl, nr, adjlists, adjsizes,
|
||||||
|
rs, outl, outr);
|
||||||
|
|
||||||
|
free(scratch);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef STANDALONE_MATCHING_TEST
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Diagnostic routine used in testing this algorithm. It is passed a
|
||||||
|
* pointer to a piece of scratch space that's just been used by
|
||||||
|
* matching_with_scratch, and extracts from it a labelling of the
|
||||||
|
* input graph that acts as a 'witness' to the maximality of the
|
||||||
|
* returned matching.
|
||||||
|
*
|
||||||
|
* The output parameter 'witness' should be an array of (nl+nr)
|
||||||
|
* integers, indexed such that witness[L] corresponds to an L-vertex (for
|
||||||
|
* L=0,1,...,nl-1) and witness[nl+R] corresponds to an R-vertex (for
|
||||||
|
* R=0,1,...,nr-1). On return, this array will assign each vertex a
|
||||||
|
* label which is either 0 or 1, and the following properties will
|
||||||
|
* hold:
|
||||||
|
*
|
||||||
|
* + all vertices not paired up by the matching are type L0 or R1
|
||||||
|
* + every L0->R1 edge is used by the matching
|
||||||
|
* + no L1->R0 edge is used by the matching.
|
||||||
|
*
|
||||||
|
* The mere existence of such a labelling is enough to prove the
|
||||||
|
* maximality of the matching, because if there is any larger matching
|
||||||
|
* then its symmetric difference with this one must include at least
|
||||||
|
* one 'augmenting path', which starts at a free L-vertex and ends at
|
||||||
|
* a free R-vertex, traversing only unused L->R edges and only used
|
||||||
|
* R->L edges. But that would mean it starts at an L0, ends at an R1,
|
||||||
|
* and never follows an edge that can get from an 0 to a 1.
|
||||||
|
*/
|
||||||
|
static void matching_witness(void *scratchv, int nl, int nr, int *witness)
|
||||||
|
{
|
||||||
|
struct scratch *s = (struct scratch *)scratchv;
|
||||||
|
int i, j;
|
||||||
|
|
||||||
|
for (i = 0; i < nl; i++)
|
||||||
|
witness[i] = s->Llayer[i] == -1;
|
||||||
|
for (j = 0; j < nr; j++)
|
||||||
|
witness[nl + j] = s->Rlayer[j] == -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Standalone tool to run the matching algorithm.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
#include "tree234.h"
|
||||||
|
|
||||||
|
int nl, nr, count;
|
||||||
|
int **adjlists, *adjsizes;
|
||||||
|
int *adjdata, *outl, *outr, *witness;
|
||||||
|
void *scratch;
|
||||||
|
random_state *rs;
|
||||||
|
|
||||||
|
void allocate(int nl_, int nr_, int maxedges)
|
||||||
|
{
|
||||||
|
nl = nl_;
|
||||||
|
nr = nr_;
|
||||||
|
adjdata = snewn(maxedges, int);
|
||||||
|
adjlists = snewn(nl, int *);
|
||||||
|
adjsizes = snewn(nl, int);
|
||||||
|
outl = snewn(nl, int);
|
||||||
|
outr = snewn(nr, int);
|
||||||
|
witness = snewn(nl+nr, int);
|
||||||
|
scratch = smalloc(matching_scratch_size(nl, nr));
|
||||||
|
}
|
||||||
|
|
||||||
|
void deallocate(void)
|
||||||
|
{
|
||||||
|
sfree(adjlists);
|
||||||
|
sfree(adjsizes);
|
||||||
|
sfree(adjdata);
|
||||||
|
sfree(outl);
|
||||||
|
sfree(outr);
|
||||||
|
sfree(witness);
|
||||||
|
sfree(scratch);
|
||||||
|
}
|
||||||
|
|
||||||
|
void find_and_check_matching(void)
|
||||||
|
{
|
||||||
|
int i, j, k;
|
||||||
|
|
||||||
|
count = matching_with_scratch(scratch, nl, nr, adjlists, adjsizes,
|
||||||
|
rs, outl, outr);
|
||||||
|
matching_witness(scratch, nl, nr, witness);
|
||||||
|
|
||||||
|
for (i = j = 0; i < nl; i++) {
|
||||||
|
if (outl[i] != -1) {
|
||||||
|
assert(0 <= outl[i] && outl[i] < nr);
|
||||||
|
assert(outr[outl[i]] == i);
|
||||||
|
j++;
|
||||||
|
|
||||||
|
for (k = 0; k < adjsizes[i]; k++)
|
||||||
|
if (adjlists[i][k] == outl[i])
|
||||||
|
break;
|
||||||
|
assert(k < adjsizes[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert(j == count);
|
||||||
|
|
||||||
|
for (i = j = 0; i < nr; i++) {
|
||||||
|
if (outr[i] != -1) {
|
||||||
|
assert(0 <= outr[i] && outr[i] < nl);
|
||||||
|
assert(outl[outr[i]] == i);
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert(j == count);
|
||||||
|
|
||||||
|
for (i = 0; i < nl; i++) {
|
||||||
|
if (outl[i] == -1)
|
||||||
|
assert(witness[i] == 0);
|
||||||
|
}
|
||||||
|
for (i = 0; i < nr; i++) {
|
||||||
|
if (outr[i] == -1)
|
||||||
|
assert(witness[nl+i] == 1);
|
||||||
|
}
|
||||||
|
for (i = 0; i < nl; i++) {
|
||||||
|
for (j = 0; j < adjsizes[i]; j++) {
|
||||||
|
k = adjlists[i][j];
|
||||||
|
|
||||||
|
if (outl[i] == k)
|
||||||
|
assert(!(witness[i] == 1 && witness[nl+k] == 0));
|
||||||
|
else
|
||||||
|
assert(!(witness[i] == 0 && witness[nl+k] == 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
struct nodename {
|
||||||
|
const char *name;
|
||||||
|
int index;
|
||||||
|
};
|
||||||
|
|
||||||
|
int compare_nodes(void *av, void *bv)
|
||||||
|
{
|
||||||
|
const struct nodename *a = (const struct nodename *)av;
|
||||||
|
const struct nodename *b = (const struct nodename *)bv;
|
||||||
|
return strcmp(a->name, b->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
int node_index(tree234 *n2i, tree234 *i2n, const char *name)
|
||||||
|
{
|
||||||
|
struct nodename *nn, *nn_prev;
|
||||||
|
char *namedup = dupstr(name);
|
||||||
|
|
||||||
|
nn = snew(struct nodename);
|
||||||
|
nn->name = namedup;
|
||||||
|
nn->index = count234(n2i);
|
||||||
|
|
||||||
|
nn_prev = add234(n2i, nn);
|
||||||
|
if (nn_prev != nn) {
|
||||||
|
sfree(nn);
|
||||||
|
sfree(namedup);
|
||||||
|
} else {
|
||||||
|
addpos234(i2n, nn, nn->index);
|
||||||
|
}
|
||||||
|
|
||||||
|
return nn_prev->index;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct edge {
|
||||||
|
int L, R;
|
||||||
|
};
|
||||||
|
|
||||||
|
int compare_edges(void *av, void *bv)
|
||||||
|
{
|
||||||
|
const struct edge *a = (const struct edge *)av;
|
||||||
|
const struct edge *b = (const struct edge *)bv;
|
||||||
|
if (a->L < b->L) return -1;
|
||||||
|
if (a->L > b->L) return +1;
|
||||||
|
if (a->R < b->R) return -1;
|
||||||
|
if (a->R > b->R) return +1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void matching_from_user_input(FILE *fp, const char *filename)
|
||||||
|
{
|
||||||
|
tree234 *Ln2i, *Li2n, *Rn2i, *Ri2n, *edges;
|
||||||
|
char *line = NULL;
|
||||||
|
struct edge *e;
|
||||||
|
int i, lineno = 0;
|
||||||
|
int *adjptr;
|
||||||
|
|
||||||
|
Ln2i = newtree234(compare_nodes);
|
||||||
|
Rn2i = newtree234(compare_nodes);
|
||||||
|
Li2n = newtree234(NULL);
|
||||||
|
Ri2n = newtree234(NULL);
|
||||||
|
edges = newtree234(compare_edges);
|
||||||
|
|
||||||
|
while (sfree(line), lineno++, (line = fgetline(fp)) != NULL) {
|
||||||
|
char *p, *Lname, *Rname;
|
||||||
|
|
||||||
|
p = line;
|
||||||
|
while (*p && isspace((unsigned char)*p)) p++;
|
||||||
|
if (!*p)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Lname = p;
|
||||||
|
while (*p && !isspace((unsigned char)*p)) p++;
|
||||||
|
if (*p)
|
||||||
|
*p++ = '\0';
|
||||||
|
while (*p && isspace((unsigned char)*p)) p++;
|
||||||
|
|
||||||
|
if (!*p) {
|
||||||
|
fprintf(stderr, "%s:%d: expected 2 words, found 1\n",
|
||||||
|
filename, lineno);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
Rname = p;
|
||||||
|
while (*p && !isspace((unsigned char)*p)) p++;
|
||||||
|
if (*p)
|
||||||
|
*p++ = '\0';
|
||||||
|
while (*p && isspace((unsigned char)*p)) p++;
|
||||||
|
|
||||||
|
if (*p) {
|
||||||
|
fprintf(stderr, "%s:%d: expected 2 words, found more\n",
|
||||||
|
filename, lineno);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
e = snew(struct edge);
|
||||||
|
e->L = node_index(Ln2i, Li2n, Lname);
|
||||||
|
e->R = node_index(Rn2i, Ri2n, Rname);
|
||||||
|
if (add234(edges, e) != e) {
|
||||||
|
fprintf(stderr, "%s:%d: duplicate edge\n",
|
||||||
|
filename, lineno);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
allocate(count234(Ln2i), count234(Rn2i), count234(edges));
|
||||||
|
|
||||||
|
adjptr = adjdata;
|
||||||
|
for (i = 0; i < nl; i++)
|
||||||
|
adjlists[i] = NULL;
|
||||||
|
for (i = 0; (e = index234(edges, i)) != NULL; i++) {
|
||||||
|
if (!adjlists[e->L])
|
||||||
|
adjlists[e->L] = adjptr;
|
||||||
|
*adjptr++ = e->R;
|
||||||
|
adjsizes[e->L] = adjptr - adjlists[e->L];
|
||||||
|
}
|
||||||
|
|
||||||
|
find_and_check_matching();
|
||||||
|
|
||||||
|
for (i = 0; i < nl; i++) {
|
||||||
|
if (outl[i] != -1) {
|
||||||
|
struct nodename *Lnn = index234(Li2n, i);
|
||||||
|
struct nodename *Rnn = index234(Ri2n, outl[i]);
|
||||||
|
printf("%s %s\n", Lnn->name, Rnn->name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_subsets(void)
|
||||||
|
{
|
||||||
|
int b = 8;
|
||||||
|
int n = 1 << b;
|
||||||
|
int i, j, nruns, expected_size;
|
||||||
|
int *adjptr;
|
||||||
|
int *edgecounts;
|
||||||
|
struct stats {
|
||||||
|
int min, max;
|
||||||
|
double n, sx, sxx;
|
||||||
|
} *stats;
|
||||||
|
static const char seed[] = "fixed random seed for repeatability";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generate a graph in which every subset of [b] = {1,...,b}
|
||||||
|
* (represented as a b-bit integer 0 <= i < n) has an edge going
|
||||||
|
* to every subset obtained by removing exactly one element.
|
||||||
|
*
|
||||||
|
* This graph is the disjoint union of the corresponding graph for
|
||||||
|
* each layer (collection of same-sized subset) of the power set
|
||||||
|
* of [b]. Each of those graphs has a matching of size equal to
|
||||||
|
* the smaller of its vertex sets. So we expect the overall size
|
||||||
|
* of the output matching to be less than n by the size of the
|
||||||
|
* largest layer, that is, to be n - binomial(n, floor(n/2)).
|
||||||
|
*
|
||||||
|
* We run the generation repeatedly, randomising it every time,
|
||||||
|
* and we expect to see every possible edge appear sooner or
|
||||||
|
* later.
|
||||||
|
*/
|
||||||
|
|
||||||
|
rs = random_new(seed, strlen(seed));
|
||||||
|
|
||||||
|
allocate(n, n, n*b);
|
||||||
|
adjptr = adjdata;
|
||||||
|
expected_size = 0;
|
||||||
|
for (i = 0; i < n; i++) {
|
||||||
|
adjlists[i] = adjptr;
|
||||||
|
for (j = 0; j < b; j++) {
|
||||||
|
if (i & (1 << j))
|
||||||
|
*adjptr++ = i & ~(1 << j);
|
||||||
|
}
|
||||||
|
adjsizes[i] = adjptr - adjlists[i];
|
||||||
|
if (adjsizes[i] != b/2)
|
||||||
|
expected_size++;
|
||||||
|
}
|
||||||
|
|
||||||
|
edgecounts = snewn(n*b, int);
|
||||||
|
for (i = 0; i < n*b; i++)
|
||||||
|
edgecounts[i] = 0;
|
||||||
|
|
||||||
|
stats = snewn(b, struct stats);
|
||||||
|
|
||||||
|
nruns = 0;
|
||||||
|
while (nruns < 10000) {
|
||||||
|
nruns++;
|
||||||
|
find_and_check_matching();
|
||||||
|
assert(count == expected_size);
|
||||||
|
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
for (j = 0; j < b; j++)
|
||||||
|
if ((i ^ outl[i]) == (1 << j))
|
||||||
|
edgecounts[b*i+j]++;
|
||||||
|
|
||||||
|
if (nruns % 1000 == 0) {
|
||||||
|
for (i = 0; i < b; i++) {
|
||||||
|
struct stats *st = &stats[i];
|
||||||
|
st->min = st->max = -1;
|
||||||
|
st->n = st->sx = st->sxx = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < n; i++) {
|
||||||
|
int pop = 0;
|
||||||
|
for (j = 0; j < b; j++)
|
||||||
|
if (i & (1 << j))
|
||||||
|
pop++;
|
||||||
|
pop--;
|
||||||
|
|
||||||
|
for (j = 0; j < b; j++) {
|
||||||
|
if (i & (1 << j)) {
|
||||||
|
struct stats *st = &stats[pop];
|
||||||
|
int x = edgecounts[b*i+j];
|
||||||
|
if (st->max == -1 || st->max < x)
|
||||||
|
st->max = x;
|
||||||
|
if (st->min == -1 || st->min > x)
|
||||||
|
st->min = x;
|
||||||
|
st->n++;
|
||||||
|
st->sx += x;
|
||||||
|
st->sxx += (double)x*x;
|
||||||
|
} else {
|
||||||
|
assert(edgecounts[b*i+j] == 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("after %d runs:\n", nruns);
|
||||||
|
for (j = 0; j < b; j++) {
|
||||||
|
struct stats *st = &stats[j];
|
||||||
|
printf("edges between layers %d,%d:"
|
||||||
|
" min=%d max=%d mean=%f variance=%f\n",
|
||||||
|
j, j+1, st->min, st->max, st->sx/st->n,
|
||||||
|
(st->sxx - st->sx*st->sx/st->n) / st->n);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
static const char stdin_identifier[] = "<standard input>";
|
||||||
|
const char *infile = NULL;
|
||||||
|
int doing_opts = TRUE;
|
||||||
|
enum { USER_INPUT, AUTOTEST } mode = USER_INPUT;
|
||||||
|
|
||||||
|
while (--argc > 0) {
|
||||||
|
const char *arg = *++argv;
|
||||||
|
|
||||||
|
if (doing_opts && arg[0] == '-' && arg[1]) {
|
||||||
|
if (!strcmp(arg, "--")) {
|
||||||
|
doing_opts = FALSE;
|
||||||
|
} else if (!strcmp(arg, "--random")) {
|
||||||
|
char buf[64];
|
||||||
|
int len = sprintf(buf, "%lu", (unsigned long)time(NULL));
|
||||||
|
rs = random_new(buf, len);
|
||||||
|
} else if (!strcmp(arg, "--autotest")) {
|
||||||
|
mode = AUTOTEST;
|
||||||
|
} else {
|
||||||
|
fprintf(stderr, "matching: unrecognised option '%s'\n", arg);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!infile) {
|
||||||
|
infile = (!strcmp(arg, "-") ? stdin_identifier : arg);
|
||||||
|
} else {
|
||||||
|
fprintf(stderr, "matching: too many arguments\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode == USER_INPUT) {
|
||||||
|
FILE *fp;
|
||||||
|
|
||||||
|
if (!infile)
|
||||||
|
infile = stdin_identifier;
|
||||||
|
|
||||||
|
if (infile != stdin_identifier) {
|
||||||
|
fp = fopen(infile, "r");
|
||||||
|
if (!fp) {
|
||||||
|
fprintf(stderr, "matching: could not open input file '%s'\n",
|
||||||
|
infile);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fp = stdin;
|
||||||
|
}
|
||||||
|
|
||||||
|
matching_from_user_input(fp, infile);
|
||||||
|
|
||||||
|
if (infile != stdin_identifier)
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode == AUTOTEST) {
|
||||||
|
if (infile) {
|
||||||
|
fprintf(stderr, "matching: expected no filename argument "
|
||||||
|
"with --autotest\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
test_subsets();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* STANDALONE_MATCHING_TEST */
|
||||||
80
apps/plugins/puzzles/src/matching.h
Normal file
80
apps/plugins/puzzles/src/matching.h
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
/*
|
||||||
|
* Hopcroft-Karp algorithm for finding a maximal matching in a
|
||||||
|
* bipartite graph.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MATCHING_MATCHING_H
|
||||||
|
#define MATCHING_MATCHING_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The actual algorithm.
|
||||||
|
*
|
||||||
|
* Inputs:
|
||||||
|
*
|
||||||
|
* - 'scratch' is previously allocated scratch space of a size
|
||||||
|
* previously determined by calling 'matching_scratch_size'.
|
||||||
|
*
|
||||||
|
* - 'nl' is the number of vertices on the left side of the graph.
|
||||||
|
* Left vertices are numbered from 0 to nl-1.
|
||||||
|
*
|
||||||
|
* - 'nr' is the number of vertices on the left side of the graph.
|
||||||
|
* Right vertices are numbered from 0 to nr-1.
|
||||||
|
*
|
||||||
|
* - 'adjlists' and 'adjsizes' represents the graph in adjacency-list
|
||||||
|
* form. For each left vertex L, adjlists[L] points to an array of
|
||||||
|
* adjsizes[L] integers giving the list of right vertices adjacent
|
||||||
|
* to L.
|
||||||
|
*
|
||||||
|
* - 'rs', if not NULL, is a random_state used to perturb the
|
||||||
|
* progress of the algorithm so as to choose randomly from the
|
||||||
|
* possible matchings if there's more than one. (The exact
|
||||||
|
* probability distribution can't be guaranteed, but at the very
|
||||||
|
* least, any matching that exists should be a _possible_ output.)
|
||||||
|
*
|
||||||
|
* If 'rs' is not NULL, then each list in adjlists[] will be permuted
|
||||||
|
* during the course of the algorithm as a side effect. (That's why
|
||||||
|
* it's not an array of _const_ int pointers.)
|
||||||
|
*
|
||||||
|
* Output:
|
||||||
|
*
|
||||||
|
* - 'outl' may be NULL. If non-NULL, it is an array of 'nl'
|
||||||
|
* integers, and outl[L] will be assigned the index of the right
|
||||||
|
* vertex that the output matching paired with the left vertex L,
|
||||||
|
* or -1 if L is unpaired.
|
||||||
|
*
|
||||||
|
* - 'outr' may be NULL. If non-NULL, it is an array of 'nr'
|
||||||
|
* integers, and outr[R] will be assigned the index of the left
|
||||||
|
* vertex that the output matching paired with the right vertex R,
|
||||||
|
* or -1 if R is unpaired.
|
||||||
|
*
|
||||||
|
* - the returned value from the function is the total number of
|
||||||
|
* edges in the matching.
|
||||||
|
*/
|
||||||
|
int matching_with_scratch(void *scratch,
|
||||||
|
int nl, int nr, int **adjlists, int *adjsizes,
|
||||||
|
random_state *rs, int *outl, int *outr);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The above function expects its 'scratch' parameter to have already
|
||||||
|
* been set up. This function tells you how much space is needed for a
|
||||||
|
* given size of graph, so that you can allocate a single instance of
|
||||||
|
* scratch space and run the algorithm multiple times without the
|
||||||
|
* overhead of an alloc and free every time.
|
||||||
|
*/
|
||||||
|
size_t matching_scratch_size(int nl, int nr);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Simplified version of the above function. All parameters are the
|
||||||
|
* same, except that 'scratch' is constructed internally and freed on
|
||||||
|
* exit. This is the simplest way to call the algorithm as a one-off;
|
||||||
|
* however, if you need to call it multiple times on the same size of
|
||||||
|
* graph, it is probably better to call the above version directly so
|
||||||
|
* that you only construct 'scratch' once.
|
||||||
|
*
|
||||||
|
* Additional return value is now -1, meaning that scratch space
|
||||||
|
* could not be allocated.
|
||||||
|
*/
|
||||||
|
int matching(int nl, int nr, int **adjlists, int *adjsizes,
|
||||||
|
random_state *rs, int *outl, int *outr);
|
||||||
|
|
||||||
|
#endif /* MATCHING_MATCHING_H */
|
||||||
|
|
@ -1,461 +0,0 @@
|
||||||
/*
|
|
||||||
* Edmonds-Karp algorithm for finding a maximum flow and minimum
|
|
||||||
* cut in a network. Almost identical to the Ford-Fulkerson
|
|
||||||
* algorithm, but apparently using breadth-first search to find the
|
|
||||||
* _shortest_ augmenting path is a good way to guarantee
|
|
||||||
* termination and ensure the time complexity is not dependent on
|
|
||||||
* the actual value of the maximum flow. I don't understand why
|
|
||||||
* that should be, but it's claimed on the Internet that it's been
|
|
||||||
* proved, and that's good enough for me. I prefer BFS to DFS
|
|
||||||
* anyway :-)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include "maxflow.h"
|
|
||||||
|
|
||||||
#include "puzzles.h" /* for snewn/sfree */
|
|
||||||
|
|
||||||
int maxflow_with_scratch(void *scratch, int nv, int source, int sink,
|
|
||||||
int ne, const int *edges, const int *backedges,
|
|
||||||
const int *capacity, int *flow, int *cut)
|
|
||||||
{
|
|
||||||
int *todo = (int *)scratch;
|
|
||||||
int *prev = todo + nv;
|
|
||||||
int *firstedge = todo + 2*nv;
|
|
||||||
int *firstbackedge = todo + 3*nv;
|
|
||||||
int i, j, head, tail, from, to;
|
|
||||||
int totalflow;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Scan the edges array to find the index of the first edge
|
|
||||||
* from each node.
|
|
||||||
*/
|
|
||||||
j = 0;
|
|
||||||
for (i = 0; i < ne; i++)
|
|
||||||
while (j <= edges[2*i])
|
|
||||||
firstedge[j++] = i;
|
|
||||||
while (j < nv)
|
|
||||||
firstedge[j++] = ne;
|
|
||||||
assert(j == nv);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Scan the backedges array to find the index of the first edge
|
|
||||||
* _to_ each node.
|
|
||||||
*/
|
|
||||||
j = 0;
|
|
||||||
for (i = 0; i < ne; i++)
|
|
||||||
while (j <= edges[2*backedges[i]+1])
|
|
||||||
firstbackedge[j++] = i;
|
|
||||||
while (j < nv)
|
|
||||||
firstbackedge[j++] = ne;
|
|
||||||
assert(j == nv);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Start the flow off at zero on every edge.
|
|
||||||
*/
|
|
||||||
for (i = 0; i < ne; i++)
|
|
||||||
flow[i] = 0;
|
|
||||||
totalflow = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Repeatedly look for an augmenting path, and follow it.
|
|
||||||
*/
|
|
||||||
while (1) {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up the prev array.
|
|
||||||
*/
|
|
||||||
for (i = 0; i < nv; i++)
|
|
||||||
prev[i] = -1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Initialise the to-do list for BFS.
|
|
||||||
*/
|
|
||||||
head = tail = 0;
|
|
||||||
todo[tail++] = source;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Now do the BFS loop.
|
|
||||||
*/
|
|
||||||
while (head < tail && prev[sink] < 0) {
|
|
||||||
from = todo[head++];
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try all the forward edges out of node `from'. For a
|
|
||||||
* forward edge to be valid, it must have flow
|
|
||||||
* currently less than its capacity.
|
|
||||||
*/
|
|
||||||
for (i = firstedge[from]; i < ne && edges[2*i] == from; i++) {
|
|
||||||
to = edges[2*i+1];
|
|
||||||
if (to == source || prev[to] >= 0)
|
|
||||||
continue;
|
|
||||||
if (capacity[i] >= 0 && flow[i] >= capacity[i])
|
|
||||||
continue;
|
|
||||||
/*
|
|
||||||
* This is a valid augmenting edge. Visit node `to'.
|
|
||||||
*/
|
|
||||||
prev[to] = 2*i;
|
|
||||||
todo[tail++] = to;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try all the backward edges into node `from'. For a
|
|
||||||
* backward edge to be valid, it must have flow
|
|
||||||
* currently greater than zero.
|
|
||||||
*/
|
|
||||||
for (i = firstbackedge[from];
|
|
||||||
j = backedges[i], i < ne && edges[2*j+1]==from; i++) {
|
|
||||||
to = edges[2*j];
|
|
||||||
if (to == source || prev[to] >= 0)
|
|
||||||
continue;
|
|
||||||
if (flow[j] <= 0)
|
|
||||||
continue;
|
|
||||||
/*
|
|
||||||
* This is a valid augmenting edge. Visit node `to'.
|
|
||||||
*/
|
|
||||||
prev[to] = 2*j+1;
|
|
||||||
todo[tail++] = to;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If prev[sink] is non-null, we have found an augmenting
|
|
||||||
* path.
|
|
||||||
*/
|
|
||||||
if (prev[sink] >= 0) {
|
|
||||||
int max;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Work backwards along the path figuring out the
|
|
||||||
* maximum flow we can add.
|
|
||||||
*/
|
|
||||||
to = sink;
|
|
||||||
max = -1;
|
|
||||||
while (to != source) {
|
|
||||||
int spare;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Find the edge we're currently moving along.
|
|
||||||
*/
|
|
||||||
i = prev[to];
|
|
||||||
from = edges[i];
|
|
||||||
assert(from != to);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Determine the spare capacity of this edge.
|
|
||||||
*/
|
|
||||||
if (i & 1)
|
|
||||||
spare = flow[i / 2]; /* backward edge */
|
|
||||||
else if (capacity[i / 2] >= 0)
|
|
||||||
spare = capacity[i / 2] - flow[i / 2]; /* forward edge */
|
|
||||||
else
|
|
||||||
spare = -1; /* unlimited forward edge */
|
|
||||||
|
|
||||||
assert(spare != 0);
|
|
||||||
|
|
||||||
if (max < 0 || (spare >= 0 && spare < max))
|
|
||||||
max = spare;
|
|
||||||
|
|
||||||
to = from;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Fail an assertion if max is still < 0, i.e. there is
|
|
||||||
* an entirely unlimited path from source to sink. Also
|
|
||||||
* max should not _be_ zero, because by construction
|
|
||||||
* this _should_ be an augmenting path.
|
|
||||||
*/
|
|
||||||
assert(max > 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Now work backwards along the path again, this time
|
|
||||||
* actually adjusting the flow.
|
|
||||||
*/
|
|
||||||
to = sink;
|
|
||||||
while (to != source) {
|
|
||||||
/*
|
|
||||||
* Find the edge we're currently moving along.
|
|
||||||
*/
|
|
||||||
i = prev[to];
|
|
||||||
from = edges[i];
|
|
||||||
assert(from != to);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Adjust the edge.
|
|
||||||
*/
|
|
||||||
if (i & 1)
|
|
||||||
flow[i / 2] -= max; /* backward edge */
|
|
||||||
else
|
|
||||||
flow[i / 2] += max; /* forward edge */
|
|
||||||
|
|
||||||
to = from;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* And adjust the overall flow counter.
|
|
||||||
*/
|
|
||||||
totalflow += max;
|
|
||||||
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If we reach here, we have failed to find an augmenting
|
|
||||||
* path, which means we're done. Output the `cut' array if
|
|
||||||
* required, and leave.
|
|
||||||
*/
|
|
||||||
if (cut) {
|
|
||||||
for (i = 0; i < nv; i++) {
|
|
||||||
if (i == source || prev[i] >= 0)
|
|
||||||
cut[i] = 0;
|
|
||||||
else
|
|
||||||
cut[i] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return totalflow;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int maxflow_scratch_size(int nv)
|
|
||||||
{
|
|
||||||
return (nv * 4) * sizeof(int);
|
|
||||||
}
|
|
||||||
|
|
||||||
void maxflow_setup_backedges(int ne, const int *edges, int *backedges)
|
|
||||||
{
|
|
||||||
int i, n;
|
|
||||||
|
|
||||||
for (i = 0; i < ne; i++)
|
|
||||||
backedges[i] = i;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We actually can't use the C qsort() function, because we'd
|
|
||||||
* need to pass `edges' as a context parameter to its
|
|
||||||
* comparator function. So instead I'm forced to implement my
|
|
||||||
* own sorting algorithm internally, which is a pest. I'll use
|
|
||||||
* heapsort, because I like it.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define LESS(i,j) ( (edges[2*(i)+1] < edges[2*(j)+1]) || \
|
|
||||||
(edges[2*(i)+1] == edges[2*(j)+1] && \
|
|
||||||
edges[2*(i)] < edges[2*(j)]) )
|
|
||||||
#define PARENT(n) ( ((n)-1)/2 )
|
|
||||||
#define LCHILD(n) ( 2*(n)+1 )
|
|
||||||
#define RCHILD(n) ( 2*(n)+2 )
|
|
||||||
#define SWAP(i,j) do { int swaptmp = (i); (i) = (j); (j) = swaptmp; } while (0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Phase 1: build the heap. We want the _largest_ element at
|
|
||||||
* the top.
|
|
||||||
*/
|
|
||||||
n = 0;
|
|
||||||
while (n < ne) {
|
|
||||||
n++;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Swap element n with its parent repeatedly to preserve
|
|
||||||
* the heap property.
|
|
||||||
*/
|
|
||||||
i = n-1;
|
|
||||||
|
|
||||||
while (i > 0) {
|
|
||||||
int p = PARENT(i);
|
|
||||||
|
|
||||||
if (LESS(backedges[p], backedges[i])) {
|
|
||||||
SWAP(backedges[p], backedges[i]);
|
|
||||||
i = p;
|
|
||||||
} else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Phase 2: repeatedly remove the largest element and stick it
|
|
||||||
* at the top of the array.
|
|
||||||
*/
|
|
||||||
while (n > 0) {
|
|
||||||
/*
|
|
||||||
* The largest element is at position 0. Put it at the top,
|
|
||||||
* and swap the arbitrary element from that position into
|
|
||||||
* position 0.
|
|
||||||
*/
|
|
||||||
n--;
|
|
||||||
SWAP(backedges[0], backedges[n]);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Now repeatedly move that arbitrary element down the heap
|
|
||||||
* by swapping it with the more suitable of its children.
|
|
||||||
*/
|
|
||||||
i = 0;
|
|
||||||
while (1) {
|
|
||||||
int lc, rc;
|
|
||||||
|
|
||||||
lc = LCHILD(i);
|
|
||||||
rc = RCHILD(i);
|
|
||||||
|
|
||||||
if (lc >= n)
|
|
||||||
break; /* we've hit bottom */
|
|
||||||
|
|
||||||
if (rc >= n) {
|
|
||||||
/*
|
|
||||||
* Special case: there is only one child to check.
|
|
||||||
*/
|
|
||||||
if (LESS(backedges[i], backedges[lc]))
|
|
||||||
SWAP(backedges[i], backedges[lc]);
|
|
||||||
|
|
||||||
/* _Now_ we've hit bottom. */
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
* The common case: there are two children and we
|
|
||||||
* must check them both.
|
|
||||||
*/
|
|
||||||
if (LESS(backedges[i], backedges[lc]) ||
|
|
||||||
LESS(backedges[i], backedges[rc])) {
|
|
||||||
/*
|
|
||||||
* Pick the more appropriate child to swap with
|
|
||||||
* (i.e. the one which would want to be the
|
|
||||||
* parent if one were above the other - as one
|
|
||||||
* is about to be).
|
|
||||||
*/
|
|
||||||
if (LESS(backedges[lc], backedges[rc])) {
|
|
||||||
SWAP(backedges[i], backedges[rc]);
|
|
||||||
i = rc;
|
|
||||||
} else {
|
|
||||||
SWAP(backedges[i], backedges[lc]);
|
|
||||||
i = lc;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
/* This element is in the right place; we're done. */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef LESS
|
|
||||||
#undef PARENT
|
|
||||||
#undef LCHILD
|
|
||||||
#undef RCHILD
|
|
||||||
#undef SWAP
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
int maxflow(int nv, int source, int sink,
|
|
||||||
int ne, const int *edges, const int *capacity,
|
|
||||||
int *flow, int *cut)
|
|
||||||
{
|
|
||||||
void *scratch;
|
|
||||||
int *backedges;
|
|
||||||
int size;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allocate the space.
|
|
||||||
*/
|
|
||||||
size = ne * sizeof(int) + maxflow_scratch_size(nv);
|
|
||||||
backedges = smalloc(size);
|
|
||||||
if (!backedges)
|
|
||||||
return -1;
|
|
||||||
scratch = backedges + ne;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up the backedges array.
|
|
||||||
*/
|
|
||||||
maxflow_setup_backedges(ne, edges, backedges);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Call the main function.
|
|
||||||
*/
|
|
||||||
ret = maxflow_with_scratch(scratch, nv, source, sink, ne, edges,
|
|
||||||
backedges, capacity, flow, cut);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Free the scratch space.
|
|
||||||
*/
|
|
||||||
sfree(backedges);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* And we're done.
|
|
||||||
*/
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef TESTMODE
|
|
||||||
|
|
||||||
#define MAXEDGES 256
|
|
||||||
#define MAXVERTICES 128
|
|
||||||
#define ADDEDGE(i,j) do{edges[ne*2] = (i); edges[ne*2+1] = (j); ne++;}while(0)
|
|
||||||
|
|
||||||
int compare_edge(const void *av, const void *bv)
|
|
||||||
{
|
|
||||||
const int *a = (const int *)av;
|
|
||||||
const int *b = (const int *)bv;
|
|
||||||
|
|
||||||
if (a[0] < b[0])
|
|
||||||
return -1;
|
|
||||||
else if (a[0] > b[0])
|
|
||||||
return +1;
|
|
||||||
else if (a[1] < b[1])
|
|
||||||
return -1;
|
|
||||||
else if (a[1] > b[1])
|
|
||||||
return +1;
|
|
||||||
else
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
int edges[MAXEDGES*2], ne, nv;
|
|
||||||
int capacity[MAXEDGES], flow[MAXEDGES], cut[MAXVERTICES];
|
|
||||||
int source, sink, p, q, i, j, ret;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Use this algorithm to find a maximal complete matching in a
|
|
||||||
* bipartite graph.
|
|
||||||
*/
|
|
||||||
ne = 0;
|
|
||||||
nv = 0;
|
|
||||||
source = nv++;
|
|
||||||
p = nv;
|
|
||||||
nv += 5;
|
|
||||||
q = nv;
|
|
||||||
nv += 5;
|
|
||||||
sink = nv++;
|
|
||||||
for (i = 0; i < 5; i++) {
|
|
||||||
capacity[ne] = 1;
|
|
||||||
ADDEDGE(source, p+i);
|
|
||||||
}
|
|
||||||
for (i = 0; i < 5; i++) {
|
|
||||||
capacity[ne] = 1;
|
|
||||||
ADDEDGE(q+i, sink);
|
|
||||||
}
|
|
||||||
j = ne;
|
|
||||||
capacity[ne] = 1; ADDEDGE(p+0,q+0);
|
|
||||||
capacity[ne] = 1; ADDEDGE(p+1,q+0);
|
|
||||||
capacity[ne] = 1; ADDEDGE(p+1,q+1);
|
|
||||||
capacity[ne] = 1; ADDEDGE(p+2,q+1);
|
|
||||||
capacity[ne] = 1; ADDEDGE(p+2,q+2);
|
|
||||||
capacity[ne] = 1; ADDEDGE(p+3,q+2);
|
|
||||||
capacity[ne] = 1; ADDEDGE(p+3,q+3);
|
|
||||||
capacity[ne] = 1; ADDEDGE(p+4,q+3);
|
|
||||||
/* capacity[ne] = 1; ADDEDGE(p+2,q+4); */
|
|
||||||
qsort(edges, ne, 2*sizeof(int), compare_edge);
|
|
||||||
|
|
||||||
ret = maxflow(nv, source, sink, ne, edges, capacity, flow, cut);
|
|
||||||
|
|
||||||
printf("ret = %d\n", ret);
|
|
||||||
|
|
||||||
for (i = 0; i < ne; i++)
|
|
||||||
printf("flow %d: %d -> %d\n", flow[i], edges[2*i], edges[2*i+1]);
|
|
||||||
|
|
||||||
for (i = 0; i < nv; i++)
|
|
||||||
if (cut[i] == 0)
|
|
||||||
printf("difficult set includes %d\n", i);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
/*
|
|
||||||
* Edmonds-Karp algorithm for finding a maximum flow and minimum
|
|
||||||
* cut in a network. Almost identical to the Ford-Fulkerson
|
|
||||||
* algorithm, but apparently using breadth-first search to find the
|
|
||||||
* _shortest_ augmenting path is a good way to guarantee
|
|
||||||
* termination and ensure the time complexity is not dependent on
|
|
||||||
* the actual value of the maximum flow. I don't understand why
|
|
||||||
* that should be, but it's claimed on the Internet that it's been
|
|
||||||
* proved, and that's good enough for me. I prefer BFS to DFS
|
|
||||||
* anyway :-)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MAXFLOW_MAXFLOW_H
|
|
||||||
#define MAXFLOW_MAXFLOW_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The actual algorithm.
|
|
||||||
*
|
|
||||||
* Inputs:
|
|
||||||
*
|
|
||||||
* - `scratch' is previously allocated scratch space of a size
|
|
||||||
* previously determined by calling `maxflow_scratch_size'.
|
|
||||||
*
|
|
||||||
* - `nv' is the number of vertices. Vertices are assumed to be
|
|
||||||
* numbered from 0 to nv-1.
|
|
||||||
*
|
|
||||||
* - `source' and `sink' are the distinguished source and sink
|
|
||||||
* vertices.
|
|
||||||
*
|
|
||||||
* - `ne' is the number of edges in the graph.
|
|
||||||
*
|
|
||||||
* - `edges' is an array of 2*ne integers, giving a (source, dest)
|
|
||||||
* pair for each network edge. Edge pairs are expected to be
|
|
||||||
* sorted in lexicographic order.
|
|
||||||
*
|
|
||||||
* - `backedges' is an array of `ne' integers, each a distinct
|
|
||||||
* index into `edges'. The edges in `edges', if permuted as
|
|
||||||
* specified by this array, should end up sorted in the _other_
|
|
||||||
* lexicographic order, i.e. dest taking priority over source.
|
|
||||||
*
|
|
||||||
* - `capacity' is an array of `ne' integers, giving a maximum
|
|
||||||
* flow capacity for each edge. A negative value is taken to
|
|
||||||
* indicate unlimited capacity on that edge, but note that there
|
|
||||||
* may not be any unlimited-capacity _path_ from source to sink
|
|
||||||
* or an assertion will be failed.
|
|
||||||
*
|
|
||||||
* Output:
|
|
||||||
*
|
|
||||||
* - `flow' must be non-NULL. It is an array of `ne' integers,
|
|
||||||
* each giving the final flow along each edge.
|
|
||||||
*
|
|
||||||
* - `cut' may be NULL. If non-NULL, it is an array of `nv'
|
|
||||||
* integers, which will be set to zero or one on output, in such
|
|
||||||
* a way that:
|
|
||||||
* + the set of zero vertices includes the source
|
|
||||||
* + the set of one vertices includes the sink
|
|
||||||
* + the maximum flow capacity between the zero and one vertex
|
|
||||||
* sets is achieved (i.e. all edges from a zero vertex to a
|
|
||||||
* one vertex are at full capacity, while all edges from a
|
|
||||||
* one vertex to a zero vertex have no flow at all).
|
|
||||||
*
|
|
||||||
* - the returned value from the function is the total flow
|
|
||||||
* achieved.
|
|
||||||
*/
|
|
||||||
int maxflow_with_scratch(void *scratch, int nv, int source, int sink,
|
|
||||||
int ne, const int *edges, const int *backedges,
|
|
||||||
const int *capacity, int *flow, int *cut);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The above function expects its `scratch' and `backedges'
|
|
||||||
* parameters to have already been set up. This allows you to set
|
|
||||||
* them up once and use them in multiple invocates of the
|
|
||||||
* algorithm. Now I provide functions to actually do the setting
|
|
||||||
* up.
|
|
||||||
*/
|
|
||||||
int maxflow_scratch_size(int nv);
|
|
||||||
void maxflow_setup_backedges(int ne, const int *edges, int *backedges);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Simplified version of the above function. All parameters are the
|
|
||||||
* same, except that `scratch' and `backedges' are constructed
|
|
||||||
* internally. This is the simplest way to call the algorithm as a
|
|
||||||
* one-off; however, if you need to call it multiple times on the
|
|
||||||
* same network, it is probably better to call the above version
|
|
||||||
* directly so that you only construct `scratch' and `backedges'
|
|
||||||
* once.
|
|
||||||
*
|
|
||||||
* Additional return value is now -1, meaning that scratch space
|
|
||||||
* could not be allocated.
|
|
||||||
*/
|
|
||||||
int maxflow(int nv, int source, int sink,
|
|
||||||
int ne, const int *edges, const int *capacity,
|
|
||||||
int *flow, int *cut);
|
|
||||||
|
|
||||||
#endif /* MAXFLOW_MAXFLOW_H */
|
|
||||||
|
|
@ -1104,6 +1104,27 @@ int midend_process_key(midend *me, int x, int y, int button)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
key_label *midend_request_keys(midend *me, int *n)
|
||||||
|
{
|
||||||
|
key_label *keys = NULL;
|
||||||
|
int nkeys = 0, i;
|
||||||
|
|
||||||
|
if(me->ourgame->request_keys)
|
||||||
|
{
|
||||||
|
keys = me->ourgame->request_keys(midend_get_params(me), &nkeys);
|
||||||
|
for(i = 0; i < nkeys; ++i)
|
||||||
|
{
|
||||||
|
if(!keys[i].label)
|
||||||
|
keys[i].label = button2label(keys[i].button);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(n)
|
||||||
|
*n = nkeys;
|
||||||
|
|
||||||
|
return keys;
|
||||||
|
}
|
||||||
|
|
||||||
void midend_redraw(midend *me)
|
void midend_redraw(midend *me)
|
||||||
{
|
{
|
||||||
assert(me->drawing);
|
assert(me->drawing);
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,15 @@ void free_cfg(config_item *cfg)
|
||||||
sfree(cfg);
|
sfree(cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void free_keys(key_label *keys, int nkeys)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i = 0; i < nkeys; i++)
|
||||||
|
sfree(keys->label);
|
||||||
|
sfree(keys);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The Mines (among others) game descriptions contain the location of every
|
* The Mines (among others) game descriptions contain the location of every
|
||||||
* mine, and can therefore be used to cheat.
|
* mine, and can therefore be used to cheat.
|
||||||
|
|
@ -169,6 +178,25 @@ unsigned char *hex2bin(const char *in, int outlen)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *fgetline(FILE *fp)
|
||||||
|
{
|
||||||
|
char *ret = snewn(512, char);
|
||||||
|
int size = 512, len = 0;
|
||||||
|
while (fgets(ret + len, size - len, fp)) {
|
||||||
|
len += strlen(ret + len);
|
||||||
|
if (ret[len-1] == '\n')
|
||||||
|
break; /* got a newline, we're done */
|
||||||
|
size = len + 512;
|
||||||
|
ret = sresize(ret, size, char);
|
||||||
|
}
|
||||||
|
if (len == 0) { /* first fgets returned NULL */
|
||||||
|
sfree(ret);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
ret[len] = '\0';
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
void game_mkhighlight_specific(frontend *fe, float *ret,
|
void game_mkhighlight_specific(frontend *fe, float *ret,
|
||||||
int background, int highlight, int lowlight)
|
int background, int highlight, int lowlight)
|
||||||
{
|
{
|
||||||
|
|
@ -380,4 +408,42 @@ int ftoa(char *buf, float f)
|
||||||
return sprintf(buf, "%d.%06d", (int)f, abs((int)((f - (int)f)*1e6)));
|
return sprintf(buf, "%d.%06d", (int)f, abs((int)((f - (int)f)*1e6)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Returns a dynamically allocated label for a generic button.
|
||||||
|
* Game-specific buttons should go into the `label' field of key_label
|
||||||
|
* instead. */
|
||||||
|
char *button2label(int button)
|
||||||
|
{
|
||||||
|
/* check if it's a keyboard button */
|
||||||
|
if(('A' <= button && button <= 'Z') ||
|
||||||
|
('a' <= button && button <= 'z') ||
|
||||||
|
('0' <= button && button <= '9') )
|
||||||
|
{
|
||||||
|
char str[2];
|
||||||
|
str[0] = button;
|
||||||
|
str[1] = '\0';
|
||||||
|
return dupstr(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(button)
|
||||||
|
{
|
||||||
|
case CURSOR_UP:
|
||||||
|
return dupstr("Up");
|
||||||
|
case CURSOR_DOWN:
|
||||||
|
return dupstr("Down");
|
||||||
|
case CURSOR_LEFT:
|
||||||
|
return dupstr("Left");
|
||||||
|
case CURSOR_RIGHT:
|
||||||
|
return dupstr("Right");
|
||||||
|
case CURSOR_SELECT:
|
||||||
|
return dupstr("Select");
|
||||||
|
case '\b':
|
||||||
|
return dupstr("Clear");
|
||||||
|
default:
|
||||||
|
fatal("unknown generic key");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* should never get here */
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* vim: set shiftwidth=4 tabstop=8: */
|
/* vim: set shiftwidth=4 tabstop=8: */
|
||||||
|
|
|
||||||
215
apps/plugins/puzzles/src/missing
Executable file
215
apps/plugins/puzzles/src/missing
Executable file
|
|
@ -0,0 +1,215 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Common wrapper for a few potentially missing GNU programs.
|
||||||
|
|
||||||
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
if test $# -eq 0; then
|
||||||
|
echo 1>&2 "Try '$0 --help' for more information"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
|
||||||
|
--is-lightweight)
|
||||||
|
# Used by our autoconf macros to check whether the available missing
|
||||||
|
# script is modern enough.
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--run)
|
||||||
|
# Back-compat with the calling convention used by older automake.
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
|
||||||
|
-h|--h|--he|--hel|--help)
|
||||||
|
echo "\
|
||||||
|
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||||
|
|
||||||
|
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
|
||||||
|
to PROGRAM being missing or too old.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help display this help and exit
|
||||||
|
-v, --version output version information and exit
|
||||||
|
|
||||||
|
Supported PROGRAM values:
|
||||||
|
aclocal autoconf autoheader autom4te automake makeinfo
|
||||||
|
bison yacc flex lex help2man
|
||||||
|
|
||||||
|
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
|
||||||
|
'g' are ignored when checking the name.
|
||||||
|
|
||||||
|
Send bug reports to <bug-automake@gnu.org>."
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||||
|
echo "missing $scriptversion (GNU Automake)"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
-*)
|
||||||
|
echo 1>&2 "$0: unknown '$1' option"
|
||||||
|
echo 1>&2 "Try '$0 --help' for more information"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Run the given program, remember its exit status.
|
||||||
|
"$@"; st=$?
|
||||||
|
|
||||||
|
# If it succeeded, we are done.
|
||||||
|
test $st -eq 0 && exit 0
|
||||||
|
|
||||||
|
# Also exit now if we it failed (or wasn't found), and '--version' was
|
||||||
|
# passed; such an option is passed most likely to detect whether the
|
||||||
|
# program is present and works.
|
||||||
|
case $2 in --version|--help) exit $st;; esac
|
||||||
|
|
||||||
|
# Exit code 63 means version mismatch. This often happens when the user
|
||||||
|
# tries to use an ancient version of a tool on a file that requires a
|
||||||
|
# minimum version.
|
||||||
|
if test $st -eq 63; then
|
||||||
|
msg="probably too old"
|
||||||
|
elif test $st -eq 127; then
|
||||||
|
# Program was missing.
|
||||||
|
msg="missing on your system"
|
||||||
|
else
|
||||||
|
# Program was found and executed, but failed. Give up.
|
||||||
|
exit $st
|
||||||
|
fi
|
||||||
|
|
||||||
|
perl_URL=http://www.perl.org/
|
||||||
|
flex_URL=http://flex.sourceforge.net/
|
||||||
|
gnu_software_URL=http://www.gnu.org/software
|
||||||
|
|
||||||
|
program_details ()
|
||||||
|
{
|
||||||
|
case $1 in
|
||||||
|
aclocal|automake)
|
||||||
|
echo "The '$1' program is part of the GNU Automake package:"
|
||||||
|
echo "<$gnu_software_URL/automake>"
|
||||||
|
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
|
||||||
|
echo "<$gnu_software_URL/autoconf>"
|
||||||
|
echo "<$gnu_software_URL/m4/>"
|
||||||
|
echo "<$perl_URL>"
|
||||||
|
;;
|
||||||
|
autoconf|autom4te|autoheader)
|
||||||
|
echo "The '$1' program is part of the GNU Autoconf package:"
|
||||||
|
echo "<$gnu_software_URL/autoconf/>"
|
||||||
|
echo "It also requires GNU m4 and Perl in order to run:"
|
||||||
|
echo "<$gnu_software_URL/m4/>"
|
||||||
|
echo "<$perl_URL>"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
give_advice ()
|
||||||
|
{
|
||||||
|
# Normalize program name to check for.
|
||||||
|
normalized_program=`echo "$1" | sed '
|
||||||
|
s/^gnu-//; t
|
||||||
|
s/^gnu//; t
|
||||||
|
s/^g//; t'`
|
||||||
|
|
||||||
|
printf '%s\n' "'$1' is $msg."
|
||||||
|
|
||||||
|
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
|
||||||
|
case $normalized_program in
|
||||||
|
autoconf*)
|
||||||
|
echo "You should only need it if you modified 'configure.ac',"
|
||||||
|
echo "or m4 files included by it."
|
||||||
|
program_details 'autoconf'
|
||||||
|
;;
|
||||||
|
autoheader*)
|
||||||
|
echo "You should only need it if you modified 'acconfig.h' or"
|
||||||
|
echo "$configure_deps."
|
||||||
|
program_details 'autoheader'
|
||||||
|
;;
|
||||||
|
automake*)
|
||||||
|
echo "You should only need it if you modified 'Makefile.am' or"
|
||||||
|
echo "$configure_deps."
|
||||||
|
program_details 'automake'
|
||||||
|
;;
|
||||||
|
aclocal*)
|
||||||
|
echo "You should only need it if you modified 'acinclude.m4' or"
|
||||||
|
echo "$configure_deps."
|
||||||
|
program_details 'aclocal'
|
||||||
|
;;
|
||||||
|
autom4te*)
|
||||||
|
echo "You might have modified some maintainer files that require"
|
||||||
|
echo "the 'autom4te' program to be rebuilt."
|
||||||
|
program_details 'autom4te'
|
||||||
|
;;
|
||||||
|
bison*|yacc*)
|
||||||
|
echo "You should only need it if you modified a '.y' file."
|
||||||
|
echo "You may want to install the GNU Bison package:"
|
||||||
|
echo "<$gnu_software_URL/bison/>"
|
||||||
|
;;
|
||||||
|
lex*|flex*)
|
||||||
|
echo "You should only need it if you modified a '.l' file."
|
||||||
|
echo "You may want to install the Fast Lexical Analyzer package:"
|
||||||
|
echo "<$flex_URL>"
|
||||||
|
;;
|
||||||
|
help2man*)
|
||||||
|
echo "You should only need it if you modified a dependency" \
|
||||||
|
"of a man page."
|
||||||
|
echo "You may want to install the GNU Help2man package:"
|
||||||
|
echo "<$gnu_software_URL/help2man/>"
|
||||||
|
;;
|
||||||
|
makeinfo*)
|
||||||
|
echo "You should only need it if you modified a '.texi' file, or"
|
||||||
|
echo "any other file indirectly affecting the aspect of the manual."
|
||||||
|
echo "You might want to install the Texinfo package:"
|
||||||
|
echo "<$gnu_software_URL/texinfo/>"
|
||||||
|
echo "The spurious makeinfo call might also be the consequence of"
|
||||||
|
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
|
||||||
|
echo "want to install GNU make:"
|
||||||
|
echo "<$gnu_software_URL/make/>"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "You might have modified some files without having the proper"
|
||||||
|
echo "tools for further handling them. Check the 'README' file, it"
|
||||||
|
echo "often tells you about the needed prerequisites for installing"
|
||||||
|
echo "this package. You may also peek at any GNU archive site, in"
|
||||||
|
echo "case some other package contains this missing '$1' program."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
||||||
|
-e '2,$s/^/ /' >&2
|
||||||
|
|
||||||
|
# Propagate the correct exit status (expected to be 127 for a program
|
||||||
|
# not found, 63 for a program that failed due to version mismatch).
|
||||||
|
exit $st
|
||||||
|
|
||||||
|
# Local variables:
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
||||||
|
|
@ -638,7 +638,7 @@ if (defined $makefiles{'clangcl'}) {
|
||||||
print "\t\$(RC) \$(RCFLAGS) ".$d->{deps}->[0]." -o ".$d->{obj}."\n\n";
|
print "\t\$(RC) \$(RCFLAGS) ".$d->{deps}->[0]." -o ".$d->{obj}."\n\n";
|
||||||
} else {
|
} else {
|
||||||
$deflist = join "", map { " /D$_" } @{$d->{defs}};
|
$deflist = join "", map { " /D$_" } @{$d->{defs}};
|
||||||
print "\t\$(CC) /Fo\$(BUILDDIR)".$d->{obj}." \$(COMPAT) \$(CFLAGS) \$(XFLAGS)$deflist /c \$<\n\n";
|
print "\t\$(CC) /Fo".$d->{obj}." \$(COMPAT) \$(CFLAGS) \$(XFLAGS)$deflist /c \$<\n\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "\nclean:\n".
|
print "\nclean:\n".
|
||||||
|
|
|
||||||
|
|
@ -2400,10 +2400,15 @@ increasingly complex reasoning to avoid having to backtrack.
|
||||||
\cfg{winhelp-topic}{games.galaxies}
|
\cfg{winhelp-topic}{games.galaxies}
|
||||||
|
|
||||||
You have a rectangular grid containing a number of dots. Your aim is
|
You have a rectangular grid containing a number of dots. Your aim is
|
||||||
to draw edges along the grid lines which divide the rectangle into
|
to partition the rectangle into connected regions of squares, in such
|
||||||
regions in such a way that every region is 180\u00b0{-degree}
|
a way that every region is 180\u00b0{-degree} rotationally symmetric,
|
||||||
rotationally symmetric, and contains exactly one dot which is
|
and contains exactly one dot which is located at its centre of
|
||||||
located at its centre of symmetry.
|
symmetry.
|
||||||
|
|
||||||
|
To enter your solution, you draw lines along the grid edges to mark
|
||||||
|
the boundaries of the regions. The puzzle is complete when the marked
|
||||||
|
lines on the grid are precisely those that separate two squares
|
||||||
|
belonging to different regions.
|
||||||
|
|
||||||
This puzzle was invented by \i{Nikoli} \k{nikoli-galaxies}, under
|
This puzzle was invented by \i{Nikoli} \k{nikoli-galaxies}, under
|
||||||
the name \q{Tentai Show}; its name is commonly translated into
|
the name \q{Tentai Show}; its name is commonly translated into
|
||||||
|
|
@ -2418,11 +2423,11 @@ Galaxies was contributed to this collection by James Harvey.
|
||||||
\IM{Galaxies controls} controls, for Galaxies
|
\IM{Galaxies controls} controls, for Galaxies
|
||||||
|
|
||||||
Left-click on any grid line to draw an edge if there isn't one
|
Left-click on any grid line to draw an edge if there isn't one
|
||||||
already, or to remove one if there is. When you create a valid
|
already, or to remove one if there is. When you create a valid region
|
||||||
region (one which is closed, contains exactly one dot, is
|
(one which is closed, contains exactly one dot, is 180\u00b0{-degree}
|
||||||
180\u00b0{-degree} symmetric about that dot, and contains no
|
symmetric about that dot, and contains no extraneous edges between two
|
||||||
extraneous edges inside it) it will be highlighted automatically; so
|
of its own squares), it will be highlighted automatically; so your aim
|
||||||
your aim is to have the whole grid highlighted in that way.
|
is to have the whole grid highlighted in that way.
|
||||||
|
|
||||||
During solving, you might know that a particular grid square belongs
|
During solving, you might know that a particular grid square belongs
|
||||||
to a specific dot, but not be sure of where the edges go and which
|
to a specific dot, but not be sure of where the edges go and which
|
||||||
|
|
|
||||||
167
apps/plugins/puzzles/src/puzzles.cnt
Normal file
167
apps/plugins/puzzles/src/puzzles.cnt
Normal file
|
|
@ -0,0 +1,167 @@
|
||||||
|
:Title Simon Tatham's Portable Puzzle Collection
|
||||||
|
1 Contents=Top
|
||||||
|
1 Chapter 1: Introduction
|
||||||
|
2 Chapter 1: Introduction=t00000000
|
||||||
|
1 Chapter 2: Common features
|
||||||
|
2 Chapter 2: Common features=t00000001
|
||||||
|
2 Section 2.1: Common actions=t00000002
|
||||||
|
2 Section 2.2: Specifying games with the game ID=t00000003
|
||||||
|
2 Section 2.3: The ‘Type’ menu=t00000004
|
||||||
|
2 Section 2.4: Specifying game parameters on the command line=t00000005
|
||||||
|
2 Section 2.5: Unix command-line options=t00000006
|
||||||
|
1 Chapter 3: Net
|
||||||
|
2 Chapter 3: Net=games.net
|
||||||
|
2 Section 3.1: Net controls=t00000007
|
||||||
|
2 Section 3.2: Net parameters=t00000008
|
||||||
|
1 Chapter 4: Cube
|
||||||
|
2 Chapter 4: Cube=games.cube
|
||||||
|
2 Section 4.1: Cube controls=t00000009
|
||||||
|
2 Section 4.2: Cube parameters=t00000010
|
||||||
|
1 Chapter 5: Fifteen
|
||||||
|
2 Chapter 5: Fifteen=games.fifteen
|
||||||
|
2 Section 5.1: Fifteen controls=t00000011
|
||||||
|
2 Section 5.2: Fifteen parameters=t00000012
|
||||||
|
1 Chapter 6: Sixteen
|
||||||
|
2 Chapter 6: Sixteen=games.sixteen
|
||||||
|
2 Section 6.1: Sixteen controls=t00000013
|
||||||
|
2 Section 6.2: Sixteen parameters=t00000014
|
||||||
|
1 Chapter 7: Twiddle
|
||||||
|
2 Chapter 7: Twiddle=games.twiddle
|
||||||
|
2 Section 7.1: Twiddle controls=t00000015
|
||||||
|
2 Section 7.2: Twiddle parameters=t00000016
|
||||||
|
1 Chapter 8: Rectangles
|
||||||
|
2 Chapter 8: Rectangles=games.rectangles
|
||||||
|
2 Section 8.1: Rectangles controls=t00000017
|
||||||
|
2 Section 8.2: Rectangles parameters=t00000018
|
||||||
|
1 Chapter 9: Netslide
|
||||||
|
2 Chapter 9: Netslide=games.netslide
|
||||||
|
1 Chapter 10: Pattern
|
||||||
|
2 Chapter 10: Pattern=games.pattern
|
||||||
|
2 Section 10.1: Pattern controls=t00000019
|
||||||
|
2 Section 10.2: Pattern parameters=t00000020
|
||||||
|
1 Chapter 11: Solo
|
||||||
|
2 Chapter 11: Solo=games.solo
|
||||||
|
2 Section 11.1: Solo controls=t00000021
|
||||||
|
2 Section 11.2: Solo parameters=t00000022
|
||||||
|
1 Chapter 12: Mines
|
||||||
|
2 Chapter 12: Mines=games.mines
|
||||||
|
2 Section 12.1: Mines controls=t00000023
|
||||||
|
2 Section 12.2: Mines parameters=t00000024
|
||||||
|
1 Chapter 13: Same Game
|
||||||
|
2 Chapter 13: Same Game=games.samegame
|
||||||
|
2 Section 13.1: Same Game controls=t00000025
|
||||||
|
2 Section 13.2: Same Game parameters=t00000026
|
||||||
|
1 Chapter 14: Flip
|
||||||
|
2 Chapter 14: Flip=games.flip
|
||||||
|
2 Section 14.1: Flip controls=t00000027
|
||||||
|
2 Section 14.2: Flip parameters=t00000028
|
||||||
|
1 Chapter 15: Guess
|
||||||
|
2 Chapter 15: Guess=games.guess
|
||||||
|
2 Section 15.1: Guess controls=t00000029
|
||||||
|
2 Section 15.2: Guess parameters=t00000030
|
||||||
|
1 Chapter 16: Pegs
|
||||||
|
2 Chapter 16: Pegs=games.pegs
|
||||||
|
2 Section 16.1: Pegs controls=t00000031
|
||||||
|
2 Section 16.2: Pegs parameters=t00000032
|
||||||
|
1 Chapter 17: Dominosa
|
||||||
|
2 Chapter 17: Dominosa=games.dominosa
|
||||||
|
2 Section 17.1: Dominosa controls=t00000033
|
||||||
|
2 Section 17.2: Dominosa parameters=t00000034
|
||||||
|
1 Chapter 18: Untangle
|
||||||
|
2 Chapter 18: Untangle=games.untangle
|
||||||
|
2 Section 18.1: Untangle controls=t00000035
|
||||||
|
2 Section 18.2: Untangle parameters=t00000036
|
||||||
|
1 Chapter 19: Black Box
|
||||||
|
2 Chapter 19: Black Box=games.blackbox
|
||||||
|
2 Section 19.1: Black Box controls=t00000037
|
||||||
|
2 Section 19.2: Black Box parameters=t00000038
|
||||||
|
1 Chapter 20: Slant
|
||||||
|
2 Chapter 20: Slant=games.slant
|
||||||
|
2 Section 20.1: Slant controls=t00000039
|
||||||
|
2 Section 20.2: Slant parameters=t00000040
|
||||||
|
1 Chapter 21: Light Up
|
||||||
|
2 Chapter 21: Light Up=games.lightup
|
||||||
|
2 Section 21.1: Light Up controls=t00000041
|
||||||
|
2 Section 21.2: Light Up parameters=t00000042
|
||||||
|
1 Chapter 22: Map
|
||||||
|
2 Chapter 22: Map=games.map
|
||||||
|
2 Section 22.1: Map controls=t00000043
|
||||||
|
2 Section 22.2: Map parameters=t00000044
|
||||||
|
1 Chapter 23: Loopy
|
||||||
|
2 Chapter 23: Loopy=games.loopy
|
||||||
|
2 Section 23.1: Loopy controls=t00000045
|
||||||
|
2 Section 23.2: Loopy parameters=t00000046
|
||||||
|
1 Chapter 24: Inertia
|
||||||
|
2 Chapter 24: Inertia=games.inertia
|
||||||
|
2 Section 24.1: Inertia controls=t00000047
|
||||||
|
2 Section 24.2: Inertia parameters=t00000048
|
||||||
|
1 Chapter 25: Tents
|
||||||
|
2 Chapter 25: Tents=games.tents
|
||||||
|
2 Section 25.1: Tents controls=t00000049
|
||||||
|
2 Section 25.2: Tents parameters=t00000050
|
||||||
|
1 Chapter 26: Bridges
|
||||||
|
2 Chapter 26: Bridges=games.bridges
|
||||||
|
2 Section 26.1: Bridges controls=t00000051
|
||||||
|
2 Section 26.2: Bridges parameters=t00000052
|
||||||
|
1 Chapter 27: Unequal
|
||||||
|
2 Chapter 27: Unequal=games.unequal
|
||||||
|
2 Section 27.1: Unequal controls=t00000053
|
||||||
|
2 Section 27.2: Unequal parameters=t00000054
|
||||||
|
1 Chapter 28: Galaxies
|
||||||
|
2 Chapter 28: Galaxies=games.galaxies
|
||||||
|
2 Section 28.1: Galaxies controls=t00000055
|
||||||
|
2 Section 28.2: Galaxies parameters=t00000056
|
||||||
|
1 Chapter 29: Filling
|
||||||
|
2 Chapter 29: Filling=games.filling
|
||||||
|
2 Section 29.1: Filling controls=t00000057
|
||||||
|
2 Section 29.2: Filling parameters=t00000058
|
||||||
|
1 Chapter 30: Keen
|
||||||
|
2 Chapter 30: Keen=games.keen
|
||||||
|
2 Section 30.1: Keen controls=t00000059
|
||||||
|
2 Section 30.2: Keen parameters=t00000060
|
||||||
|
1 Chapter 31: Towers
|
||||||
|
2 Chapter 31: Towers=games.towers
|
||||||
|
2 Section 31.1: Towers controls=t00000061
|
||||||
|
2 Section 31.2: Towers parameters=t00000062
|
||||||
|
1 Chapter 32: Singles
|
||||||
|
2 Chapter 32: Singles=games.singles
|
||||||
|
2 Section 32.1: Singles controls=t00000063
|
||||||
|
2 Section 32.2: Singles parameters=t00000064
|
||||||
|
1 Chapter 33: Magnets
|
||||||
|
2 Chapter 33: Magnets=games.magnets
|
||||||
|
2 Section 33.1: Magnets controls=t00000065
|
||||||
|
2 Section 33.2: Magnets parameters=t00000066
|
||||||
|
1 Chapter 34: Signpost
|
||||||
|
2 Chapter 34: Signpost=games.signpost
|
||||||
|
2 Section 34.1: Signpost controls=t00000067
|
||||||
|
2 Section 34.2: Signpost parameters=t00000068
|
||||||
|
1 Chapter 35: Range
|
||||||
|
2 Chapter 35: Range=games.range
|
||||||
|
2 Section 35.1: Range controls=t00000069
|
||||||
|
2 Section 35.2: Range parameters=t00000070
|
||||||
|
1 Chapter 36: Pearl
|
||||||
|
2 Chapter 36: Pearl=games.pearl
|
||||||
|
2 Section 36.1: Pearl controls=t00000071
|
||||||
|
2 Section 36.2: Pearl parameters=t00000072
|
||||||
|
1 Chapter 37: Undead
|
||||||
|
2 Chapter 37: Undead=games.undead
|
||||||
|
2 Section 37.1: Undead controls=t00000073
|
||||||
|
2 Section 37.2: Undead parameters=t00000074
|
||||||
|
1 Chapter 38: Unruly
|
||||||
|
2 Chapter 38: Unruly=games.unruly
|
||||||
|
2 Section 38.1: Unruly controls=t00000075
|
||||||
|
2 Section 38.2: Unruly parameters=t00000076
|
||||||
|
1 Chapter 39: Flood
|
||||||
|
2 Chapter 39: Flood=games.flood
|
||||||
|
2 Section 39.1: Flood controls=t00000077
|
||||||
|
2 Section 39.2: Flood parameters=t00000078
|
||||||
|
1 Chapter 40: Tracks
|
||||||
|
2 Chapter 40: Tracks=games.tracks
|
||||||
|
2 Section 40.1: Tracks controls=t00000079
|
||||||
|
2 Section 40.2: Tracks parameters=t00000080
|
||||||
|
1 Chapter 41: Palisade
|
||||||
|
2 Chapter 41: Palisade=games.palisade
|
||||||
|
2 Section 41.1: Palisade controls=t00000081
|
||||||
|
2 Section 41.2: Palisade parameters=t00000082
|
||||||
|
1 Appendix A: Licence
|
||||||
|
2 Appendix A: Licence=t00000083
|
||||||
|
|
@ -217,6 +217,24 @@ void preset_menu_add_preset(struct preset_menu *menu,
|
||||||
* want to organise their preset menu usage */
|
* want to organise their preset menu usage */
|
||||||
game_params *preset_menu_lookup_by_id(struct preset_menu *menu, int id);
|
game_params *preset_menu_lookup_by_id(struct preset_menu *menu, int id);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Small structure specifying a UI button in a keyboardless front
|
||||||
|
* end. The button will have the text of "label" written on it, and
|
||||||
|
* pressing it causes the value "button" to be passed to
|
||||||
|
* midend_process_key() as if typed at the keyboard.
|
||||||
|
*
|
||||||
|
* If `label' is NULL (which it likely will be), a generic label can
|
||||||
|
* be generated with the button2label() function.
|
||||||
|
*/
|
||||||
|
typedef struct key_label {
|
||||||
|
/* What should be displayed to the user by the frontend. Backends
|
||||||
|
* can set this field to NULL and have it filled in by the midend
|
||||||
|
* with a generic label. Dynamically allocated, but frontends
|
||||||
|
* should probably use free_keys() to free instead. */
|
||||||
|
char *label;
|
||||||
|
int button; /* passed to midend_process_key when button is pressed */
|
||||||
|
} key_label;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Platform routines
|
* Platform routines
|
||||||
*/
|
*/
|
||||||
|
|
@ -301,6 +319,7 @@ void midend_new_game(midend *me);
|
||||||
void midend_restart_game(midend *me);
|
void midend_restart_game(midend *me);
|
||||||
void midend_stop_anim(midend *me);
|
void midend_stop_anim(midend *me);
|
||||||
int midend_process_key(midend *me, int x, int y, int button);
|
int midend_process_key(midend *me, int x, int y, int button);
|
||||||
|
key_label *midend_request_keys(midend *me, int *nkeys);
|
||||||
void midend_force_redraw(midend *me);
|
void midend_force_redraw(midend *me);
|
||||||
void midend_redraw(midend *me);
|
void midend_redraw(midend *me);
|
||||||
float *midend_colours(midend *me, int *ncolours);
|
float *midend_colours(midend *me, int *ncolours);
|
||||||
|
|
@ -356,7 +375,9 @@ char *dupstr(const char *s);
|
||||||
* misc.c
|
* misc.c
|
||||||
*/
|
*/
|
||||||
void free_cfg(config_item *cfg);
|
void free_cfg(config_item *cfg);
|
||||||
|
void free_keys(key_label *keys, int nkeys);
|
||||||
void obfuscate_bitmap(unsigned char *bmp, int bits, int decode);
|
void obfuscate_bitmap(unsigned char *bmp, int bits, int decode);
|
||||||
|
char *fgetline(FILE *fp);
|
||||||
|
|
||||||
/* allocates output each time. len is always in bytes of binary data.
|
/* allocates output each time. len is always in bytes of binary data.
|
||||||
* May assert (or just go wrong) if lengths are unchecked. */
|
* May assert (or just go wrong) if lengths are unchecked. */
|
||||||
|
|
@ -403,6 +424,11 @@ void copy_left_justified(char *buf, size_t sz, const char *str);
|
||||||
* that don't have one */
|
* that don't have one */
|
||||||
int ftoa(char *buf, float f);
|
int ftoa(char *buf, float f);
|
||||||
|
|
||||||
|
/* Returns a generic label based on the value of `button.' To be used
|
||||||
|
whenever a `label' field returned by the request_keys() game
|
||||||
|
function is NULL. Dynamically allocated, to be freed by caller. */
|
||||||
|
char *button2label(int button);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* dsf.c
|
* dsf.c
|
||||||
*/
|
*/
|
||||||
|
|
@ -613,7 +639,7 @@ struct game {
|
||||||
void (*free_ui)(game_ui *ui);
|
void (*free_ui)(game_ui *ui);
|
||||||
char *(*encode_ui)(const game_ui *ui);
|
char *(*encode_ui)(const game_ui *ui);
|
||||||
void (*decode_ui)(game_ui *ui, const char *encoding);
|
void (*decode_ui)(game_ui *ui, const char *encoding);
|
||||||
char *(*request_keys)(const game_params *params);
|
key_label *(*request_keys)(const game_params *params, int *nkeys);
|
||||||
void (*changed_state)(game_ui *ui, const game_state *oldstate,
|
void (*changed_state)(game_ui *ui, const game_state *oldstate,
|
||||||
const game_state *newstate);
|
const game_state *newstate);
|
||||||
char *(*interpret_move)(const game_state *state, game_ui *ui,
|
char *(*interpret_move)(const game_state *state, game_ui *ui,
|
||||||
|
|
|
||||||
BIN
apps/plugins/puzzles/src/puzzles.hlp
Normal file
BIN
apps/plugins/puzzles/src/puzzles.hlp
Normal file
Binary file not shown.
3120
apps/plugins/puzzles/src/puzzles.txt
Normal file
3120
apps/plugins/puzzles/src/puzzles.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,6 @@
|
||||||
# -*- makefile -*-
|
# -*- makefile -*-
|
||||||
|
|
||||||
SINGLES_EXTRA = dsf latin maxflow tree234
|
SINGLES_EXTRA = dsf LATIN
|
||||||
|
|
||||||
singles : [X] GTK COMMON singles SINGLES_EXTRA singles-icon|no-icon
|
singles : [X] GTK COMMON singles SINGLES_EXTRA singles-icon|no-icon
|
||||||
singles : [G] WINDOWS COMMON singles SINGLES_EXTRA singles.res|noicon.res
|
singles : [G] WINDOWS COMMON singles SINGLES_EXTRA singles.res|noicon.res
|
||||||
|
|
|
||||||
|
|
@ -3608,17 +3608,23 @@ static struct block_structure *gen_killer_cages(int cr, random_state *rs,
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *game_request_keys(const game_params *params)
|
static key_label *game_request_keys(const game_params *params, int *nkeys)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int cr = params->c * params->r;
|
int cr = params->c * params->r;
|
||||||
char *keys = smalloc(cr+2);
|
key_label *keys = snewn(cr+1, key_label);
|
||||||
|
*nkeys = cr + 1;
|
||||||
|
|
||||||
for (i = 0; i < cr; i++) {
|
for (i = 0; i < cr; i++) {
|
||||||
if (i<9) keys[i] = '1' + i;
|
if (i<9) keys[i].button = '1' + i;
|
||||||
else keys[i] = 'a' + i - 9;
|
else keys[i].button = 'a' + i - 9;
|
||||||
|
|
||||||
|
keys[i].label = NULL;
|
||||||
}
|
}
|
||||||
keys[cr] = '\b';
|
keys[cr].button = '\b';
|
||||||
keys[cr+1] = '\0';
|
keys[cr].label = NULL;
|
||||||
|
|
||||||
|
|
||||||
return keys;
|
return keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# -*- makefile -*-
|
# -*- makefile -*-
|
||||||
|
|
||||||
TENTS_EXTRA = maxflow dsf
|
TENTS_EXTRA = matching dsf
|
||||||
|
|
||||||
tents : [X] GTK COMMON tents TENTS_EXTRA tents-icon|no-icon
|
tents : [X] GTK COMMON tents TENTS_EXTRA tents-icon|no-icon
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#include "puzzles.h"
|
#include "puzzles.h"
|
||||||
#include "maxflow.h"
|
#include "matching.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Design discussion
|
* Design discussion
|
||||||
|
|
@ -907,14 +907,17 @@ static char *new_game_desc(const game_params *params_in, random_state *rs,
|
||||||
char *puzzle = snewn(w*h, char);
|
char *puzzle = snewn(w*h, char);
|
||||||
int *numbers = snewn(w+h, int);
|
int *numbers = snewn(w+h, int);
|
||||||
char *soln = snewn(w*h, char);
|
char *soln = snewn(w*h, char);
|
||||||
int *temp = snewn(2*w*h, int);
|
int *order = snewn(w*h, int);
|
||||||
|
int *treemap = snewn(w*h, int);
|
||||||
int maxedges = ntrees*4 + w*h;
|
int maxedges = ntrees*4 + w*h;
|
||||||
int *edges = snewn(2*maxedges, int);
|
int *adjdata = snewn(maxedges, int);
|
||||||
int *capacity = snewn(maxedges, int);
|
int **adjlists = snewn(ntrees, int *);
|
||||||
int *flow = snewn(maxedges, int);
|
int *adjsizes = snewn(ntrees, int);
|
||||||
|
int *outr = snewn(4*ntrees, int);
|
||||||
struct solver_scratch *sc = new_scratch(w, h);
|
struct solver_scratch *sc = new_scratch(w, h);
|
||||||
char *ret, *p;
|
char *ret, *p;
|
||||||
int i, j, nedges;
|
int i, j, nl, nr;
|
||||||
|
int *adjptr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Since this puzzle has many global deductions and doesn't
|
* Since this puzzle has many global deductions and doesn't
|
||||||
|
|
@ -940,7 +943,7 @@ static char *new_game_desc(const game_params *params_in, random_state *rs,
|
||||||
* would make the grids emptier and more boring.
|
* would make the grids emptier and more boring.
|
||||||
*
|
*
|
||||||
* Actually generating a grid is a matter of first placing the
|
* Actually generating a grid is a matter of first placing the
|
||||||
* tents, and then placing the trees by the use of maxflow
|
* tents, and then placing the trees by the use of matching.c
|
||||||
* (finding a distinct square adjacent to every tent). We do it
|
* (finding a distinct square adjacent to every tent). We do it
|
||||||
* this way round because otherwise satisfying the tent
|
* this way round because otherwise satisfying the tent
|
||||||
* separation condition would become onerous: most randomly
|
* separation condition would become onerous: most randomly
|
||||||
|
|
@ -950,19 +953,12 @@ static char *new_game_desc(const game_params *params_in, random_state *rs,
|
||||||
* ensure they meet the separation criterion _before_ doing
|
* ensure they meet the separation criterion _before_ doing
|
||||||
* lots of computation; this works much better.
|
* lots of computation; this works much better.
|
||||||
*
|
*
|
||||||
* The maxflow algorithm is not randomised, so employed naively
|
|
||||||
* it would give rise to grids with clear structure and
|
|
||||||
* directional bias. Hence, I assign the network nodes as seen
|
|
||||||
* by maxflow to be a _random_ permutation of the squares of
|
|
||||||
* the grid, so that any bias shown by maxflow towards
|
|
||||||
* low-numbered nodes is turned into a random bias.
|
|
||||||
*
|
|
||||||
* This generation strategy can fail at many points, including
|
* This generation strategy can fail at many points, including
|
||||||
* as early as tent placement (if you get a bad random order in
|
* as early as tent placement (if you get a bad random order in
|
||||||
* which to greedily try the grid squares, you won't even
|
* which to greedily try the grid squares, you won't even
|
||||||
* manage to find enough mutually non-adjacent squares to put
|
* manage to find enough mutually non-adjacent squares to put
|
||||||
* the tents in). Then it can fail if maxflow doesn't manage to
|
* the tents in). Then it can fail if matching.c doesn't manage
|
||||||
* find a good enough matching (i.e. the tent placements don't
|
* to find a good enough matching (i.e. the tent placements don't
|
||||||
* admit any adequate tree placements); and finally it can fail
|
* admit any adequate tree placements); and finally it can fail
|
||||||
* if the solver finds that the problem has the wrong
|
* if the solver finds that the problem has the wrong
|
||||||
* difficulty (including being actually non-unique). All of
|
* difficulty (including being actually non-unique). All of
|
||||||
|
|
@ -975,23 +971,38 @@ static char *new_game_desc(const game_params *params_in, random_state *rs,
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
/*
|
/*
|
||||||
* Arrange the grid squares into a random order.
|
* Make a list of grid squares which we'll permute as we pick
|
||||||
|
* the tent locations.
|
||||||
|
*
|
||||||
|
* We'll also need to index all the potential tree squares,
|
||||||
|
* i.e. the ones adjacent to the tents.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < w*h; i++)
|
for (i = 0; i < w*h; i++) {
|
||||||
temp[i] = i;
|
order[i] = i;
|
||||||
shuffle(temp, w*h, sizeof(*temp), rs);
|
treemap[i] = -1;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The first `ntrees' entries in temp which we can get
|
* Place tents at random without making any two adjacent.
|
||||||
* without making two tents adjacent will be the tent
|
|
||||||
* locations.
|
|
||||||
*/
|
*/
|
||||||
memset(grid, BLANK, w*h);
|
memset(grid, BLANK, w*h);
|
||||||
j = ntrees;
|
j = ntrees;
|
||||||
for (i = 0; i < w*h && j > 0; i++) {
|
nr = 0;
|
||||||
int x = temp[i] % w, y = temp[i] / w;
|
/* Loop end condition: either j==0 (we've placed all the
|
||||||
|
* tents), or the number of grid squares we have yet to try
|
||||||
|
* is too few to fit the remaining tents into. */
|
||||||
|
for (i = 0; j > 0 && i+j <= w*h; i++) {
|
||||||
|
int which, x, y, d, tmp;
|
||||||
int dy, dx, ok = TRUE;
|
int dy, dx, ok = TRUE;
|
||||||
|
|
||||||
|
which = i + random_upto(rs, j);
|
||||||
|
tmp = order[which];
|
||||||
|
order[which] = order[i];
|
||||||
|
order[i] = tmp;
|
||||||
|
|
||||||
|
x = order[i] % w;
|
||||||
|
y = order[i] / w;
|
||||||
|
|
||||||
for (dy = -1; dy <= +1; dy++)
|
for (dy = -1; dy <= +1; dy++)
|
||||||
for (dx = -1; dx <= +1; dx++)
|
for (dx = -1; dx <= +1; dx++)
|
||||||
if (x+dx >= 0 && x+dx < w &&
|
if (x+dx >= 0 && x+dx < w &&
|
||||||
|
|
@ -1000,7 +1011,14 @@ static char *new_game_desc(const game_params *params_in, random_state *rs,
|
||||||
ok = FALSE;
|
ok = FALSE;
|
||||||
|
|
||||||
if (ok) {
|
if (ok) {
|
||||||
grid[temp[i]] = TENT;
|
grid[order[i]] = TENT;
|
||||||
|
for (d = 1; d < MAXDIR; d++) {
|
||||||
|
int x2 = x + dx(d), y2 = y + dy(d);
|
||||||
|
if (x2 >= 0 && x2 < w && y2 >= 0 && y2 < h &&
|
||||||
|
treemap[y2*w+x2] == -1) {
|
||||||
|
treemap[y2*w+x2] = nr++;
|
||||||
|
}
|
||||||
|
}
|
||||||
j--;
|
j--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1008,68 +1026,47 @@ static char *new_game_desc(const game_params *params_in, random_state *rs,
|
||||||
continue; /* couldn't place all the tents */
|
continue; /* couldn't place all the tents */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now we build up the list of graph edges.
|
* Build up the graph for matching.c.
|
||||||
*/
|
*/
|
||||||
nedges = 0;
|
adjptr = adjdata;
|
||||||
|
nl = 0;
|
||||||
for (i = 0; i < w*h; i++) {
|
for (i = 0; i < w*h; i++) {
|
||||||
if (grid[temp[i]] == TENT) {
|
if (grid[i] == TENT) {
|
||||||
for (j = 0; j < w*h; j++) {
|
int d, x = i % w, y = i / w;
|
||||||
if (grid[temp[j]] != TENT) {
|
adjlists[nl] = adjptr;
|
||||||
int xi = temp[i] % w, yi = temp[i] / w;
|
for (d = 1; d < MAXDIR; d++) {
|
||||||
int xj = temp[j] % w, yj = temp[j] / w;
|
int x2 = x + dx(d), y2 = y + dy(d);
|
||||||
if (abs(xi-xj) + abs(yi-yj) == 1) {
|
if (x2 >= 0 && x2 < w && y2 >= 0 && y2 < h) {
|
||||||
edges[nedges*2] = i;
|
assert(treemap[y2*w+x2] != -1);
|
||||||
edges[nedges*2+1] = j;
|
*adjptr++ = treemap[y2*w+x2];
|
||||||
capacity[nedges] = 1;
|
|
||||||
nedges++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
adjsizes[nl] = adjptr - adjlists[nl];
|
||||||
/*
|
nl++;
|
||||||
* Special node w*h is the sink node; any non-tent node
|
|
||||||
* has an edge going to it.
|
|
||||||
*/
|
|
||||||
edges[nedges*2] = i;
|
|
||||||
edges[nedges*2+1] = w*h;
|
|
||||||
capacity[nedges] = 1;
|
|
||||||
nedges++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Special node w*h+1 is the source node, with an edge going to
|
* Call the matching algorithm to actually place the trees.
|
||||||
* every tent.
|
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < w*h; i++) {
|
j = matching(ntrees, nr, adjlists, adjsizes, rs, NULL, outr);
|
||||||
if (grid[temp[i]] == TENT) {
|
|
||||||
edges[nedges*2] = w*h+1;
|
|
||||||
edges[nedges*2+1] = i;
|
|
||||||
capacity[nedges] = 1;
|
|
||||||
nedges++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
assert(nedges <= maxedges);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Now we're ready to call the maxflow algorithm to place the
|
|
||||||
* trees.
|
|
||||||
*/
|
|
||||||
j = maxflow(w*h+2, w*h+1, w*h, nedges, edges, capacity, flow, NULL);
|
|
||||||
|
|
||||||
if (j < ntrees)
|
if (j < ntrees)
|
||||||
continue; /* couldn't place all the trees */
|
continue; /* couldn't place all the trees */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We've placed the trees. Now we need to work out _where_
|
* Fill in the trees in the grid, by cross-referencing treemap
|
||||||
* we've placed them, which is a matter of reading back out
|
* (which maps a grid square to its index as known to
|
||||||
* from the `flow' array.
|
* matching()) against the output from matching().
|
||||||
|
*
|
||||||
|
* Note that for these purposes we don't actually care _which_
|
||||||
|
* tent each potential tree square is assigned to - we only
|
||||||
|
* care whether it was assigned to any tent at all, in order
|
||||||
|
* to decide whether to put a tree in it.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < nedges; i++) {
|
for (i = 0; i < w*h; i++)
|
||||||
if (edges[2*i] < w*h && edges[2*i+1] < w*h && flow[i] > 0)
|
if (treemap[i] != -1 && outr[treemap[i]] != -1)
|
||||||
grid[temp[edges[2*i+1]]] = TREE;
|
grid[i] = TREE;
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* I think it looks ugly if there isn't at least one of
|
* I think it looks ugly if there isn't at least one of
|
||||||
|
|
@ -1174,10 +1171,12 @@ static char *new_game_desc(const game_params *params_in, random_state *rs,
|
||||||
*aux = sresize(*aux, p - *aux, char);
|
*aux = sresize(*aux, p - *aux, char);
|
||||||
|
|
||||||
free_scratch(sc);
|
free_scratch(sc);
|
||||||
sfree(flow);
|
sfree(outr);
|
||||||
sfree(capacity);
|
sfree(adjdata);
|
||||||
sfree(edges);
|
sfree(adjlists);
|
||||||
sfree(temp);
|
sfree(adjsizes);
|
||||||
|
sfree(treemap);
|
||||||
|
sfree(order);
|
||||||
sfree(soln);
|
sfree(soln);
|
||||||
sfree(numbers);
|
sfree(numbers);
|
||||||
sfree(puzzle);
|
sfree(puzzle);
|
||||||
|
|
@ -1748,7 +1747,7 @@ static game_state *execute_move(const game_state *state, const char *move)
|
||||||
m++;
|
m++;
|
||||||
}
|
}
|
||||||
if (n == m) {
|
if (n == m) {
|
||||||
int nedges, maxedges, *edges, *capacity, *flow;
|
int *gridids, *adjdata, **adjlists, *adjsizes, *adjptr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We have the right number of tents, which is a
|
* We have the right number of tents, which is a
|
||||||
|
|
@ -1800,28 +1799,33 @@ static game_state *execute_move(const game_state *state, const char *move)
|
||||||
* every tent is orthogonally adjacent to its tree.
|
* every tent is orthogonally adjacent to its tree.
|
||||||
*
|
*
|
||||||
* This bit is where the hard work comes in: we have to do
|
* This bit is where the hard work comes in: we have to do
|
||||||
* it by finding such a matching using maxflow.
|
* it by finding such a matching using matching.c.
|
||||||
*
|
|
||||||
* So we construct a network with one special source node,
|
|
||||||
* one special sink node, one node per tent, and one node
|
|
||||||
* per tree.
|
|
||||||
*/
|
|
||||||
maxedges = 6 * m;
|
|
||||||
edges = snewn(2 * maxedges, int);
|
|
||||||
capacity = snewn(maxedges, int);
|
|
||||||
flow = snewn(maxedges, int);
|
|
||||||
nedges = 0;
|
|
||||||
/*
|
|
||||||
* Node numbering:
|
|
||||||
*
|
|
||||||
* 0..w*h trees/tents
|
|
||||||
* w*h source
|
|
||||||
* w*h+1 sink
|
|
||||||
*/
|
*/
|
||||||
|
gridids = snewn(w*h, int);
|
||||||
|
adjdata = snewn(m*4, int);
|
||||||
|
adjlists = snewn(m, int *);
|
||||||
|
adjsizes = snewn(m, int);
|
||||||
|
|
||||||
|
/* Assign each tent and tree a consecutive vertex id for
|
||||||
|
* matching(). */
|
||||||
|
for (i = n = 0; i < w*h; i++) {
|
||||||
|
if (ret->grid[i] == TENT)
|
||||||
|
gridids[i] = n++;
|
||||||
|
}
|
||||||
|
assert(n == m);
|
||||||
|
for (i = n = 0; i < w*h; i++) {
|
||||||
|
if (ret->grid[i] == TREE)
|
||||||
|
gridids[i] = n++;
|
||||||
|
}
|
||||||
|
assert(n == m);
|
||||||
|
|
||||||
|
/* Build the vertices' adjacency lists. */
|
||||||
|
adjptr = adjdata;
|
||||||
for (y = 0; y < h; y++)
|
for (y = 0; y < h; y++)
|
||||||
for (x = 0; x < w; x++)
|
for (x = 0; x < w; x++)
|
||||||
if (ret->grid[y*w+x] == TREE) {
|
if (ret->grid[y*w+x] == TREE) {
|
||||||
int d;
|
int d, treeid = gridids[y*w+x];
|
||||||
|
adjlists[treeid] = adjptr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Here we use the direction enum declared for
|
* Here we use the direction enum declared for
|
||||||
|
|
@ -1835,34 +1839,18 @@ static game_state *execute_move(const game_state *state, const char *move)
|
||||||
int x2 = x + dx(d), y2 = y + dy(d);
|
int x2 = x + dx(d), y2 = y + dy(d);
|
||||||
if (x2 >= 0 && x2 < w && y2 >= 0 && y2 < h &&
|
if (x2 >= 0 && x2 < w && y2 >= 0 && y2 < h &&
|
||||||
ret->grid[y2*w+x2] == TENT) {
|
ret->grid[y2*w+x2] == TENT) {
|
||||||
assert(nedges < maxedges);
|
*adjptr++ = gridids[y2*w+x2];
|
||||||
edges[nedges*2] = y*w+x;
|
|
||||||
edges[nedges*2+1] = y2*w+x2;
|
|
||||||
capacity[nedges] = 1;
|
|
||||||
nedges++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (ret->grid[y*w+x] == TENT) {
|
adjsizes[treeid] = adjptr - adjlists[treeid];
|
||||||
assert(nedges < maxedges);
|
|
||||||
edges[nedges*2] = y*w+x;
|
|
||||||
edges[nedges*2+1] = w*h+1; /* edge going to sink */
|
|
||||||
capacity[nedges] = 1;
|
|
||||||
nedges++;
|
|
||||||
}
|
}
|
||||||
for (y = 0; y < h; y++)
|
|
||||||
for (x = 0; x < w; x++)
|
|
||||||
if (ret->grid[y*w+x] == TREE) {
|
|
||||||
assert(nedges < maxedges);
|
|
||||||
edges[nedges*2] = w*h; /* edge coming from source */
|
|
||||||
edges[nedges*2+1] = y*w+x;
|
|
||||||
capacity[nedges] = 1;
|
|
||||||
nedges++;
|
|
||||||
}
|
|
||||||
n = maxflow(w*h+2, w*h, w*h+1, nedges, edges, capacity, flow, NULL);
|
|
||||||
|
|
||||||
sfree(flow);
|
n = matching(m, m, adjlists, adjsizes, NULL, NULL, NULL);
|
||||||
sfree(capacity);
|
|
||||||
sfree(edges);
|
sfree(gridids);
|
||||||
|
sfree(adjdata);
|
||||||
|
sfree(adjlists);
|
||||||
|
sfree(adjsizes);
|
||||||
|
|
||||||
if (n != m)
|
if (n != m)
|
||||||
goto completion_check_done;
|
goto completion_check_done;
|
||||||
|
|
@ -2000,14 +1988,13 @@ static int *find_errors(const game_state *state, char *grid)
|
||||||
* tents. The difficult bit is highlighting failures in the
|
* tents. The difficult bit is highlighting failures in the
|
||||||
* tent/tree matching criterion.
|
* tent/tree matching criterion.
|
||||||
*
|
*
|
||||||
* A natural approach would seem to be to apply the maxflow
|
* A natural approach would seem to be to apply the matching.c
|
||||||
* algorithm to find the tent/tree matching; if this fails, it
|
* algorithm to find the tent/tree matching; if this fails, it
|
||||||
* must necessarily terminate with a min-cut which can be
|
* could be made to produce as a by-product some set of trees
|
||||||
* reinterpreted as some set of trees which have too few tents
|
* which have too few tents between them (or vice versa). However,
|
||||||
* between them (or vice versa). However, it's bad for
|
* it's bad for localising errors, because it's not easy to make
|
||||||
* localising errors, because it's not easy to make the
|
* the algorithm narrow down to the _smallest_ such set of trees:
|
||||||
* algorithm narrow down to the _smallest_ such set of trees: if
|
* if trees A and B have only one tent between them, for instance,
|
||||||
* trees A and B have only one tent between them, for instance,
|
|
||||||
* it might perfectly well highlight not only A and B but also
|
* it might perfectly well highlight not only A and B but also
|
||||||
* trees C and D which are correctly matched on the far side of
|
* trees C and D which are correctly matched on the far side of
|
||||||
* the grid, on the grounds that those four trees between them
|
* the grid, on the grounds that those four trees between them
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
# -*- makefile -*-
|
# -*- makefile -*-
|
||||||
|
|
||||||
TOWERS_LATIN_EXTRA = tree234 maxflow
|
TOWERS_EXTRA = LATIN
|
||||||
TOWERS_EXTRA = latin TOWERS_LATIN_EXTRA
|
TOWERS_EXTRA_SOLVER = LATIN_SOLVER
|
||||||
|
|
||||||
towers : [X] GTK COMMON towers TOWERS_EXTRA towers-icon|no-icon
|
towers : [X] GTK COMMON towers TOWERS_EXTRA towers-icon|no-icon
|
||||||
|
|
||||||
towers : [G] WINDOWS COMMON towers TOWERS_EXTRA towers.res|noicon.res
|
towers : [G] WINDOWS COMMON towers TOWERS_EXTRA towers.res|noicon.res
|
||||||
|
|
||||||
towerssolver : [U] towers[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] TOWERS_LATIN_EXTRA STANDALONE
|
towerssolver : [U] towers[STANDALONE_SOLVER] TOWERS_EXTRA_SOLVER STANDALONE
|
||||||
towerssolver : [C] towers[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] TOWERS_LATIN_EXTRA STANDALONE
|
towerssolver : [C] towers[STANDALONE_SOLVER] TOWERS_EXTRA_SOLVER STANDALONE
|
||||||
|
|
||||||
ALL += towers[COMBINED] TOWERS_EXTRA
|
ALL += towers[COMBINED] TOWERS_EXTRA
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ static game_params *default_params(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const static struct game_params towers_presets[] = {
|
static const struct game_params towers_presets[] = {
|
||||||
{ 4, DIFF_EASY },
|
{ 4, DIFF_EASY },
|
||||||
{ 5, DIFF_EASY },
|
{ 5, DIFF_EASY },
|
||||||
{ 5, DIFF_HARD },
|
{ 5, DIFF_HARD },
|
||||||
|
|
@ -864,18 +864,22 @@ static const char *validate_desc(const game_params *params, const char *desc)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *game_request_keys(const game_params *params)
|
static key_label *game_request_keys(const game_params *params, int *nkeys)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int w = params->w;
|
int w = params->w;
|
||||||
char *keys = smalloc(w+2);
|
key_label *keys = snewn(w+1, key_label);
|
||||||
keys[0] = '\b';
|
*nkeys = w + 1;
|
||||||
|
|
||||||
for (i = 0; i < w; i++) {
|
for (i = 0; i < w; i++) {
|
||||||
if (i<9) keys[i] = '1' + i;
|
if (i<9) keys[i].button = '1' + i;
|
||||||
else keys[i] = 'a' + i - 9;
|
else keys[i].button = 'a' + i - 9;
|
||||||
|
|
||||||
|
keys[i].label = NULL;
|
||||||
}
|
}
|
||||||
keys[w] = '\b';
|
keys[w].button = '\b';
|
||||||
keys[w+1] = '\0';
|
keys[w].label = NULL;
|
||||||
|
|
||||||
return keys;
|
return keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1314,9 +1314,24 @@ void num2grid(int num, int width, int height, int *x, int *y) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *game_request_keys(const game_params *params)
|
static key_label *game_request_keys(const game_params *params, int *nkeys)
|
||||||
{
|
{
|
||||||
return dupstr("GVZ\b");
|
key_label *keys = snewn(4, key_label);
|
||||||
|
*nkeys = 4;
|
||||||
|
|
||||||
|
keys[0].button = 'G';
|
||||||
|
keys[0].label = dupstr("Ghost");
|
||||||
|
|
||||||
|
keys[1].button = 'V';
|
||||||
|
keys[1].label = dupstr("Vampire");
|
||||||
|
|
||||||
|
keys[2].button = 'Z';
|
||||||
|
keys[2].label = dupstr("Zombie");
|
||||||
|
|
||||||
|
keys[3].button = '\b';
|
||||||
|
keys[3].label = NULL;
|
||||||
|
|
||||||
|
return keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
static game_state *new_game(midend *me, const game_params *params,
|
static game_state *new_game(midend *me, const game_params *params,
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
# -*- makefile -*-
|
# -*- makefile -*-
|
||||||
|
|
||||||
UNEQUAL_EXTRA = latin tree234 maxflow
|
UNEQUAL_EXTRA = LATIN
|
||||||
|
UNEQUAL_EXTRA_SOLVER = LATIN_SOLVER
|
||||||
|
|
||||||
unequal : [X] GTK COMMON unequal UNEQUAL_EXTRA unequal-icon|no-icon
|
unequal : [X] GTK COMMON unequal UNEQUAL_EXTRA unequal-icon|no-icon
|
||||||
|
|
||||||
unequal : [G] WINDOWS COMMON unequal UNEQUAL_EXTRA unequal.res|noicon.res
|
unequal : [G] WINDOWS COMMON unequal UNEQUAL_EXTRA unequal.res|noicon.res
|
||||||
|
|
||||||
unequalsolver : [U] unequal[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] tree234 maxflow STANDALONE
|
unequalsolver : [U] unequal[STANDALONE_SOLVER] UNEQUAL_EXTRA_SOLVER STANDALONE
|
||||||
unequalsolver : [C] unequal[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] tree234 maxflow STANDALONE
|
unequalsolver : [C] unequal[STANDALONE_SOLVER] UNEQUAL_EXTRA_SOLVER STANDALONE
|
||||||
|
|
||||||
latincheck : [U] latin[STANDALONE_LATIN_TEST] tree234 maxflow STANDALONE
|
|
||||||
latincheck : [C] latin[STANDALONE_LATIN_TEST] tree234 maxflow STANDALONE
|
|
||||||
|
|
||||||
ALL += unequal[COMBINED] UNEQUAL_EXTRA
|
ALL += unequal[COMBINED] UNEQUAL_EXTRA
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@ static char const unequal_diffchars[] = DIFFLIST(ENCODE);
|
||||||
|
|
||||||
#define DEFAULT_PRESET 0
|
#define DEFAULT_PRESET 0
|
||||||
|
|
||||||
const static struct game_params unequal_presets[] = {
|
static const struct game_params unequal_presets[] = {
|
||||||
{ 4, DIFF_EASY, 0 },
|
{ 4, DIFF_EASY, 0 },
|
||||||
{ 5, DIFF_EASY, 0 },
|
{ 5, DIFF_EASY, 0 },
|
||||||
{ 5, DIFF_SET, 0 },
|
{ 5, DIFF_SET, 0 },
|
||||||
|
|
@ -1280,18 +1280,22 @@ fail:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *game_request_keys(const game_params *params)
|
static key_label *game_request_keys(const game_params *params, int *nkeys)
|
||||||
{
|
{
|
||||||
int order = params->order;
|
int order = params->order;
|
||||||
char off = (order > 9) ? '0' : '1';
|
char off = (order > 9) ? '0' : '1';
|
||||||
char *keys = smalloc(order + 2);
|
key_label *keys = snewn(order + 1, key_label);
|
||||||
|
*nkeys = order + 1;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; i < order; i++) {
|
for(i = 0; i < order; i++) {
|
||||||
if (i==10) off = 'a'-10;
|
if (i==10) off = 'a'-10;
|
||||||
keys[i] = i + off;
|
keys[i].button = i + off;
|
||||||
|
keys[i].label = NULL;
|
||||||
}
|
}
|
||||||
keys[order] = '\b';
|
keys[order].button = '\b';
|
||||||
keys[order+1] = '\0';
|
keys[order].label = NULL;
|
||||||
|
|
||||||
return keys;
|
return keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
# -*- makefile -*-
|
# -*- makefile -*-
|
||||||
|
|
||||||
GROUP_LATIN_EXTRA = tree234 maxflow
|
GROUP_EXTRA = LATIN
|
||||||
GROUP_EXTRA = latin GROUP_LATIN_EXTRA
|
GROUP_EXTRA_SOLVER = LATIN_SOLVER
|
||||||
|
|
||||||
group : [X] GTK COMMON group GROUP_EXTRA group-icon|no-icon
|
group : [X] GTK COMMON group GROUP_EXTRA group-icon|no-icon
|
||||||
|
|
||||||
group : [G] WINDOWS COMMON group GROUP_EXTRA group.res|noicon.res
|
group : [G] WINDOWS COMMON group GROUP_EXTRA group.res|noicon.res
|
||||||
|
|
||||||
groupsolver : [U] group[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] GROUP_LATIN_EXTRA STANDALONE
|
groupsolver : [U] group[STANDALONE_SOLVER] GROUP_EXTRA_SOLVER STANDALONE
|
||||||
groupsolver : [C] group[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] GROUP_LATIN_EXTRA STANDALONE
|
groupsolver : [C] group[STANDALONE_SOLVER] GROUP_EXTRA_SOLVER STANDALONE
|
||||||
|
|
||||||
ALL += group[COMBINED] GROUP_EXTRA
|
ALL += group[COMBINED] GROUP_EXTRA
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2081,6 +2081,7 @@ const struct game thegame = {
|
||||||
free_ui,
|
free_ui,
|
||||||
encode_ui,
|
encode_ui,
|
||||||
decode_ui,
|
decode_ui,
|
||||||
|
NULL, /* game_request_keys */
|
||||||
game_changed_state,
|
game_changed_state,
|
||||||
interpret_move,
|
interpret_move,
|
||||||
execute_move,
|
execute_move,
|
||||||
|
|
|
||||||
|
|
@ -841,6 +841,7 @@ const struct game thegame = {
|
||||||
free_ui,
|
free_ui,
|
||||||
encode_ui,
|
encode_ui,
|
||||||
decode_ui,
|
decode_ui,
|
||||||
|
NULL, /* game_request_keys */
|
||||||
game_changed_state,
|
game_changed_state,
|
||||||
interpret_move,
|
interpret_move,
|
||||||
execute_move,
|
execute_move,
|
||||||
|
|
|
||||||
|
|
@ -2333,6 +2333,7 @@ const struct game thegame = {
|
||||||
free_ui,
|
free_ui,
|
||||||
encode_ui,
|
encode_ui,
|
||||||
decode_ui,
|
decode_ui,
|
||||||
|
NULL, /* game_request_keys */
|
||||||
game_changed_state,
|
game_changed_state,
|
||||||
interpret_move,
|
interpret_move,
|
||||||
execute_move,
|
execute_move,
|
||||||
|
|
|
||||||
|
|
@ -1457,6 +1457,7 @@ const struct game thegame = {
|
||||||
free_ui,
|
free_ui,
|
||||||
encode_ui,
|
encode_ui,
|
||||||
decode_ui,
|
decode_ui,
|
||||||
|
NULL, /* game_request_keys */
|
||||||
game_changed_state,
|
game_changed_state,
|
||||||
interpret_move,
|
interpret_move,
|
||||||
execute_move,
|
execute_move,
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ static char const *const unruly_diffnames[] = { DIFFLIST(TITLE) };
|
||||||
static char const unruly_diffchars[] = DIFFLIST(ENCODE);
|
static char const unruly_diffchars[] = DIFFLIST(ENCODE);
|
||||||
#define DIFFCONFIG DIFFLIST(CONFIG)
|
#define DIFFCONFIG DIFFLIST(CONFIG)
|
||||||
|
|
||||||
const static struct game_params unruly_presets[] = {
|
static const struct game_params unruly_presets[] = {
|
||||||
{ 8, 8, FALSE, DIFF_EASY},
|
{ 8, 8, FALSE, DIFF_EASY},
|
||||||
{ 8, 8, FALSE, DIFF_NORMAL},
|
{ 8, 8, FALSE, DIFF_NORMAL},
|
||||||
{10, 10, FALSE, DIFF_EASY},
|
{10, 10, FALSE, DIFF_EASY},
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,12 @@ has 'descfile' => (required => 1);
|
||||||
|
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<?if $(var.Win64) = yes ?>
|
||||||
|
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
|
||||||
|
<?else ?>
|
||||||
|
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
|
||||||
|
<?endif ?>
|
||||||
|
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
|
|
||||||
% # Product tag. The Id component is set to "*", which causes WiX to
|
% # Product tag. The Id component is set to "*", which causes WiX to
|
||||||
|
|
@ -61,7 +67,7 @@ has 'descfile' => (required => 1);
|
||||||
% # (individual files or shortcuts or additions to PATH) that are
|
% # (individual files or shortcuts or additions to PATH) that are
|
||||||
% # installed.
|
% # installed.
|
||||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
<Directory Id="ProgramFiles64Folder" Name="PFiles">
|
<Directory Id="$(var.PlatformProgramFilesFolder)" Name="PFiles">
|
||||||
<Directory Id="INSTALLDIR" Name="Simon Tatham's Portable Puzzle Collection">
|
<Directory Id="INSTALLDIR" Name="Simon Tatham's Portable Puzzle Collection">
|
||||||
|
|
||||||
% # The following components all install things in the main
|
% # The following components all install things in the main
|
||||||
|
|
@ -71,12 +77,12 @@ has 'descfile' => (required => 1);
|
||||||
% # the more obscure things like LICENCE are just there for
|
% # the more obscure things like LICENCE are just there for
|
||||||
% # the sake of being _somewhere_ and don't rate a shortcut.
|
% # the sake of being _somewhere_ and don't rate a shortcut.
|
||||||
|
|
||||||
<%method file_component ($filename, $shortcutname)>
|
<%method file_component ($prefix, $filename, $shortcutname)>
|
||||||
% my $filename_id = file_component_name($filename);
|
% my $filename_id = file_component_name($filename);
|
||||||
<Component Id="File_Component_<% $filename_id %>"
|
<Component Id="File_Component_<% $filename_id %>"
|
||||||
Guid="<% invent_guid('file:' . $filename) %>">
|
Guid="<% invent_guid('file:' . $filename) %>">
|
||||||
<File Id="File_<% $filename_id %>"
|
<File Id="File_<% $filename_id %>"
|
||||||
Source="<% $filename %>" KeyPath="yes">
|
Source="<% $prefix %><% $filename %>" KeyPath="yes">
|
||||||
% if (defined $shortcutname) {
|
% if (defined $shortcutname) {
|
||||||
<Shortcut Id="startmenu_<% $filename_id %>"
|
<Shortcut Id="startmenu_<% $filename_id %>"
|
||||||
Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR"
|
Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR"
|
||||||
|
|
@ -87,12 +93,12 @@ has 'descfile' => (required => 1);
|
||||||
</%method>
|
</%method>
|
||||||
|
|
||||||
% for my $exe (@exes) {
|
% for my $exe (@exes) {
|
||||||
<% $.file_component($exe, $names{$exe}) %>
|
<% $.file_component('$(var.Bindir)', $exe, $names{$exe}) %>
|
||||||
% }
|
% }
|
||||||
|
|
||||||
<% $.file_component("puzzles.chm", "Puzzles Manual") %>
|
<% $.file_component('', "puzzles.chm", "Puzzles Manual") %>
|
||||||
<% $.file_component("website.url", "Puzzles Web Site") %>
|
<% $.file_component('', "website.url", "Puzzles Web Site") %>
|
||||||
<% $.file_component("LICENCE") %>
|
<% $.file_component('', "LICENCE") %>
|
||||||
|
|
||||||
</Directory>
|
</Directory>
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue