~ubuntu-branches/ubuntu/warty/gnushogi/warty

« back to all changes in this revision

Viewing changes to gnushogi/Makefile.in

  • Committer: Bazaar Package Importer
  • Author(s): Javier Fernandez-Sanguino Pen~a
  • Date: 2004-01-09 16:06:59 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040109160659-n26nu7009llm247p
Tags: 1.3-3.1
* NMU
 - Minimal testing done and looks quite OK (even if I don't know
   how to play the game...)
 - Build-Depends move from libxaw-dev to libxaw6-dev (Closes: #169975)
 - Included errno.h in gnushogi which makes the binary build properly
   now (and is usable with xshogi) (Closes: #226319)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# Makefile for GNU Shogi
 
3
#
 
4
# Copyright (c) 1993, 1994 Matthias Mutz
 
5
# Copyright (c) 1998, 1999 Michael Vanier and the Free Software Foundation
 
6
#
 
7
# GNU Shogi is based on GNU Chess
 
8
# Copyright (c) 1992 Free Software Foundation
 
9
#
 
10
# This file is part of GNU Shogi.
 
11
#
 
12
# GNU Shogi is free software; you can redistribute it and/or modify
 
13
# it under the terms of the GNU General Public License as published by
 
14
# the Free Software Foundation; either ../version 1, or (at your option)
 
15
# any later ../version.
 
16
#
 
17
# GNU Shogi is distributed in the hope that it will be useful,
 
18
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
19
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
20
# GNU General Public License for more details.
 
21
#
 
22
# You should have received a copy of the GNU General Public License
 
23
# along with GNU Shogi; see the file COPYING.  If not, write to
 
24
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 
25
#
 
26
 
 
27
#
 
28
# gnushogi   is GNU shogi, for raw text, curses, or x output.
 
29
# pat2inc    converts pattern textfile to "pattern.inc" include file.
 
30
# sizetest   shows the memory usage of the main data structures.
 
31
#
 
32
 
 
33
SHELL           = /bin/sh
 
34
VERS            = 1.3
 
35
INSTALL         = @INSTALL@
 
36
INSTALL_DATA    = @INSTALL_DATA@
 
37
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 
38
ROOT            = ..
 
39
 
 
40
 
 
41
# Installation directory.
 
42
prefix  =   @prefix@
 
43
 
 
44
# Where the binaries live.
 
45
BINDIR  =   $(prefix)/games
 
46
 
 
47
# Where the language description, the book, and the 
 
48
# persistent hashtable live.
 
49
LIBDIR  =   $(prefix)/lib/games
 
50
 
 
51
# Where the man page goes.
 
52
MANDIR  = $(prefix)/share/man/man6
 
53
 
 
54
# Where the info file goes.
 
55
INFODIR = $(prefix)/share/info
 
56
 
 
57
# For _pow external 
 
58
LIBS    = -lm
 
59
 
 
60
# Display routines.
 
61
LCURSES =   -lcurses -ltermcap
 
62
 
 
63
 
 
64
#
 
65
# C compiler and compiler options.
 
66
#
 
67
 
 
68
CC          = @CC@
 
69
CWARNINGS   = @WARNINGS@
 
70
CEXTRAFLAGS = @CEXTRAFLAGS@
 
71
CFLAGS      = @CFLAGS@ $(CEXTRAFLAGS) $(CWARNINGS) -I..
 
72
 
 
73
 
 
74
# The hashfile is a record of positions seen. It is used by
 
75
# GNU Shogi to avoid making the same mistakes, a form of learning.
 
76
 
 
77
HASH       = -DHASHFILE=\"$(LIBDIR)/gnushogi.hsh\"
 
78
 
 
79
 
 
80
# The "book" is a record of the first few moves, for playing good
 
81
# moves easily and quickly, saving time, and irritating the human
 
82
# opponent.
 
83
 
 
84
TEXTBOOK   = -DBOOK=\"$(LIBDIR)/gnushogi.tbk\"
 
85
BINBOOK    = -DBINBOOK=\"$(LIBDIR)/gnushogi.bbk\"
 
86
 
 
87
 
 
88
# The language file describes capabilities of the program.  It may
 
89
# be useful for customizing gnushogi for non-English-speaking players.
 
90
 
 
91
LANGF      = -DLANGFILE=\"../misc/gnushogi.lng\"
 
92
 
 
93
 
 
94
# The pattern file contains various opening patterns. The program tries to
 
95
# obtain such a pattern in the opening stage. Sequences of opening
 
96
# patterns may be described in order to support the correct order of moves.
 
97
 
 
98
PATTERN    = -DPATTERNFILE=\"../misc/gnushogi.pat\"
 
99
 
 
100
 
 
101
all:
 
102
        @echo No target specified.
 
103
 
 
104
 
 
105
#
 
106
# Source files.
 
107
#
 
108
 
 
109
COMMONFILES = \
 
110
                attacks.o      \
 
111
                book.o         \
 
112
                commondsp.o    \
 
113
                cursesdsp.o    \
 
114
                dspwrappers.o  \
 
115
                eval.o         \
 
116
                genmove.o      \
 
117
                globals.o      \
 
118
                init.o         \
 
119
                pattern.o      \
 
120
                rawdsp.o       \
 
121
                search.o       \
 
122
                sysdeps.o      \
 
123
                tcontrl.o      \
 
124
                util.o
 
125
 
 
126
GNUSHOGI_FILES  = $(COMMONFILES) main.o      
 
127
 
 
128
 
 
129
PAT2INCFILES    = $(COMMONFILES) makepattern.o pat2inc.o
 
130
 
 
131
 
 
132
#
 
133
# Primary targets.
 
134
#
 
135
 
 
136
gnushogi:
 
137
        $(CC) $(CFLAGS) -o gnushogi $(GNUSHOGI_FILES) $(LCURSES) $(LIBS)
 
138
 
 
139
pat2inc:
 
140
        $(CC) $(CFLAGS) -o pat2inc $(PAT2INCFILES) $(LCURSES) $(LIBS)
 
141
 
 
142
sizetest:
 
143
        $(CC) $(CFLAGS) -o sizetest sizetest.o $(LIBS)
 
144
 
 
145
 
 
146
#
 
147
# Object files.
 
148
#
 
149
 
 
150
# Common files.
 
151
 
 
152
attacks.o:
 
153
        $(CC) $(CFLAGS) -c attacks.c
 
154
 
 
155
book.o:
 
156
        $(CC) $(CFLAGS) $(TEXTBOOK) $(BINBOOK) -c book.c 
 
157
 
 
158
commondsp.o:
 
159
        $(CC) $(CFLAGS) -c commondsp.c 
 
160
 
 
161
cursesdsp.o:
 
162
        $(CC) $(CFLAGS) -c cursesdsp.c
 
163
 
 
164
dspwrappers.o:
 
165
        $(CC) $(CFLAGS) -c dspwrappers.c
 
166
 
 
167
genmove.o:
 
168
        $(CC) $(CFLAGS) -c genmove.c
 
169
 
 
170
globals.o:
 
171
        $(CC) $(CFLAGS) -c globals.c
 
172
 
 
173
eval.o:
 
174
        $(CC) $(CFLAGS) -c eval.c
 
175
 
 
176
init.o:
 
177
        $(CC)  $(CFLAGS) $(LANGF) -c init.c
 
178
 
 
179
main.o:
 
180
        $(CC) $(CFLAGS) $(BINBOOK) -c main.c
 
181
 
 
182
# To create "pattern.inc" with "pat2inc", the external
 
183
# pattern textfile must be used.
 
184
 
 
185
makepattern.o:
 
186
        $(CC) $(CFLAGS) $(PATTERN) -c makepattern.c
 
187
 
 
188
pattern.o:
 
189
        $(CC)  $(CFLAGS) -c pattern.c
 
190
 
 
191
rawdsp.o:
 
192
        $(CC) $(CFLAGS) -c rawdsp.c 
 
193
 
 
194
search.o:
 
195
        $(CC) $(CFLAGS) -c search.c
 
196
 
 
197
sysdeps.o:
 
198
        $(CC) $(CFLAGS) -c sysdeps.c 
 
199
 
 
200
tcontrl.o:
 
201
        $(CC) $(CFLAGS) -c tcontrl.c
 
202
 
 
203
util.o:
 
204
        $(CC) $(CFLAGS) -c util.c
 
205
 
 
206
 
 
207
# Files specific to particular targets.
 
208
 
 
209
pat2inc.o:
 
210
        $(CC) $(CFLAGS) $(LANGF) $(BINBOOK) $(PATTERN) -c pat2inc.c
 
211
 
 
212
sizetest.o:
 
213
        $(CC) $(CFLAGS) -c sizetest.c
 
214
 
 
215
 
 
216
#
 
217
# Other targets.
 
218
#
 
219
 
 
220
gnushogi.bbk: 
 
221
        @if [ -f ./gnushogi.bbk ]; then rm ./gnushogi.bbk; fi
 
222
        echo quit > test
 
223
        cat ../misc/gnushogi.tbk > _tmp_t
 
224
        cat test | ./gnushogi -R -b _tmp_t -B ./gnushogi.bbk -S 8000 -P 40 3 0
 
225
        rm test _tmp_t
 
226
        @echo
 
227
 
 
228
 
 
229
#
 
230
# Installation.
 
231
#
 
232
 
 
233
install: gnushogi
 
234
        strip gnushogi
 
235
        $(INSTALL_PROGRAM) -d $(BINDIR)
 
236
        $(INSTALL_PROGRAM) -d $(LIBDIR)
 
237
        $(INSTALL_PROGRAM) -d $(MANDIR)
 
238
        $(INSTALL_PROGRAM) -d $(INFODIR)
 
239
        $(INSTALL_PROGRAM) gnushogi $(BINDIR)
 
240
        $(INSTALL_DATA)    $(ROOT)/doc/gnushogi.6     $(MANDIR)
 
241
        $(INSTALL_DATA)    $(ROOT)/doc/gnushogi.info* $(INFODIR)
 
242
        $(INSTALL_DATA)    gnushogi.bbk $(LIBDIR)/gnushogi.bbk
 
243
 
 
244
 
 
245
#
 
246
# Cleanup.
 
247
#
 
248
 
 
249
CLEANFILES = *.o gnushogi sizetest pat2inc CLp* *.bbk
 
250
 
 
251
clean: 
 
252
        @for file in $(CLEANFILES); do \
 
253
        if [ -f $$file ]; then rm $$file; fi; \
 
254
        done
 
255
 
 
256
 
 
257
#
 
258
# Dependencies.
 
259
#
 
260
 
 
261
gnushogi:   $(GNUSHOGI_FILES)
 
262
pat2inc:       $(PAT2INCFILES)
 
263
sizetest:      sizetest.o 
 
264
attacks.o:     attacks.c gnushogi.h ../version.h
 
265
book.o:        book.c gnushogi.h ../version.h 
 
266
commondsp.o:   commondsp.c gnushogi.h ../version.h
 
267
cursesdsp.o:   cursesdsp.c gnushogi.h ../version.h
 
268
dspwrappers.o: dspwrappers.c gnushogi.h ../version.h
 
269
genmove.o:     genmove.c gnushogi.h ../version.h
 
270
globals.o:     globals.c gnushogi.h ../version.h
 
271
eval.o:        eval.c eval.h gnushogi.h ../version.h pattern.h
 
272
init.o:        init.c gnushogi.h ../version.h pattern.h
 
273
main.o:        main.c gnushogi.h ../version.h
 
274
makepattern.o: pattern.c gnushogi.h pattern.h
 
275
pattern.o:     pattern.c gnushogi.h pattern.h pattern.inc
 
276
rawdsp.o:      rawdsp.c gnushogi.h ../version.h
 
277
search.o:      search.c gnushogi.h ../version.h 
 
278
sysdeps.o:     sysdeps.c gnushogi.h ../version.h
 
279
tcontrl.o:     tcontrl.c gnushogi.h ../version.h 
 
280
util.o:        util.c gnushogi.h ../version.h
 
281
pat2inc.o:     pat2inc.c pattern.h gnushogi.h 
 
282
sizetest.o:    sizetest.c gnushogi.h eval.h
 
283
gnushogi.bbk:  gnushogi
 
284