~ubuntu-branches/ubuntu/wily/sgt-puzzles/wily

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
# 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)filling \
		$(BINPREFIX)fillingsolver $(BINPREFIX)flip \
		$(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)pattern \
		$(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)twiddle \
		$(BINPREFIX)undead $(BINPREFIX)unequal \
		$(BINPREFIX)unequalsolver $(BINPREFIX)unruly \
		$(BINPREFIX)unrulysolver $(BINPREFIX)untangle

$(BINPREFIX)blackbox: blackbox.o blackbox-icon.o drawing.o gtk.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ blackbox.o blackbox-icon.o drawing.o gtk.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)bridges: bridges.o bridges-icon.o drawing.o dsf.o gtk.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ bridges.o bridges-icon.o drawing.o dsf.o gtk.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)cube: cube.o cube-icon.o drawing.o gtk.o malloc.o midend.o \
		misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ cube.o cube-icon.o drawing.o gtk.o malloc.o midend.o \
		misc.o printing.o ps.o random.o version.o  $(XLFLAGS) \
		$(XLIBS)

$(BINPREFIX)dominosa: dominosa.o dominosa-icon.o drawing.o gtk.o laydomino.o \
		malloc.o midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ dominosa.o dominosa-icon.o drawing.o gtk.o laydomino.o \
		malloc.o midend.o misc.o printing.o ps.o random.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)fifteen: drawing.o fifteen.o fifteen-icon.o gtk.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ drawing.o fifteen.o fifteen-icon.o gtk.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)filling: drawing.o dsf.o filling.o filling-icon.o gtk.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ drawing.o dsf.o filling.o filling-icon.o gtk.o malloc.o \
		midend.o misc.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 flip-icon.o gtk.o malloc.o midend.o \
		misc.o printing.o ps.o random.o tree234.o version.o
	$(CC) -o $@ drawing.o flip.o flip-icon.o gtk.o malloc.o midend.o \
		misc.o printing.o ps.o random.o tree234.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)galaxies: drawing.o dsf.o galaxies.o galaxies-icon.o gtk.o \
		malloc.o midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ drawing.o dsf.o galaxies.o galaxies-icon.o gtk.o \
		malloc.o midend.o misc.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 guess-icon.o malloc.o midend.o \
		misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ drawing.o gtk.o guess.o guess-icon.o malloc.o midend.o \
		misc.o printing.o ps.o random.o version.o  $(XLFLAGS) \
		$(XLIBS)

$(BINPREFIX)inertia: drawing.o gtk.o inertia.o inertia-icon.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ drawing.o gtk.o inertia.o inertia-icon.o malloc.o \
		midend.o misc.o printing.o ps.o random.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)keen: drawing.o dsf.o gtk.o keen.o keen-icon.o latin.o malloc.o \
		maxflow.o midend.o misc.o printing.o ps.o random.o tree234.o \
		version.o
	$(CC) -o $@ drawing.o dsf.o gtk.o keen.o keen-icon.o latin.o \
		malloc.o maxflow.o midend.o misc.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 lightup-icon.o \
		malloc.o midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ combi.o drawing.o gtk.o lightup.o lightup-icon.o \
		malloc.o midend.o misc.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 \
		loopy-icon.o malloc.o midend.o misc.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 \
		loopy-icon.o malloc.o midend.o misc.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 magnets-icon.o \
		malloc.o midend.o misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ drawing.o gtk.o laydomino.o magnets.o magnets-icon.o \
		malloc.o midend.o misc.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 map-icon.o midend.o \
		misc.o printing.o ps.o random.o version.o
	$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o map.o map-icon.o midend.o \
		misc.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 mines-icon.o \
		misc.o printing.o ps.o random.o tree234.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o mines.o mines-icon.o \
		misc.o printing.o ps.o random.o tree234.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)net: drawing.o dsf.o gtk.o malloc.o midend.o misc.o net.o \
		net-icon.o printing.o ps.o random.o tree234.o version.o
	$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o midend.o misc.o net.o \
		net-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 \
		netslide-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 \
		netslide-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)pattern: drawing.o gtk.o malloc.o midend.o misc.o pattern.o \
		pattern-icon.o printing.o ps.o random.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o pattern.o \
		pattern-icon.o printing.o ps.o random.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(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 pearl.o pearl-icon.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 pearl.o pearl-icon.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 pegs.o \
		pegs-icon.o printing.o ps.o random.o tree234.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o pegs.o \
		pegs-icon.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 printing.o \
		ps.o random.o range.o range-icon.o version.o
	$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
		printing.o ps.o random.o range.o range-icon.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)rect: drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o rect.o rect-icon.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o rect.o rect-icon.o version.o  $(XLFLAGS) $(XLIBS)

$(BINPREFIX)samegame: drawing.o gtk.o malloc.o midend.o misc.o printing.o \
		ps.o random.o samegame.o samegame-icon.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o samegame.o samegame-icon.o version.o  $(XLFLAGS) \
		$(XLIBS)

$(BINPREFIX)signpost: drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
		printing.o ps.o random.o signpost.o signpost-icon.o \
		version.o
	$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
		printing.o ps.o random.o signpost.o signpost-icon.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 printing.o ps.o random.o singles.o \
		singles-icon.o tree234.o version.o
	$(CC) -o $@ drawing.o dsf.o gtk.o latin.o malloc.o maxflow.o \
		midend.o misc.o printing.o ps.o random.o singles.o \
		singles-icon.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 printing.o \
		ps.o random.o sixteen.o sixteen-icon.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o sixteen.o sixteen-icon.o version.o  $(XLFLAGS) \
		$(XLIBS)

$(BINPREFIX)slant: drawing.o dsf.o gtk.o malloc.o midend.o misc.o printing.o \
		ps.o random.o slant.o slant-icon.o version.o
	$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
		printing.o ps.o random.o slant.o slant-icon.o version.o  \
		$(XLFLAGS) $(XLIBS)

$(BINPREFIX)slantsolver: dsf.o malloc.o misc.o nullfe.o random.o slant2.o
	$(CC) -o $@ dsf.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 \
		printing.o ps.o random.o solo.o solo-icon.o version.o
	$(CC) -o $@ divvy.o drawing.o dsf.o gtk.o malloc.o midend.o misc.o \
		printing.o ps.o random.o solo.o solo-icon.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 \
		printing.o ps.o random.o tents.o tents-icon.o version.o
	$(CC) -o $@ drawing.o dsf.o gtk.o malloc.o maxflow.o midend.o misc.o \
		printing.o ps.o random.o tents.o tents-icon.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 printing.o ps.o random.o towers.o towers-icon.o \
		tree234.o version.o
	$(CC) -o $@ drawing.o gtk.o latin.o malloc.o maxflow.o midend.o \
		misc.o printing.o ps.o random.o towers.o towers-icon.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)twiddle: drawing.o gtk.o malloc.o midend.o misc.o printing.o \
		ps.o random.o twiddle.o twiddle-icon.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o twiddle.o twiddle-icon.o version.o  $(XLFLAGS) \
		$(XLIBS)

$(BINPREFIX)undead: drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o undead.o undead-icon.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o undead.o undead-icon.o version.o  $(XLFLAGS) \
		$(XLIBS)

$(BINPREFIX)unequal: drawing.o gtk.o latin.o malloc.o maxflow.o midend.o \
		misc.o printing.o ps.o random.o tree234.o unequal.o \
		unequal-icon.o version.o
	$(CC) -o $@ drawing.o gtk.o latin.o malloc.o maxflow.o midend.o \
		misc.o printing.o ps.o random.o tree234.o unequal.o \
		unequal-icon.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 printing.o ps.o \
		random.o unruly.o unruly-icon.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o unruly.o unruly-icon.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 printing.o \
		ps.o random.o tree234.o untangle.o untangle-icon.o version.o
	$(CC) -o $@ drawing.o gtk.o malloc.o midend.o misc.o printing.o ps.o \
		random.o tree234.o untangle.o untangle-icon.o version.o  \
		$(XLFLAGS) $(XLIBS)

blackbox.o: ./blackbox.c ./puzzles.h
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
blackbox-icon.o: icons/blackbox-icon.c
	$(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 $@
bridges-icon.o: icons/bridges-icon.c
	$(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 $@
cube-icon.o: icons/cube-icon.c
	$(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 $@
dominosa-icon.o: icons/dominosa-icon.c
	$(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 $@
fifteen-icon.o: icons/fifteen-icon.c
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
fifteen3.o: ./fifteen.c ./puzzles.h
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
filling.o: ./filling.c ./puzzles.h
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
filling-icon.o: icons/filling-icon.c
	$(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 $@
flip.o: ./flip.c ./puzzles.h ./tree234.h
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
flip-icon.o: icons/flip-icon.c
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
flip3.o: ./flip.c ./puzzles.h ./tree234.h
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -c $< -o $@
galaxies.o: ./galaxies.c ./puzzles.h
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
galaxies-icon.o: icons/galaxies-icon.c
	$(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 $@
guess-icon.o: icons/guess-icon.c
	$(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 $@
inertia-icon.o: icons/inertia-icon.c
	$(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 $@
keen-icon.o: icons/keen-icon.c
	$(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 $@
lightup-icon.o: icons/lightup-icon.c
	$(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 $@
loopy-icon.o: icons/loopy-icon.c
	$(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 $@
magnets-icon.o: icons/magnets-icon.c
	$(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 $@
map-icon.o: icons/map-icon.c
	$(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 $@
mines-icon.o: icons/mines-icon.c
	$(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 $@
net-icon.o: icons/net-icon.c
	$(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 $@
netslide-icon.o: icons/netslide-icon.c
	$(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 $@
pattern.o: ./pattern.c ./puzzles.h
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
pattern-icon.o: icons/pattern-icon.c
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $< -o $@
pattern5.o: ./pattern.c ./puzzles.h
	$(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -DCOMBINED -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 $@
pearl-icon.o: icons/pearl-icon.c
	$(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 $@
pegs-icon.o: icons/pegs-icon.c
	$(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 $@
range-icon.o: icons/range-icon.c
	$(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 $@
rect-icon.o: icons/rect-icon.c
	$(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 $@
samegame-icon.o: icons/samegame-icon.c
	$(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 $@
signpost-icon.o: icons/signpost-icon.c
	$(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 $@
singles-icon.o: icons/singles-icon.c
	$(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 $@
sixteen-icon.o: icons/sixteen-icon.c
	$(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 $@
slant-icon.o: icons/slant-icon.c
	$(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 $@
solo-icon.o: icons/solo-icon.c
	$(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 $@
tents-icon.o: icons/tents-icon.c
	$(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 $@
towers-icon.o: icons/towers-icon.c
	$(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 $@
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 $@
twiddle-icon.o: icons/twiddle-icon.c
	$(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 $@
undead-icon.o: icons/undead-icon.c
	$(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 $@
unequal-icon.o: icons/unequal-icon.c
	$(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 $@
unruly-icon.o: icons/unruly-icon.c
	$(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 $@
untangle-icon.o: icons/untangle-icon.c
	$(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 += galaxies
GAMES += guess
GAMES += inertia
GAMES += keen
GAMES += lightup
GAMES += loopy
GAMES += magnets
GAMES += map
GAMES += mines
GAMES += net
GAMES += netslide
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 += 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: $(GAMES)
	for i in $(GAMES); do \
		for params in $$(env -i ./$(BINPREFIX)$$i --list-presets | cut -f1 -d' '); do \
			env -i ./$(BINPREFIX)$$i --test-solve --time-generation --generate 100 $$params \
			|| exit 1; \
		done; \
	done > $@

clean:
	rm -f *.o $(BINPREFIX)blackbox $(BINPREFIX)bridges $(BINPREFIX)cube $(BINPREFIX)dominosa $(BINPREFIX)fifteen $(BINPREFIX)filling $(BINPREFIX)fillingsolver $(BINPREFIX)flip $(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)pattern $(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)twiddle $(BINPREFIX)undead $(BINPREFIX)unequal $(BINPREFIX)unequalsolver $(BINPREFIX)unruly $(BINPREFIX)unrulysolver $(BINPREFIX)untangle