720a8fb7 |
1 | # -*- makefile -*- |
2 | # |
3 | # This file describes which puzzle binaries are made up from which |
4 | # object and resource files. It is processed into the various |
5 | # Makefiles by means of a Perl script. Makefile changes should |
6 | # really be made by editing this file and/or the Perl script, not |
7 | # by editing the actual Makefiles. |
8 | |
9 | !name puzzles |
10 | |
11 | !makefile gtk Makefile |
4e7ef6e6 |
12 | !makefile vc Makefile.vc |
eb2ad6f1 |
13 | !makefile cygwin Makefile.cyg |
9494d866 |
14 | !makefile osx Makefile.osx |
720a8fb7 |
15 | |
fd1a1a2b |
16 | WINDOWS = windows user32.lib gdi32.lib comctl32.lib |
48d70ca9 |
17 | COMMON = midend misc malloc random |
18 | NET = net tree234 |
7bed19e1 |
19 | NETSLIDE = netslide tree234 |
720a8fb7 |
20 | |
9494d866 |
21 | ALL = list NET NETSLIDE cube fifteen sixteen rect pattern |
22 | |
720a8fb7 |
23 | net : [X] gtk COMMON NET |
7bed19e1 |
24 | netslide : [X] gtk COMMON NETSLIDE |
1482ee76 |
25 | cube : [X] gtk COMMON cube |
4efb3868 |
26 | fifteen : [X] gtk COMMON fifteen |
27 | sixteen : [X] gtk COMMON sixteen |
3870c4d8 |
28 | rect : [X] gtk COMMON rect |
b6b0369e |
29 | pattern : [X] gtk COMMON pattern |
720a8fb7 |
30 | |
da72b383 |
31 | # The Windows Net shouldn't be called `net.exe' since Windows |
32 | # already has a reasonably important utility program by that name! |
33 | netgame : [G] WINDOWS COMMON NET |
7bed19e1 |
34 | netslide : [G] WINDOWS COMMON NETSLIDE |
4e7ef6e6 |
35 | cube : [G] WINDOWS COMMON cube |
4efb3868 |
36 | fifteen : [G] WINDOWS COMMON fifteen |
37 | sixteen : [G] WINDOWS COMMON sixteen |
3870c4d8 |
38 | rect : [G] WINDOWS COMMON rect |
b6b0369e |
39 | pattern : [G] WINDOWS COMMON pattern |
699b896a |
40 | |
9494d866 |
41 | # Mac OS X unified application containing all the puzzles. |
a96edf8a |
42 | Puzzles : [MX] osx osx.icns osx-info.plist COMMON ALL |
fccfd04d |
43 | # For OS X, we must create the online help and include it in the |
08f7c1b2 |
44 | # application bundle.) Also we add -DCOMBINED to the compiler flags |
45 | # so as to inform the code that we're building a single binary for |
46 | # all the puzzles. |
fccfd04d |
47 | !begin osx |
08f7c1b2 |
48 | CFLAGS += -DCOMBINED |
fccfd04d |
49 | Puzzles_extra = Puzzles.app/Contents/Resources/Help/index.html |
50 | Puzzles.app/Contents/Resources/Help/index.html: \ |
8709d5d9 |
51 | Puzzles.app/Contents/Resources/Help osx-help.but puzzles.but |
52 | cd Puzzles.app/Contents/Resources/Help; \ |
53 | halibut --html ../../../../osx-help.but ../../../../puzzles.but |
fccfd04d |
54 | Puzzles.app/Contents/Resources/Help: Puzzles.app/Contents/Resources |
55 | mkdir -p Puzzles.app/Contents/Resources/Help |
56 | !end |
9494d866 |
57 | |
699b896a |
58 | # The `nullgame' source file is a largely blank one, which contains |
59 | # all the correct function definitions to compile and link, but |
60 | # which defines the null game in which nothing is ever drawn and |
61 | # there are no valid moves. Its main purpose is to act as a |
62 | # template for writing new game definition source files. I include |
63 | # it in the Makefile because it will be worse than useless if it |
64 | # ever fails to compile, so it's important that it should actually |
65 | # be built on a regular basis. |
66 | nullgame : [X] gtk COMMON nullgame |
67 | nullgame : [G] WINDOWS COMMON nullgame |