Change ElapsedTime to a normal display function.
[gnushogi.git] / gnushogi / Makefile.in
blob09d42455e936c601d4029bacf6939ea339d6923b
2 # Makefile for GNU Shogi
4 # Copyright (c) 1993, 1994 Matthias Mutz
5 # Copyright (c) 1998, 1999 Michael Vanier and the Free Software Foundation
7 # GNU Shogi is based on GNU Chess
8 # Copyright (c) 1992 Free Software Foundation
10 # This file is part of GNU Shogi.
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 3 of the License, or (at your option)
15 # any later ../version.
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.
22 # You should have received a copy of the GNU General Public License
23 # along with GNU Shogi; see the file COPYING.
24 # If not, see <http://www.gnu.org/licenses/>.
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.
33 SHELL = /bin/sh
34 VERS = 1.3
35 INSTALL = @INSTALL@
36 INSTALL_DATA = @INSTALL_DATA@
37 INSTALL_PROGRAM = @INSTALL_PROGRAM@
38 ROOT = @top_srcdir@
39 SRCDIR = @srcdir@
41 VPATH=$(SRCDIR)
43 # Installation directory.
44 prefix = @prefix@
46 # Where the binaries live.
47 BINDIR = $(prefix)/bin
49 # Where the language description, the book, and the
50 # persistent hashtable live.
51 LIBDIR = $(prefix)/lib/gnushogi
53 # Where the man page goes.
54 MANDIR = $(prefix)/man/man6
56 # Where the info file goes.
57 INFODIR = $(prefix)/info
59 # For _pow external
60 LIBS = -lm
62 # Display routines.
63 LCURSES = -lcurses -ltermcap
67 # C compiler and compiler options.
70 CC = @CC@
71 CWARNINGS = @WARNINGS@
72 CEXTRAFLAGS = @CEXTRAFLAGS@
73 CFLAGS = @CFLAGS@ $(CEXTRAFLAGS) $(CWARNINGS) -I$(ROOT) -I@top_builddir@
74 LDFLAGS = @LDFLAGS@
76 # The hashfile is a record of positions seen. It is used by
77 # GNU Shogi to avoid making the same mistakes, a form of learning.
79 HASH = -DHASHFILE=\"$(LIBDIR)/gnushogi.hsh\"
82 # The "book" is a record of the first few moves, for playing good
83 # moves easily and quickly, saving time, and irritating the human
84 # opponent.
86 TEXTBOOK = -DBOOK=\"$(LIBDIR)/gnushogi.tbk\"
87 BINBOOK = -DBINBOOK=\"$(LIBDIR)/gnushogi.bbk\"
90 # The language file describes capabilities of the program. It may
91 # be useful for customizing gnushogi for non-English-speaking players.
93 LANGF = -DLANGFILE=\"../misc/gnushogi.lng\"
96 # The pattern file contains various opening patterns. The program tries to
97 # obtain such a pattern in the opening stage. Sequences of opening
98 # patterns may be described in order to support the correct order of moves.
100 PATTERN = -DPATTERNFILE=\"../misc/gnushogi.pat\"
103 all:
104 @echo No target specified.
108 # Source files.
111 COMMONFILES = \
112 attacks.o \
113 book.o \
114 commondsp.o \
115 cursesdsp.o \
116 dspwrappers.o \
117 eval.o \
118 genmove.o \
119 globals.o \
120 init.o \
121 pattern.o \
122 rawdsp.o \
123 search.o \
124 tcontrl.o \
125 util.o
127 GNUSHOGI_FILES = $(COMMONFILES) main.o
130 PAT2INCFILES = $(COMMONFILES) makepattern.o pat2inc.o
134 # Primary targets.
137 gnushogi:
138 $(CC) $(CFLAGS) -o gnushogi $(GNUSHOGI_FILES) $(LDFLAGS) $(LCURSES) $(LIBS)
140 pat2inc:
141 $(CC) $(CFLAGS) -o pat2inc $(PAT2INCFILES) $(LDFLAGS) $(LCURSES) $(LIBS)
143 sizetest:
144 $(CC) $(CFLAGS) -o sizetest sizetest.o $(LDFLAGS) $(LIBS)
146 profile:
147 $(MAKE) -f Makefile.profile gnushogi
150 # Object files.
153 # Common files.
155 attacks.o: attacks.c
156 $(CC) $(CFLAGS) -c $<
158 book.o: book.c
159 $(CC) $(CFLAGS) $(TEXTBOOK) $(BINBOOK) -c $<
161 commondsp.o: commondsp.c
162 $(CC) $(CFLAGS) -c $<
164 cursesdsp.o: cursesdsp.c
165 $(CC) $(CFLAGS) -c $<
167 dspwrappers.o: dspwrappers.c
168 $(CC) $(CFLAGS) -c $<
170 genmove.o: genmove.c
171 $(CC) $(CFLAGS) -c $<
173 globals.o: globals.c
174 $(CC) $(CFLAGS) -c $<
176 eval.o: eval.c
177 $(CC) $(CFLAGS) -c $<
179 init.o: init.c
180 $(CC) $(CFLAGS) $(LANGF) -c $<
182 main.o: main.c
183 $(CC) $(CFLAGS) $(BINBOOK) -c $<
185 # To create "pattern.inc" with "pat2inc", the external
186 # pattern textfile must be used.
188 makepattern.o: makepattern.c
189 $(CC) $(CFLAGS) $(PATTERN) -c $<
191 pattern.o: pattern.c
192 $(CC) $(CFLAGS) -c $<
194 rawdsp.o: rawdsp.c
195 $(CC) $(CFLAGS) -c $<
197 search.o: search.c
198 $(CC) $(CFLAGS) -c $<
200 tcontrl.o: tcontrl.c
201 $(CC) $(CFLAGS) -c $<
203 util.o: util.c
204 $(CC) $(CFLAGS) -c $<
207 # Files specific to particular targets.
209 pat2inc.o: pat2inc.c
210 $(CC) $(CFLAGS) $(LANGF) $(BINBOOK) $(PATTERN) -c $<
212 sizetest.o: sizetest.c
213 $(CC) $(CFLAGS) -c $<
217 # Other targets.
220 gnushogi.bbk:
221 @if [ -f ./gnushogi.bbk ]; then rm ./gnushogi.bbk; fi
222 echo quit > test
223 cat $(ROOT)/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
230 # Installation.
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
246 # Cleanup.
249 CLEANFILES = *.o gnushogi sizetest pat2inc CLp* *.bbk
251 clean:
252 @for file in $(CLEANFILES); do \
253 if [ -f $$file ]; then rm $$file; fi; \
254 done
258 # Dependencies.
261 gnushogi: $(GNUSHOGI_FILES)
262 pat2inc: $(PAT2INCFILES)
263 sizetest: sizetest.o
264 attacks.o: attacks.c gnushogi.h $(ROOT)/version.h
265 book.o: book.c gnushogi.h $(ROOT)/version.h
266 commondsp.o: commondsp.c gnushogi.h $(ROOT)/version.h
267 cursesdsp.o: cursesdsp.c gnushogi.h $(ROOT)/version.h
268 dspwrappers.o: dspwrappers.c gnushogi.h $(ROOT)/version.h
269 genmove.o: genmove.c gnushogi.h $(ROOT)/version.h
270 globals.o: globals.c gnushogi.h $(ROOT)/version.h
271 eval.o: eval.c eval.h gnushogi.h $(ROOT)/version.h $(SRCDIR)/pattern.h
272 init.o: init.c gnushogi.h $(ROOT)/version.h $(SRCDIR)/pattern.h
273 main.o: main.c gnushogi.h $(ROOT)/version.h
274 makepattern.o: pattern.c gnushogi.h $(SRCDIR)/pattern.h
275 pattern.o: pattern.c gnushogi.h $(SRCDIR)/pattern.h $(SRCDIR)/pattern.inc
276 rawdsp.o: rawdsp.c gnushogi.h $(ROOT)/version.h
277 search.o: search.c gnushogi.h $(ROOT)/version.h
278 tcontrl.o: tcontrl.c gnushogi.h $(ROOT)/version.h
279 util.o: util.c gnushogi.h $(ROOT)/version.h
280 pat2inc.o: pat2inc.c $(SRCDIR)/pattern.h $(SRCDIR)/gnushogi.h
281 sizetest.o: sizetest.c $(SRCDIR)/gnushogi.h $(SRCDIR)/eval.h
282 gnushogi.bbk: gnushogi