#
# Makefile for GNU Chess
#
# Copyright (c) 1992, 1995 Free Software Foundation
#
# This file is part of GNU CHESS.
#
# GNU Chess is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU Chess is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Chess; see the file COPYING.  If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#

#
# gnuchess  is a curses-based chess.
# gnuchessn is a fancy-display-curses-based chess.
# gnuchessr is a plain dumb-terminal chess (but with full variation output)
# gnuchessc is suitable for chesstool use (mimics /usr/games/chess output)
# gnuchessx is the xchess based chess.
#

# The version number of this GNU release
VERS=	4.0

# Relevant file areas.
DIST=	../README ../README.lang ../doc ../misc ../src ../test

# size of book to make
# Listed below are the book options and the size of the resulting book,
# the default is small. Uncomment/comment the BOOKOPTS corresponding to
# the size you want.
#
#huge         	1,450K
#BOOKOPTS=-S 188000 -P 26
#big            540K
#BOOKOPTS=-S 45000 -P 16
#med            240K
#BOOKOPTS=-S 20000 -P 12
#small          144K
BOOKOPTS=-S 12000 -P 10
#tiny           78K
#BOOKOPTS=-S 9000 -P 8
 
# Distribution directory
DISTDIR= ../..
 
# Programs being distributed
PROGS=gnuchess-4.0.pl74/src gnuchess-4.0.pl74/misc gnuchess-4.0.pl74/doc
 
LIBS = -lm
#LIBS = -lm /usr/ucblib/libucb.a  #Solaris 2.3

BOOK=../book/gnuchess.bk3.gz

# Change these to something less transitory, like /usr/games, and then
# compile. Ask your system admin / unix guru to put gnuchess.{hash,lang,book}
# in $(LIBDIR).
# Where the binaries live.
#BINDIR= /usr/local/bin
BINDIR=.

# Where language description, our book, and the persistent hash live.
#LIBDIR= /usr/local/lib
LIBDIR=.

# Display routines.
LCURSES=-lcurses -ltermcap

# Table limits from gnuchess.h. These are given default values if not
# set here. The default values are given below, but you may want to
# check gnuchess.h to make sure.
# -Dttblsz=150001 Transposition table size. Small address space computers
#                 might try 8001. Setting ttblsz to 0 removes the transposition
#                 table
# -DBOOKSIZE=250000 Number of unique position/move combinations allowed.
#                   For MSDOS 10000 is used.

#compile options for gnuchess
#    Search options
# -DHISTORY use history hueristic 
# -DKILLT use killt killer hueristic 
# -DNULLMOVE include null move heuristic
# -DDEEPNULL include deepnull move heuristic
# -DUNLIMITEDCAPS allow unlimited depth captures.
# -DPRUNE enable marginal forward pruning
# -DNOMATERIAL don't call it a draw when no pawns and both sides < rook
# -DNODYNALPHA don't dynamically adjust alpha
# -DOLDTIME use old ply time estimating function
# -DLEGAL generate only legal moves instead of psuedo-legal
# -DCACHE  Cache static evaluations 
# -DNODITHER no random element to evaluations
#
#    Verbosity options
# -DBAREBONES compile for max speed no statistics etc kept
# -DQUIETBACKGROUND don't print post information in background ( easy OFF)
# -DHASHSTATS keep hash table statistics
# -DMORESTATS print more hash table stats
# -DQUIETBOOKGEN Don't print errors while loading a book or generating a binbook
# -DSEMIQUIETBOOKGEN Print less verbose errors while reading book or generating binbook
#
#    Miscellaneous options
# -DHAVE_TIME_H have <time.h> header
# -DHASSTRTOUL if your machine supports strtoul() else strtol()
# -DHASGETTIMEOFDAY use gettimeofday for more accurate timing
# -DNOMEMSET if your machine does not support memset
# -DECO if you want support for eco database
# -DCLIENT create client version for use with ICS
# -DLONG64 if you have 64bit longs
# -DSYSV   if you are using SYSV
# -DE4OPENING always open e4 if white and respond to e4 with e5 if black
#
#    Some debug options
# -DDEBUG8 dump board,movelist,input move to /tmp/DEBUG if illegal move
# -DDEBUG9 dump move list from test command
# -DDEBUG10 dump board and move after search before !easy begins
# -DDEBUG11 dump board when the move is output
# -DDEBUG12 dump boards between moves
# -DDEBUG13 dump search control information for each move to /tmp/DEBUG
# -DDEBUG33 dump book moves as read from book
# -DDEBUG40 include extra values of variables for debugging  in game list
# -DDEBUG41 dump post output to /tmp/DEBUG
# the rest of the debug options are tied to the debuglevel command
# -DDEBUG sets up code for debuglevel command
#          debuglevel
#               1 always force evaluation in evaluate
#               4 print move list after search
#               8 print move list after book before search
#              16 print move list after each ply of search
#              32 print adds to transposition table
#              64 print returns from transposition table lookups
#	      128 print evals
#	      256 print search tree as it is generated
#	      512 debug trace of search tree
#	     1024 interactive tree print
#     prints:
# move goal-depth depth ply tree-index flags node-score score alpha beta best movegen-score
#
#example:
#
#debug?p3
#debug?e2e3
#debug?g2e3
#debug?
#
#Move# 1    Target= 0    Clock: 0
#        f2e3 S2 d0 p3 71 200 n->s176 s-179 a343 b512 best-179 x369
#        a6h6 S2 d0 p3 72 200 n->s-802 s-179 a343 b512 best176 x369
#    g2e3 S2 d1 p2 34 200 n->s-176 s-410 a-512 b-343 best-12000 x369
#e2e3 S2 d2 p1 17 0 n->s175 s422 a343 b512 best343 x369
#
#		debug? p#  where # is no. of plys to print 
#				from top of tree (default all plys)
#		       XXXX moves specifying branch of tree to print 
#				(default all branches)
#			       return terminates input
#	     2048 non-interactive trace print
# gnufour ICS client
#
#OPT= -DUSEINT -DCACHE -DCLIENT -DGDX -DHASGETTIMEOFDAY -DNULLMOVE -DQUIETBACKGROUND -DWAY4PL64 -DHISTORY -DAGING -DKILLT -DSHOWLINE -DUNLIMITEDCAPS -DPRUNE -DOLDTIME
## normal
OPT=  -DUSEINT -DCACHE -DGDX -DHASGETTIMEOFDAY -DNULLMOVE -DQUIETBACKGROUND -DWAY4PL64 -DHISTORY -DHASHSTATS -DAGING -DKILLT -DECO -DUNLIMITEDCAPS -DPRUNE -DOLDTIME

# The hashfile is a record of positions seen. It is used by
# GNU Chess to avoid making the same mistakes, a form of learning.
HASH=	-DHASHFILE=\"$(LIBDIR)/gnuchess.hash\"

# The "book" is a record of the first few moves, for playing good
# moves easily and quickly, saving time, and irritating the human
# opponent.
BINBOOK = -DBINBOOK=\"$(LIBDIR)/gnuchess.data\"
BINECO = -DBINECO=\"$(LIBDIR)/gnuchess.eco\"
PGNECO = -D\PGNECO=\"$(LIBDIR)/eco.pgn\"

# The language file describes capabilities of the program. Perhaps
# it is useful for non-English speaking countries and customizing
# for their convenience and chess happiness.
LANGF= -DLANGFILE=\"$(LIBDIR)/gnuchess.lang\"

INSTALL=cp
#INSTALL=install -s

# The compiler used for compiling this software.
# Use this for a plain C compiler 
#CC= cc $(OPT)
# Use this for DEC's ANSI C compiler on Ultrix
#CC= c89 $(OPT)
# Use this if you are lucky enough to have GNU CC.
CC= gcc $(OPT)

# Miscellaneous CFLAGS. Uncomment the one you need and comment 
# the other.
CFLAGS= -O2 -funroll-loops # gnu cc  
#CFLAGS=  -O -Dinline="" -traditional-cpp
#CFLAGS= -O4 -Dconst="" -Qpath .  # SunOS cc using unprotoize
#CFLAGS= -O4 # Sun acc
#CFLAGS= -O2 # DEC ANSI C (c89) on Ultrix.
#CFLAGS= +O3 -Aa -D_HPUX_SOURCE -DSYSV # HPUX cc 
#CFLAGS= -O   -finline-functions -fstrength-reduce -D__mips -D__LANGUAGE_C # gnu cc 1.40 on DS5000
#CFLAGS= -O   -finline-functions -fstrength-reduce  # gnu cc 1.40 on others
#CFLAGS= -O2 -funroll-loops -D__mips -D__LANGUAGE_C # gnu cc 2.00 on DS5000
#CFLAGS= -O2 -D__alpha -D__LANGUAGE_C # gnu cc 2.00 on Flamingo
#CFLAGS= -O2 -acpp -signed -Wp,-traditional # IRIX 5.1.*?
#CFLAGS= -g -cckr -DNOMACROS -Dhuge=""  #Correct flags for gnuchess 4.0 with IRIX cc.

all : gnuchess gnuchessr gnuchessn gnuchessx gnuchessc postprint gnuan game gnuchess.eco

gnuchess: mainN.o bookN.o genmovesN.o ataks.o utilN.o evalN.o init.o searchN.o dspcomN.o uxdsp.o
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -o gnuchess mainN.o bookN.o genmovesN.o ataks.o utilN.o evalN.o init.o searchN.o dspcomN.o uxdsp.o $(LCURSES) $(LIBS)

gnuan: mainN.o bookG.o genmovesN.o ataks.o utilN.o evalN.o init.o searchG.o gnuan.o
	$(CC) $(CFLAGS) $(HASH) $(LANGF) -DIGNUAN  -o gnuan mainN.o bookG.o genmovesN.o ataks.o utilN.o evalN.o init.o searchG.o gnuan.o $(LIBS)

gnuchessc: mainC.o bookC.o genmovesC.o ataks.o utilC.o evalC.o init.o searchC.o dspcomC.o nondspC.o
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -o gnuchessc mainC.o bookC.o genmovesC.o ataks.o utilC.o evalC.o init.o searchC.o dspcomC.o nondspC.o $(LIBS)

Dgnuchessr: mainDR.o bookN.o genmovesN.o ataks.o utilDR.o evalDR.o init.o searchDR.o dspcomDR.o nondspDR.o
	$(CC)  -DDEBUG  -DDEBUG4 $(CFLAGS) $(HASH) $(LANGF)  -o gnuchessr mainDR.o bookN.o genmovesN.o ataks.o utilDR.o evalDR.o init.o searchDR.o dspcomDR.o nondspDR.o $(LIBS) $(LIBS)

gnuchessx: mainX.o bookX.o genmovesX.o ataks.o utilX.o evalX.o init.o searchX.o dspcomX.o nondspX.o
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -o gnuchessx mainX.o bookX.o genmovesX.o ataks.o utilX.o evalX.o init.o searchX.o dspcomX.o nondspX.o $(LIBS)

ecor: mainN.o eco.o genmovesN.o ataks.o utilN.o evalN.o init.o searchN.o dspcomR.o nondspR.o
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -o ecor mainN.o eco.o genmovesN.o ataks.o utilN.o evalN.o init.o searchN.o dspcomR.o nondspR.o $(LIBS)

gnuchessr: mainN.o bookN.o genmovesN.o ataks.o utilN.o evalN.o init.o searchN.o dspcomR.o nondspR.o
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -o gnuchessr mainN.o bookN.o genmovesN.o ataks.o utilN.o evalN.o init.o searchN.o dspcomR.o nondspR.o $(LIBS)

gnuchessn: mainN.o bookN.o genmovesN.o ataks.o utilN.o evalN.o init.o searchN.o dspcomN.o nuxdsp.o
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -o gnuchessn mainN.o bookN.o genmovesN.o ataks.o utilN.o evalN.o init.o searchN.o dspcomN.o nuxdsp.o $(LCURSES) $(LIBS)

game: game.c gnuchess.h
	$(CC) $(CFLAGS) -o game game.c
	
postprint: postprint.o
	$(CC) $(CFLAGS) $(HASH) -o postprint postprint.o
	
gnuan.o: gnuan.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF) -DIGNUAN $(BINBOOK) -c gnuan.c

mainN.o: main.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  $(BINBOOK) -c main.c
	mv main.o mainN.o
mainC.o: main.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  $(BINBOOK) -DNONDSP -DCHESSTOOL \
		-c main.c
	mv main.o mainC.o
mainX.o: main.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  $(BINBOOK) -DXBOARD  -c main.c
	mv main.o mainX.o
mainDR.o: main.c gnuchess.h version.h ttable.h
	$(CC)  -DDEBUG -DDEBUG4 $(CFLAGS) $(HASH) $(LANGF)  $(BINBOOK) \
		-c main.c
	mv main.o mainDR.o

genmovesN.o: genmoves.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c genmoves.c
	mv genmoves.o genmovesN.o
genmovesC.o: genmoves.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP -DCHESSTOOL \
		-c genmoves.c 
	mv genmoves.o genmovesC.o
genmovesX.o: genmoves.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DXBOARD \
		-c genmoves.c
	mv genmoves.o  genmovesX.o

eco.o: eco.c gnuchess.h version.h ataks.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  $(BINBOOK) $(BINECO)  $(PGNECO) -c eco.c 

bookN.o: book.c gnuchess.h version.h ataks.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  $(BINBOOK) $(PGNECO) $(BINECO) -c book.c 
	mv book.o bookN.o
bookG.o: book.c gnuchess.h version.h ataks.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  $(BINBOOK) $(PGNECO) $(BINECO) -DIGNUAN  -c book.c 
	mv book.o bookG.o
bookC.o: book.c gnuchess.h version.h ataks.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP -DCHESSTOOL \
	      $(BINBOOK) \
		$(PGNECO) $(BINECO) -c book.c 
	mv book.o bookC.o
bookX.o: book.c gnuchess.h version.h ataks.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DXBOARD  $(BINBOOK) \
		$(PGNECO) $(BINECO) -c book.c
	mv book.o  bookX.o

ataks.o: ataks.h ataks.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c ataks.c

utilN.o: util.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c util.c
	mv util.o utilN.o

utilX.o: util.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)   \
		 -c util.c
	mv util.o  utilX.o

utilC.o: util.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)   \
		 -c util.c
	mv util.o  utilC.o

evalC.o: eval.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)   -c eval.c
	mv eval.o evalC.o

evalX.o: eval.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)   -c eval.c
	mv eval.o evalX.o

evalN.o: eval.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c eval.c
	mv eval.o evalN.o

evalDR.o: eval.c gnuchess.h version.h ttable.h
	$(CC)  -DDEBUG4 -DDEBUG $(CFLAGS) $(HASH) $(LANGF)  \
		-c eval.c 
	mv eval.o evalDR.o
utilDR.o: util.c gnuchess.h version.h
	$(CC)  -DDEBUG4 -DDEBUG $(CFLAGS) $(HASH) $(LANGF)  \
		-c util.c 
	mv util.o utilDR.o

init.o: init.c gnuchess.h version.h ttable.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c init.c

searchN.o: search.c gnuchess.h version.h debug512.h debug10.h debug13.h debug16.h debug256.h debug4.h debug40.h debug41.h debug64.h debug8.h ttable.h ttable.c
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c search.c
	mv search.o searchN.o
searchG.o: search.c gnuchess.h version.h debug512.h debug10.h debug13.h debug16.h debug256.h debug4.h debug40.h debug41.h debug64.h debug8.h ttable.h ttable.c
	$(CC) $(CFLAGS) $(HASH) $(LANGF) -DIGNUAN  -c search.c
	mv search.o searchG.o
searchC.o: search.c gnuchess.h version.h debug512.h debug10.h debug13.h debug16.h debug256.h debug4.h debug40.h debug41.h debug64.h debug8.h ttable.h ttable.c
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP -DCHESSTOOL \
		-c search.c 
	mv search.o searchC.o
searchX.o: search.c gnuchess.h version.h debug512.h debug10.h debug13.h debug16.h debug256.h debug4.h debug40.h debug41.h debug64.h debug8.h ttable.h ttable.c
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DXBOARD \
		-c search.c 
	mv search.o searchX.o
searchDR.o: search.c gnuchess.h version.h debug512.h debug10.h debug13.h debug16.h debug256.h debug4.h debug40.h debug41.h debug64.h debug8.h ttable.h ttable.c
	$(CC)  -DDEBUG4 -DDEBUG $(CFLAGS) $(HASH) $(LANGF)  \
		-c search.c 
	mv search.o searchDR.o

uxdsp.o: uxdsp.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c uxdsp.c

nuxdsp.o: nuxdsp.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c nuxdsp.c

nondspC.o: nondsp.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP -DCHESSTOOL \
		-c nondsp.c 
	mv nondsp.o nondspC.o
nondspX.o: nondsp.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP -DXBOARD \
		-c nondsp.c 
	mv nondsp.o nondspX.o
nondspR.o: nondsp.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP \
		-c nondsp.c 
	mv nondsp.o nondspR.o
nondspDR.o: nondsp.c gnuchess.h version.h
	$(CC)  -DDEBUG4 -DDEBUG $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP \
		 -c nondsp.c 
	mv nondsp.o nondspDR.o

dspcomN.o: dspcom.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -c dspcom.c
	mv dspcom.o dspcomN.o
dspcomC.o: dspcom.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP -DCHESSTOOL \
		-c dspcom.c 
	mv dspcom.o dspcomC.o
dspcomX.o: dspcom.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP -DXBOARD \
		-c dspcom.c 
	mv dspcom.o dspcomX.o
dspcomR.o: dspcom.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP \
		-c dspcom.c 
	mv dspcom.o dspcomR.o
dspcomDR.o: dspcom.c gnuchess.h version.h
	$(CC)  -DDEBUG -DDEBUG4 $(CFLAGS) $(HASH) $(LANGF)  -DNONDSP \
		-c dspcom.c 
	mv dspcom.o dspcomDR.o

postprint.o: postprint.c gnuchess.h version.h
	$(CC) $(CFLAGS) $(HASH) -c postprint.c

binsort:	binsort.c binsort.h
	$(CC) $(CFLAGS) -o binsort binsort.c

ecosort:	ecosort.c gnuchess.h
	$(CC) $(CFLAGS) -o ecosort ecosort.c

ecocvt:	ecocvt.c
	$(CC) $(CFLAGS) -o ecocvt ecocvt.c

distribution:
	-patchlevel=`cat $(DISTDIR)/gnuchess-$(VERS)/src/version.h|grep patchlevel|sed -e 's/[^0-9]//g'` ;\
	echo "GNU patchlevel is $$patchlevel" ;\
	cd $(DISTDIR) ;\
	rm -f gnuchess.tar.$(VERS).Z* gnuchess.tar.$(VERS).Z.uu* ;\
	tar cf - $(PROGS) | compress > $(DISTDIR)/gnuchess-$(VERS).pl$$patchlevel.tar.Z ;\
	uuencode gnuchess-$(VERS).pl$$patchlevel.tar.Z gnuchess-$(VERS).pl$$patchlevel.tar.Z > gnuchess-$(VERS).pl$$patchlevel.tar.Z.uu ;\
	rm -f x?? ;\
	split -2500 gnuchess-$(VERS).pl$$patchlevel.tar.Z.uu ;\
	for i in x??; do \
	  mv $$i $(DISTDIR)/GNU_Chess_$$i; \
	done

gnuchess.data: $(BOOK)
	-rm /tmp/gnuchess.data
	echo 3 0 >test;echo quit >>test
	gzip -d -c  $(BOOK)	 > ./t
	cat test| ./gnuchessr -b ./t  -B /tmp/gnuchess.data $(BOOKOPTS)
	cp /tmp/gnuchess.data .
	rm test ./t

gnuchess.eco:	ecor binsort ecocvt ecosort
	-rm -f gnuchess.eco /tmp/step1.eco /tmp/step2.eco
	- echo 0 0>/tmp/step0.eco
	-./ecor -b ../book/eco.pgn -B /tmp/step1.eco</tmp/step0.eco
	./ecosort 
	-./ecocvt /tmp/step2.eco gnuchess.eco
	

install: install1 
	-$(INSTALL) ./gnuchess.data $(LIBDIR)/gnuchess.data
	-$(INSTALL) ./gnuchess.eco $(LIBDIR)/gnuchess.eco
	-$(INSTALL) ../book/eco.pgn $(LIBDIR)/eco.pgn


install1: 
	-$(INSTALL) gnuchessx $(BINDIR)/gnuchessx
	-$(INSTALL) gnuchessc $(BINDIR)/gnuchessc
	-$(INSTALL) gnuchessr $(BINDIR)/gnuchessr
	-$(INSTALL) gnuchessn $(BINDIR)/gnuchessn
	-$(INSTALL) postprint $(BINDIR)/postprint
	-$(INSTALL) gnuan $(BINDIR)/gnuan
	-$(INSTALL) gnuchess $(BINDIR)/gnuchess
	-$(INSTALL) ../misc/gnuchess.lang $(LIBDIR)/gnuchess.lang

test: 	check

check:        gnuchessr ../test/testall
	 cat ../test/testall|gnuchessr > test.out 2>&1

../test/testall:
	 (cd ../test; zcat test.tar.z | tar -xvf -)

bigcheck:     gnuchessr ../test/testall
	cat ../test/gnutest.run|gnuchessr > gnutest.out 2>&1

clean:
	-rm -f binsort gnuchessx gnuchessc gnuchess gnuchessr gnuchessn ecor ecocvt ecosort postprint gnuan game stamp-*
	-echo $(DISTDIR)
	-find $(DISTDIR) \( -name '*.o' -o -name '*~' -o -name 'CL*' -o -name 'PATCH*' -o -name '#*#' -o -name '%*%' -o -name '*orig' \) -exec rm -f {} \;
