#
# Makefile for GNU Shogi
#
-# Copyright (c) 2012 Free Software Foundation
+# Copyright (c) 1993, 1994 Matthias Mutz
+# Copyright (c) 1998, 1999 Michael Vanier and the Free Software Foundation
#
# GNU Shogi is based on GNU Chess
+# Copyright (c) 1992 Free Software Foundation
#
# This file is part of GNU Shogi.
#
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
-ROOT = ..
+ROOT = @top_srcdir@
+SRCDIR = @srcdir@
+VPATH=$(SRCDIR)
# Installation directory.
prefix = @prefix@
LIBS = -lm
# Display routines.
-LCURSES = -lcurses -ltermcap
+LCURSES = @LIBCURSES@
#
CC = @CC@
CWARNINGS = @WARNINGS@
CEXTRAFLAGS = @CEXTRAFLAGS@
-CFLAGS = @CFLAGS@ $(CEXTRAFLAGS) $(CWARNINGS) -I..
-
+CFLAGS = @CFLAGS@ $(CEXTRAFLAGS) $(CWARNINGS) -I$(ROOT) -I@top_builddir@
+LDFLAGS = @LDFLAGS@
# The hashfile is a record of positions seen. It is used by
# GNU Shogi to avoid making the same mistakes, a form of learning.
BINBOOK = -DBINBOOK=\"$(LIBDIR)/gnushogi.bbk\"
-# The language file describes capabilities of the program. It may
-# be useful for customizing gnushogi for non-English-speaking players.
-
-LANGF = -DLANGFILE=\"../misc/gnushogi.lng\"
-
-
# The pattern file contains various opening patterns. The program tries to
# obtain such a pattern in the opening stage. Sequences of opening
# patterns may be described in order to support the correct order of moves.
attacks.o \
book.o \
commondsp.o \
- cursesdsp.o \
+ @CURSESDSP@ \
dspwrappers.o \
eval.o \
genmove.o \
pattern.o \
rawdsp.o \
search.o \
- sysdeps.o \
tcontrl.o \
util.o
#
gnushogi:
- $(CC) $(CFLAGS) -o gnushogi $(GNUSHOGI_FILES) $(LCURSES) $(LIBS)
+ $(CC) $(CFLAGS) -o gnushogi $(GNUSHOGI_FILES) $(LDFLAGS) $(LCURSES) $(LIBS)
pat2inc:
- $(CC) $(CFLAGS) -o pat2inc $(PAT2INCFILES) $(LCURSES) $(LIBS)
+ $(CC) $(CFLAGS) -o pat2inc $(PAT2INCFILES) $(LDFLAGS) $(LCURSES) $(LIBS)
sizetest:
- $(CC) $(CFLAGS) -o sizetest sizetest.o $(LIBS)
+ $(CC) $(CFLAGS) -o sizetest sizetest.o $(LDFLAGS) $(LIBS)
profile:
$(MAKE) -f Makefile.profile gnushogi
# Common files.
-attacks.o:
- $(CC) $(CFLAGS) -c attacks.c
+attacks.o: attacks.c
+ $(CC) $(CFLAGS) -c $<
-book.o:
- $(CC) $(CFLAGS) $(TEXTBOOK) $(BINBOOK) -c book.c
+book.o: book.c
+ $(CC) $(CFLAGS) $(TEXTBOOK) $(BINBOOK) -c $<
-commondsp.o:
- $(CC) $(CFLAGS) -c commondsp.c
+commondsp.o: commondsp.c
+ $(CC) $(CFLAGS) -c $<
-cursesdsp.o:
- $(CC) $(CFLAGS) -c cursesdsp.c
+cursesdsp.o: cursesdsp.c
+ $(CC) $(CFLAGS) -c $<
-dspwrappers.o:
- $(CC) $(CFLAGS) -c dspwrappers.c
+dspwrappers.o: dspwrappers.c
+ $(CC) $(CFLAGS) -c $<
-genmove.o:
- $(CC) $(CFLAGS) -c genmove.c
+genmove.o: genmove.c
+ $(CC) $(CFLAGS) -c $<
-globals.o:
- $(CC) $(CFLAGS) -c globals.c
+globals.o: globals.c
+ $(CC) $(CFLAGS) -c $<
-eval.o:
- $(CC) $(CFLAGS) -c eval.c
+eval.o: eval.c
+ $(CC) $(CFLAGS) -c $<
-init.o:
- $(CC) $(CFLAGS) $(LANGF) -c init.c
+init.o: init.c
+ $(CC) $(CFLAGS) -c $<
-main.o:
- $(CC) $(CFLAGS) $(BINBOOK) -c main.c
+main.o: main.c
+ $(CC) $(CFLAGS) $(BINBOOK) -c $<
# To create "pattern.inc" with "pat2inc", the external
# pattern textfile must be used.
-makepattern.o:
- $(CC) $(CFLAGS) $(PATTERN) -c makepattern.c
-
-pattern.o:
- $(CC) $(CFLAGS) -c pattern.c
+makepattern.o: makepattern.c
+ $(CC) $(CFLAGS) $(PATTERN) -c $<
-rawdsp.o:
- $(CC) $(CFLAGS) -c rawdsp.c
+pattern.o: pattern.c
+ $(CC) $(CFLAGS) -c $<
-search.o:
- $(CC) $(CFLAGS) -c search.c
+rawdsp.o: rawdsp.c
+ $(CC) $(CFLAGS) -c $<
-sysdeps.o:
- $(CC) $(CFLAGS) -c sysdeps.c
+search.o: search.c
+ $(CC) $(CFLAGS) -c $<
-tcontrl.o:
- $(CC) $(CFLAGS) -c tcontrl.c
+tcontrl.o: tcontrl.c
+ $(CC) $(CFLAGS) -c $<
-util.o:
- $(CC) $(CFLAGS) -c util.c
+util.o: util.c
+ $(CC) $(CFLAGS) -c $<
# Files specific to particular targets.
-pat2inc.o:
- $(CC) $(CFLAGS) $(LANGF) $(BINBOOK) $(PATTERN) -c pat2inc.c
+pat2inc.o: pat2inc.c
+ $(CC) $(CFLAGS) $(BINBOOK) $(PATTERN) -c $<
-sizetest.o:
- $(CC) $(CFLAGS) -c sizetest.c
+sizetest.o: sizetest.c
+ $(CC) $(CFLAGS) -c $<
#
gnushogi.bbk:
@if [ -f ./gnushogi.bbk ]; then rm ./gnushogi.bbk; fi
echo quit > test
- cat ../misc/gnushogi.tbk > _tmp_t
+ cat $(ROOT)/misc/gnushogi.tbk > _tmp_t
cat test | ./gnushogi -R -b _tmp_t -B ./gnushogi.bbk -S 8000 -P 40 3 0
rm test _tmp_t
@echo
gnushogi: $(GNUSHOGI_FILES)
pat2inc: $(PAT2INCFILES)
sizetest: sizetest.o
-attacks.o: attacks.c gnushogi.h ../version.h
-book.o: book.c gnushogi.h ../version.h
-commondsp.o: commondsp.c gnushogi.h ../version.h
-cursesdsp.o: cursesdsp.c gnushogi.h ../version.h
-dspwrappers.o: dspwrappers.c gnushogi.h ../version.h
-genmove.o: genmove.c gnushogi.h ../version.h
-globals.o: globals.c gnushogi.h ../version.h
-eval.o: eval.c eval.h gnushogi.h ../version.h pattern.h
-init.o: init.c gnushogi.h ../version.h pattern.h
-main.o: main.c gnushogi.h ../version.h
-makepattern.o: pattern.c gnushogi.h pattern.h
-pattern.o: pattern.c gnushogi.h pattern.h pattern.inc
-rawdsp.o: rawdsp.c gnushogi.h ../version.h
-search.o: search.c gnushogi.h ../version.h
-sysdeps.o: sysdeps.c gnushogi.h ../version.h
-tcontrl.o: tcontrl.c gnushogi.h ../version.h
-util.o: util.c gnushogi.h ../version.h
-pat2inc.o: pat2inc.c pattern.h gnushogi.h
-sizetest.o: sizetest.c gnushogi.h eval.h
+attacks.o: attacks.c gnushogi.h
+book.o: book.c gnushogi.h
+commondsp.o: commondsp.c gnushogi.h
+cursesdsp.o: cursesdsp.c gnushogi.h
+dspwrappers.o: dspwrappers.c gnushogi.h
+genmove.o: genmove.c gnushogi.h
+globals.o: globals.c gnushogi.h
+eval.o: eval.c eval.h gnushogi.h $(SRCDIR)/pattern.h
+init.o: init.c gnushogi.h $(SRCDIR)/pattern.h
+main.o: main.c gnushogi.h
+makepattern.o: pattern.c gnushogi.h $(SRCDIR)/pattern.h
+pattern.o: pattern.c gnushogi.h $(SRCDIR)/pattern.h $(SRCDIR)/pattern.inc
+rawdsp.o: rawdsp.c gnushogi.h
+search.o: search.c gnushogi.h
+tcontrl.o: tcontrl.c gnushogi.h
+util.o: util.c gnushogi.h
+pat2inc.o: pat2inc.c $(SRCDIR)/pattern.h $(SRCDIR)/gnushogi.h
+sizetest.o: sizetest.c $(SRCDIR)/gnushogi.h $(SRCDIR)/eval.h
gnushogi.bbk: gnushogi