!name puzzles
!makefile gtk Makefile
-#!makefile vc Makefile.vc
+!makefile vc Makefile.vc
+!makefile cygwin Makefile.cyg
-COMMON = midend malloc
-NET = net random tree234
+WINDOWS = windows user32.lib gdi32.lib comctl32.lib
+COMMON = midend misc malloc random
+NET = net tree234
+NETSLIDE = netslide tree234
net : [X] gtk COMMON NET
-#cube : [X] gtk COMMON CUBE
+netslide : [X] gtk COMMON NETSLIDE
+cube : [X] gtk COMMON cube
+fifteen : [X] gtk COMMON fifteen
+sixteen : [X] gtk COMMON sixteen
+rect : [X] gtk COMMON rect
+pattern : [X] gtk COMMON pattern
-#net : [G] windows COMMON NET
-#cube : [G] windows COMMON CUBE
+# The Windows Net shouldn't be called `net.exe' since Windows
+# already has a reasonably important utility program by that name!
+netgame : [G] WINDOWS COMMON NET
+netslide : [G] WINDOWS COMMON NETSLIDE
+cube : [G] WINDOWS COMMON cube
+fifteen : [G] WINDOWS COMMON fifteen
+sixteen : [G] WINDOWS COMMON sixteen
+rect : [G] WINDOWS COMMON rect
+pattern : [G] WINDOWS COMMON pattern
+
+# The `nullgame' source file is a largely blank one, which contains
+# all the correct function definitions to compile and link, but
+# which defines the null game in which nothing is ever drawn and
+# there are no valid moves. Its main purpose is to act as a
+# template for writing new game definition source files. I include
+# it in the Makefile because it will be worse than useless if it
+# ever fails to compile, so it's important that it should actually
+# be built on a regular basis.
+nullgame : [X] gtk COMMON nullgame
+nullgame : [G] WINDOWS COMMON nullgame