Recipe: centralise dependencies for latin.c.

It's silly to have every puzzle using latin.c separately specify in
its .R file the list of additional modules that latin.c depends on, or
for that matter to have them all have to separately know how to adjust
that for the STANDALONE_SOLVER mode of latin.c.

So I've centralised a new pair of definitions into the core Recipe
file, called LATIN and LATIN_SOLVER, and now a client of latin.c need
only ask for that to get all the necessary dependencies too.

Also, while I'm here, I've moved the non-puzzle-specific 'latincheck'
test program out of unequal.R into the central Recipe.
This commit is contained in:
Simon Tatham
2018-04-22 16:45:34 +01:00
parent b7034aeb51
commit ef6f6427a2
6 changed files with 25 additions and 19 deletions

8
Recipe
View File

@ -31,6 +31,10 @@ STANDALONE = nullfe random misc malloc
ALL = list
LATIN_DEPS = maxflow tree234
LATIN = latin LATIN_DEPS
LATIN_SOLVER = latin[STANDALONE_SOLVER] LATIN_DEPS
# First half of list.c.
!begin >list.c
/*
@ -61,6 +65,10 @@ const int gamecount = lenof(gamelist);
# Unix standalone application for special-purpose obfuscation.
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
puzzles : [G] windows[COMBINED] WINDOWS_COMMON COMMON ALL noicon.res
# Mac OS X unified application containing all the puzzles.

8
keen.R
View File

@ -1,14 +1,14 @@
# -*- makefile -*-
KEEN_LATIN_EXTRA = tree234 maxflow dsf
KEEN_EXTRA = latin KEEN_LATIN_EXTRA
KEEN_EXTRA = dsf LATIN
KEEN_EXTRA_SOLVER = dsf LATIN_SOLVER
keen : [X] GTK COMMON keen KEEN_EXTRA keen-icon|no-icon
keen : [G] WINDOWS COMMON keen KEEN_EXTRA keen.res|noicon.res
keensolver : [U] keen[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] KEEN_LATIN_EXTRA STANDALONE
keensolver : [C] keen[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] KEEN_LATIN_EXTRA STANDALONE
keensolver : [U] keen[STANDALONE_SOLVER] KEEN_EXTRA_SOLVER STANDALONE
keensolver : [C] keen[STANDALONE_SOLVER] KEEN_EXTRA_SOLVER STANDALONE
ALL += keen[COMBINED] KEEN_EXTRA

View File

@ -1,6 +1,6 @@
# -*- makefile -*-
SINGLES_EXTRA = dsf latin maxflow tree234
SINGLES_EXTRA = dsf LATIN
singles : [X] GTK COMMON singles SINGLES_EXTRA singles-icon|no-icon
singles : [G] WINDOWS COMMON singles SINGLES_EXTRA singles.res|noicon.res

View File

@ -1,14 +1,14 @@
# -*- makefile -*-
TOWERS_LATIN_EXTRA = tree234 maxflow
TOWERS_EXTRA = latin TOWERS_LATIN_EXTRA
TOWERS_EXTRA = LATIN
TOWERS_EXTRA_SOLVER = LATIN_SOLVER
towers : [X] GTK COMMON towers TOWERS_EXTRA towers-icon|no-icon
towers : [G] WINDOWS COMMON towers TOWERS_EXTRA towers.res|noicon.res
towerssolver : [U] towers[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] TOWERS_LATIN_EXTRA STANDALONE
towerssolver : [C] towers[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] TOWERS_LATIN_EXTRA STANDALONE
towerssolver : [U] towers[STANDALONE_SOLVER] TOWERS_EXTRA_SOLVER STANDALONE
towerssolver : [C] towers[STANDALONE_SOLVER] TOWERS_EXTRA_SOLVER STANDALONE
ALL += towers[COMBINED] TOWERS_EXTRA

View File

@ -1,16 +1,14 @@
# -*- 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 : [G] WINDOWS COMMON unequal UNEQUAL_EXTRA unequal.res|noicon.res
unequalsolver : [U] unequal[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] tree234 maxflow STANDALONE
unequalsolver : [C] unequal[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] tree234 maxflow STANDALONE
latincheck : [U] latin[STANDALONE_LATIN_TEST] tree234 maxflow STANDALONE
latincheck : [C] latin[STANDALONE_LATIN_TEST] tree234 maxflow STANDALONE
unequalsolver : [U] unequal[STANDALONE_SOLVER] UNEQUAL_EXTRA_SOLVER STANDALONE
unequalsolver : [C] unequal[STANDALONE_SOLVER] UNEQUAL_EXTRA_SOLVER STANDALONE
ALL += unequal[COMBINED] UNEQUAL_EXTRA

View File

@ -1,14 +1,14 @@
# -*- makefile -*-
GROUP_LATIN_EXTRA = tree234 maxflow
GROUP_EXTRA = latin GROUP_LATIN_EXTRA
GROUP_EXTRA = LATIN
GROUP_EXTRA_SOLVER = LATIN_SOLVER
group : [X] GTK COMMON group GROUP_EXTRA group-icon|no-icon
group : [G] WINDOWS COMMON group GROUP_EXTRA group.res|noicon.res
groupsolver : [U] group[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] GROUP_LATIN_EXTRA STANDALONE
groupsolver : [C] group[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] GROUP_LATIN_EXTRA STANDALONE
groupsolver : [U] group[STANDALONE_SOLVER] GROUP_EXTRA_SOLVER STANDALONE
groupsolver : [C] group[STANDALONE_SOLVER] GROUP_EXTRA_SOLVER STANDALONE
ALL += group[COMBINED] GROUP_EXTRA