Switch build to automake, building gnuminishogi officially.
authorYann Dirson <ydirson@free.fr>
Tue, 17 Dec 2013 22:34:53 +0000 (23:34 +0100)
committerYann Dirson <ydirson@free.fr>
Sun, 12 Jan 2014 14:31:51 +0000 (15:31 +0100)
13 files changed:
.gitignore
INSTALL
INSTALL.generic [deleted file]
Makefile.am [new file with mode: 0644]
TODO
configure.ac
doc/Makefile.am [new file with mode: 0644]
doc/Makefile.in [deleted file]
gnushogi/Makefile.am [new file with mode: 0644]
gnushogi/pattern.c
install-sh [deleted file]
xshogi/Makefile.am [new file with mode: 0644]
xshogi/Makefile.in [deleted file]

index 3e1d8b1..9f08064 100644 (file)
@@ -1,23 +1,31 @@
 /config.h.in
 /configure
 
+Makefile.in
+.deps
+/aclocal.m4
+/compile
+/depcomp
+/install-sh
+/missing
+/ylwrap
+/stamp-h1
+
 /autom4te.cache/
 /config.log
 /config.status
 /config.h
-/Makefile
-/gnushogi/Makefile
+Makefile
 /gnushogi/Makefile.profile
-/doc/Makefile
-/xshogi/Makefile
 
 *.o
 /gnushogi/pat2inc
-/gnushogi/pattern.inc
+/gnushogi/*-pattern.inc
 /gnushogi/gnushogi
 /gnushogi/gnushogi.bbk
 /gnushogi/gnuminishogi
 /gnushogi/gnuminishogi.bbk
+/gnushogi/sizetest
 
 /win32/
 
diff --git a/INSTALL b/INSTALL
index dba15ea..007e939 100644 (file)
--- a/INSTALL
+++ b/INSTALL
-Installation procedure for GNU Shogi
+Installation Instructions
+*************************
+
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+Inc.
+
+   Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.  This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+   Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package.  The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.  Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below.  The lack of an optional feature in a given package is not
+necessarily a bug.  More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+   The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.
+
+     Running `configure' might take a while.  While running, it prints
+     some messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package, generally using the just-built uninstalled binaries.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.  When installing into a prefix owned by root, it is
+     recommended that the package be configured and built as a regular
+     user, and only the `make install' phase executed with root
+     privileges.
+
+  5. Optionally, type `make installcheck' to repeat any self-tests, but
+     this time using the binaries in their final installed location.
+     This target does not install anything.  Running this target as a
+     regular user, particularly if the prior `make install' required
+     root privileges, verifies that the installation completed
+     correctly.
+
+  6. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+  7. Often, you can also type `make uninstall' to remove the installed
+     files again.  In practice, not all packages have tested that
+     uninstallation works correctly, even though it is required by the
+     GNU Coding Standards.
+
+  8. Some packages, particularly those that use Automake, provide `make
+     distcheck', which can by used by developers to test that all other
+     targets like `make install' and `make uninstall' work correctly.
+     This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
 ====================================
 
-If you've never installed a software package using a configure script before,
-please read (or skim) the file "INSTALL.generic" which gives general
-information on using configure scripts.  This file contains information
-specific to GNU shogi.
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you can use GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.  This
+is known as a "VPATH" build.
+
+   With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory.  After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+   On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor.  Like
+this:
+
+     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CPP="gcc -E" CXXCPP="g++ -E"
+
+   This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+   By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.  In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+   The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+   The first method involves providing an override variable for each
+affected directory.  For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'.  Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated.  The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+   The second method involves providing the `DESTDIR' variable.  For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names.  The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters.  On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+   Some packages offer the ability to configure how verbose the
+execution of `make' will be.  For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
+   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
+a workaround.  If GNU CC is not installed, it is therefore recommended
+to try
+
+     ./configure CC="cc"
+
+and if that doesn't work, try
+
+     ./configure CC="cc -nodtk"
+
+   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+   On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'.  It is recommended to use the following options:
+
+     ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on.  Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS
+     KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
 
-The basic procedure:
--------------------
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
 
-1. Type 'configure --prefix=<where you want GNU shogi installed>'.  If you
-   don't specify a prefix, it will be set to /usr/local.  There are a few GNU
-   shogi-specific options you can use for this command; see below.
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
 
-2. Type 'make' to create gnushogi, the binary book file gnushogi.bbk, and
-   xshogi (the graphical interface to gnushogi).
+Sharing Defaults
+================
 
-3. Type 'make install' to copy the binary book file to the library
-   destination directory and to copy the gnushogi executable to the
-   binary destination directory.
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
 
-4. OPTIONAL:
-   Type 'make clean' to remove object files and binaries from destination
-   source directory.
+Defining Variables
+==================
 
+   Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
 
-Configuration options specific to GNU shogi:
--------------------------------------------
+     ./configure CC=/usr/local2/bin/gcc
 
-These only affect xshogi.
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
 
-  --with-top-part-bitmaps    Use top part of Kanji bitmaps only.
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf limitation.  Until the limitation is lifted, you can use
+this workaround:
 
-  --with-first-shogi-program=PROGNAME    
-        Use PROGNAME as the first shogi program (default: gnushogi)
+     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
-  --with-second-shogi-program=PROGNAME    
-        Use PROGNAME as the second shogi program (default: gnushogi)
+`configure' Invocation
+======================
 
-  --with-first-host=HOSTNAME    
-        Use HOSTNAME as the machine on which the first shogi program 
-        runs (default: localhost)
+   `configure' recognizes the following options to control how it
+operates.
 
-  --with-second-host=HOSTNAME    
-        Use HOSTNAME as the machine on which the second shogi program 
-        runs (default: localhost)
+`--help'
+`-h'
+     Print a summary of all of the options to `configure', and exit.
 
-  --with-xshogi    
-        Compile the xshogi graphical interface to GNU shogi (default: yes)
+`--help=short'
+`--help=recursive'
+     Print a summary of the options unique to this package's
+     `configure', and exit.  The `short' variant lists options used
+     only in the top level, while the `recursive' variant lists options
+     also present in any nested packages.
 
-If you don't want to compile xshogi, do 
-'configure <other options> --without-xshogi'
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
 
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
 
-Other options:
--------------
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
 
-In the gnushogi directory, the file 'opts.h' includes a number of options that
-can be set to configure the evaluator, to set the debugging level, etc.  These
-options will probably only be of interest to people who are hacking the source
-code, with one exception: if you want to have your games automatically saved
-on exit, #define LIST_ON_EXIT in this file.
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
 
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
 
-Platforms GNU shogi is known to compile on:
-------------------------------------------
+`--prefix=DIR'
+     Use DIR as the installation prefix.  *note Installation Names::
+     for more details, including other options available for fine-tuning
+     the installation locations.
 
-Red Hat Linux 9.0
-Sun Solaris 2.6
+`--no-create'
+`-n'
+     Run the configure checks, but stop before creating any output
+     files.
 
-Information about attempted or successful ports to other platforms would be
-appreciated.   If you submit such a report, please specify what you had to do
-to get GNU shogi to compile and run successfully.
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
diff --git a/INSTALL.generic b/INSTALL.generic
deleted file mode 100644 (file)
index 3b50ea9..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-Basic Installation
-==================
-
-   These are generic installation instructions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
-   The file `configure.in' is used to create `configure' by a program
-called `autoconf'.  You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
-
-     Running `configure' takes a while.  While running, it prints some
-     messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.
-
-  5. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  You can give `configure'
-initial values for variables by setting them in the environment.  Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
-     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
-     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
-   If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory.  After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
-   By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on.  Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
-     CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
-   If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
-     Use and save the results of the tests in FILE instead of
-     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
-     debugging `configure'.
-
-`--help'
-     Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--version'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
-
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..85930b1
--- /dev/null
@@ -0,0 +1,34 @@
+#
+# Makefile for GNU Shogi
+#
+# Copyright (c) 2013 Yann Dirson and the Free Software Foundation
+#
+# This file is part of GNU Shogi.
+#
+# GNU Shogi 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 1, or (at your option)
+# any later version.
+#
+# GNU Shogi 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 Shogi; see the file COPYING.  If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+SUBDIRS = gnushogi xshogi doc
+
+dist_noinst_DATA = \
+       README.maint \
+       ChangeLog.old \
+       misc/gnushogi.pat \
+       misc/gnuminishogi.pat \
+       misc/gnushogi.tbk \
+       misc/gnuminishogi.tbk
+
+dist_doc_DATA = \
+       CONTRIB
diff --git a/TODO b/TODO
index 48d2f19..0215d7b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -10,7 +10,6 @@ Generic cleanups
 
 - switch cli parsing to getopt
 - hunt for extern's and prototypes spread all over the source
-- use automake
 - hunt for more hardcoded variant-specific constants
   - position of captured pieces in curses mode
   - compile with bound-checker
index e6ab85f..0d11ea0 100644 (file)
@@ -6,6 +6,7 @@ dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.57)
 AC_INIT([gnushogi],[1.4.1-rc1+],[https://savannah.gnu.org/bugs/?group=gnushogi])
+AM_INIT_AUTOMAKE
 AC_CONFIG_SRCDIR([gnushogi/gnushogi.h])
 AC_CONFIG_HEADER(config.h)
 
@@ -37,7 +38,8 @@ LIBCURSES=
 AS_IF([test "x$with_curses" != xno],
   [AC_CHECK_LIB([curses], [clrtoeol],
     [AC_SUBST([LIBCURSES], [-lcurses])
-     AC_SUBST([CURSESDSP], [cursesdsp.o])
+     AC_SUBST([CURSESDSP], [gnushogi-cursesdsp.o])
+     AC_SUBST([CURSESDSPMINI], [gnuminishogi-cursesdsp.o])
      AC_DEFINE([HAVE_LIBCURSES], [1],
                [Define if you have lib])
     ],
@@ -111,15 +113,6 @@ AC_CHECK_FUNCS([setvbuf setlinebuf])
 # Set various user-definable options.
 #
 
-AC_ARG_ENABLE([minishogi],
-[  --enable-minishogi
-        Build gnuminishogi instead of gnushogi (default: no)],
-[AC_DEFINE([MINISHOGI], [], [Define to build gnuminishogi instead of gnushogi])
-AC_SUBST([PROGNAME], [gnuminishogi])
-],
-[AC_SUBST([PROGNAME], [gnushogi])
-])
-
 OPT=
 FIRST_SHOGI_PROGRAM=gnushogi
 SECOND_SHOGI_PROGRAM=gnushogi
@@ -165,18 +158,18 @@ AC_SUBST(SECOND_HOST)
 
 if [[ $enable_xshogi = yes ]]
 then
-XSHOGI=xshogi_compile
-XSHOGIINSTALL=xshogi_install
-XSHOGICLEAN=xshogi_clean
+XSHOGI=xshogi
+XSHOGIMAN=xshogi.6
+XDOCS='$(XDOCS)'
 else
 XSHOGI=
-XSHOGIINSTALL=
-XSHOGICLEAN=
+XSHOGIMAN=
+XDOCS=
 fi
 
 AC_SUBST(XSHOGI)
-AC_SUBST(XSHOGIINSTALL)
-AC_SUBST(XSHOGICLEAN)
+AC_SUBST(XSHOGIMAN)
+AC_SUBST(XDOCS)
 
 ##########
 AC_CONFIG_FILES([Makefile
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644 (file)
index 0000000..c9d76ad
--- /dev/null
@@ -0,0 +1,38 @@
+#
+# Documentation Makefile for GNU Shogi
+#
+# Copyright (c) 2013 Yann Dirson and the Free Software Foundation
+#
+# This file is part of GNU Shogi.
+#
+# GNU Shogi 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 1, or (at your option)
+# any later version.
+#
+# GNU Shogi 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 Shogi; see the file COPYING.  If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+info_TEXINFOS = gnushogi.texi
+AM_MAKEINFOHTMLFLAGS = --split=section
+
+dist_man_MANS = gnushogi.6 @XSHOGIMAN@
+EXTRA_MANS = xshogi.6
+
+dist_doc_DATA = \
+       BOOKFILES \
+       PORTING \
+       shogi.rules \
+       tutorial1.gam \
+       tutorial2.gam
+
+spell:
+       tr '[A-Z]' '[a-z]' < $(srcdir)/gnushogi.texi | tr -cd '[A-Za-z0-9_ \012]' | \
+       tr -s '[ ]' '\012' | sort | uniq -c | sort -nr | spell | sort | uniq
diff --git a/doc/Makefile.in b/doc/Makefile.in
deleted file mode 100644 (file)
index 356926d..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-MAINTAINERCLEANFILES = *.info*
-DISTCLEANFILES = *.ps *.html
-CLEANFILES = *.log *.dvi *.aux *.dlog \
-             *.cp *.cps *.fn *.ky *.pg *.toc *.tp *.vr
-
-SRCDIR = @srcdir@
-
-info:
-       makeinfo $(SRCDIR)/gnushogi.texi
-
-dvi:
-       texi2dvi $(SRCDIR)/gnushogi.texi
-
-pdf:
-       texi2pdf $(SRCDIR)/gnushogi.texi
-
-# I do some egregious hacks to get around limitations of 
-# texi2html.
-
-html:
-       makeinfo --html --split=section $(SRCDIR)/gnushogi.texi
-
-ps: dvi
-       dvips -t letter gnushogi.dvi -o gnushogi.ps
-
-ps2: dvi
-       dvi2ps gnushogi.dvi > gnushogi.ps
-
-spell:
-       tr '[A-Z]' '[a-z]' < $(SRCDIR)/gnushogi.texi | tr -cd '[A-Za-z0-9_ \012]' | \
-       tr -s '[ ]' '\012' | sort | uniq -c | sort -nr | spell | sort | uniq
-
-clean:
-       @for file in $(CLEANFILES); \
-        do if [ -f $$file ]; then rm $$file; fi; \
-        done
-
-distclean: clean
-       @for file in $(DISTCLEANFILES); \
-        do if [ -f $$file ]; then rm $$file; fi; \
-        done
-
-maintainerclean: distclean
-       @for file in $(MAINTAINERCLEANFILES); \
-        do if [ -f $$file ]; then rm $$file; fi; \
-        done
diff --git a/gnushogi/Makefile.am b/gnushogi/Makefile.am
new file mode 100644 (file)
index 0000000..4eefd9c
--- /dev/null
@@ -0,0 +1,131 @@
+#
+# Makefile for GNU Shogi
+#
+# Copyright (c) 2013 Yann Dirson and the Free Software Foundation
+#
+# This file is part of GNU Shogi.
+#
+# GNU Shogi 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 1, or (at your option)
+# any later version.
+#
+# GNU Shogi 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 Shogi; see the file COPYING.  If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+pkgbindatadir = $(pkglibdir)
+
+bin_PROGRAMS = gnushogi gnuminishogi
+noinst_PROGRAMS = pat2inc sizetest
+
+pkgbindata_DATA = gnushogi.bbk
+# gnuminishogi.bbk would be empty
+
+AM_CFLAGS = @CEXTRAFLAGS@ @WARNINGS@
+
+# The hashfile is a record of positions seen. It is used by
+# GNU Shogi to avoid making the same mistakes, a form of learning.
+
+HASH       = -DHASHFILE=\"$(pkglibdir)/$(PROGNAME).hsh\"
+
+
+# The "book" is a record of the first few moves, for playing good
+# moves easily and quickly, saving time, and irritating the human
+# opponent.
+
+TEXTBOOK   = -DBOOK=\"$(pkglibdir)/$(PROGNAME).tbk\"
+BINBOOK    = -DBINBOOK=\"$(pkglibdir)/$(PROGNAME).bbk\"
+
+
+# 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.
+
+gnushogi_CPPFLAGS = \
+       -DHASHFILE=\"$(pkglibdir)/gnushogi.hsh\" \
+       -DBOOK=\"$(pkglibdir)/gnushogi.tbk\" \
+       -DBINBOOK=\"$(pkglibdir)/gnushogi.bbk\"
+gnuminishogi_CPPFLAGS = \
+       -DMINISHOGI \
+       -DHASHFILE=\"$(pkglibdir)/gnuminishogi.hsh\" \
+       -DBOOK=\"$(pkglibdir)/gnuminishogi.tbk\" \
+       -DBINBOOK=\"$(pkglibdir)/gnuminishogi.bbk\"
+
+noinst_HEADERS = \
+       book.h \
+       debug.h \
+       eval.h \
+       gnushogi.h \
+       opts.h \
+       pattern.h
+
+COMMONSOURCES =         \
+       globals.c       \
+       init-common.c   \
+       pattern-common.c
+
+NOTCOMMONFILES =       \
+       attacks.c      \
+       book.c         \
+       commondsp.c    \
+       eval.c         \
+       genmove.c      \
+       init.c         \
+       pattern.c      \
+       rawdsp.c       \
+       search.c       \
+       tcontrl.c      \
+       util.c
+
+gnushogi_SOURCES = \
+       main.c \
+       $(NOTCOMMONFILES) \
+       $(COMMONSOURCES)
+gnuminishogi_SOURCES = \
+       main.c \
+       $(NOTCOMMONFILES) \
+       $(COMMONSOURCES)
+
+EXTRA_gnushogi_SOURCES = \
+       cursesdsp.c
+EXTRA_gnuminishogi_SOURCES = \
+       cursesdsp.c
+
+BUILT_SOURCES = \
+       gnushogi-pattern.inc \
+       gnuminishogi-pattern.inc
+
+gnushogi_DEPENDENCIES = @CURSESDSP@
+gnushogi_LDADD = @CURSESDSP@ @LIBCURSES@
+gnuminishogi_DEPENDENCIES = @CURSESDSPMINI@
+gnuminishogi_LDADD = @CURSESDSPMINI@ @LIBCURSES@
+
+pat2inc_SOURCES = \
+       pat2inc.c \
+       makepattern.c \
+       $(COMMONSOURCES)
+
+pat2inc_LDADD = @LIBCURSES@
+
+gnushogi-pattern.inc: $(top_srcdir)/misc/gnushogi.pat pat2inc
+       ./pat2inc $< $@
+gnuminishogi-pattern.inc: $(top_srcdir)/misc/gnuminishogi.pat pat2inc
+       ./pat2inc $< $@
+
+gnushogi.bbk: $(top_srcdir)/misc/gnushogi.tbk gnushogi
+       rm -f $@
+       cat $< > _tmp_t
+       echo quit | ./gnushogi -R -b _tmp_t -B $@ -S 8000 -P 40 3 0
+       rm _tmp_t
+gnuminishogi.bbk: $(top_srcdir)/misc/gnuminishogi.tbk gnuminishogi
+       rm -f $@
+       cat $< > _tmp_t
+       echo quit | ./gnuminishogi -R -b _tmp_t -B $@ -S 8000 -P 40 3 0
+       rm _tmp_t
index 3891b2e..5268b7a 100644 (file)
 #include "pattern.h"
 
 /* constants and pattern_data are generated by "pat2inc" */
-#include "pattern.inc"
+#ifndef MINISHOGI
+# include "gnushogi-pattern.inc"
+#else
+# include "gnuminishogi-pattern.inc"
+#endif
 
 struct Pattern_rec Pattern[MAX_PATTERN];
 struct OpeningSequence_rec OpeningSequence[MAX_OPENING_SEQUENCE];
diff --git a/install-sh b/install-sh
deleted file mode 100755 (executable)
index ebc6691..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-       -c) instcmd="$cpprog"
-           shift
-           continue;;
-
-       -d) dir_arg=true
-           shift
-           continue;;
-
-       -m) chmodcmd="$chmodprog $2"
-           shift
-           shift
-           continue;;
-
-       -o) chowncmd="$chownprog $2"
-           shift
-           shift
-           continue;;
-
-       -g) chgrpcmd="$chgrpprog $2"
-           shift
-           shift
-           continue;;
-
-       -s) stripcmd="$stripprog"
-           shift
-           continue;;
-
-       -t=*) transformarg=`echo $1 | sed 's/-t=//'`
-           shift
-           continue;;
-
-       -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-           shift
-           continue;;
-
-       *)  if [ x"$src" = x ]
-           then
-               src=$1
-           else
-               # this colon is to work around a 386BSD /bin/sh bug
-               :
-               dst=$1
-           fi
-           shift
-           continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-       echo "install:  no input file specified"
-       exit 1
-else
-       true
-fi
-
-if [ x"$dir_arg" != x ]; then
-       dst=$src
-       src=""
-       
-       if [ -d $dst ]; then
-               instcmd=:
-       else
-               instcmd=mkdir
-       fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-       if [ -f $src -o -d $src ]
-       then
-               true
-       else
-               echo "install:  $src does not exist"
-               exit 1
-       fi
-       
-       if [ x"$dst" = x ]
-       then
-               echo "install:  no destination specified"
-               exit 1
-       else
-               true
-       fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-       if [ -d $dst ]
-       then
-               dst="$dst"/`basename $src`
-       else
-               true
-       fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='   
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-       pathcomp="${pathcomp}${1}"
-       shift
-
-       if [ ! -d "${pathcomp}" ] ;
-        then
-               $mkdirprog "${pathcomp}"
-       else
-               true
-       fi
-
-       pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-       $doit $instcmd $dst &&
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-       if [ x"$transformarg" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               dstfile=`basename $dst $transformbasename | 
-                       sed $transformarg`$transformbasename
-       fi
-
-# don't allow the sed command to completely eliminate the filename
-
-       if [ x"$dstfile" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               true
-       fi
-
-# Make a temp file name in the proper directory.
-
-       dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-       $doit $instcmd $src $dsttmp &&
-
-       trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
-       $doit $rmcmd -f $dstdir/$dstfile &&
-       $doit $mvcmd $dsttmp $dstdir/$dstfile 
-
-fi &&
-
-
-exit 0
diff --git a/xshogi/Makefile.am b/xshogi/Makefile.am
new file mode 100644 (file)
index 0000000..2f0f554
--- /dev/null
@@ -0,0 +1,272 @@
+#
+# Makefile for XShogi
+#
+# Copyright (c) 2013 Yann Dirson and the Free Software Foundation
+#
+# This file is part of GNU Shogi.
+#
+# GNU Shogi 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 1, or (at your option)
+# any later version.
+#
+# GNU Shogi 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 Shogi; see the file COPYING.  If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+bin_PROGRAMS = @XSHOGI@
+EXTRA_PROGRAMS = xshogi
+xdocdir = ${datarootdir}/doc/xshogi
+
+xshogi_SOURCES = \
+       xshogi.c \
+       parser.y \
+       scanner.l
+
+xshogi_CPPFLAGS = \
+       @OPT@ \
+       -DFIRST_SHOGI_PROGRAM=\"@FIRST_SHOGI_PROGRAM@\" \
+       -DSECOND_SHOGI_PROGRAM=\"@SECOND_SHOGI_PROGRAM@\" \
+       -DFIRST_HOST=\"@FIRST_HOST@\" \
+       -DSECOND_HOST=\"@SECOND_HOST@\"
+
+AM_CFLAGS = @CEXTRAFLAGS@ @WARNINGS@
+
+xshogi_LDADD = @X_LIBS@ -lXaw -lXmu -lXt -lXext -lX11
+
+BUILT_SOURCES = parser.h
+AM_YFLAGS = -d
+
+XDOCS = \
+       README.xboard \
+       BUGS
+dist_xdoc_DATA = @XDOCS@
+EXTRA_DATA = $(XDOCS)
+
+dist_noinst_DATA = \
+       REMOTEHOSTS
+
+noinst_HEADERS = \
+       bitmaps.h \
+       sysdeps.h \
+       xshogi.h \
+       xshogifn.h \
+       \
+       eastern_bitmaps/bigblank.xbm \
+       eastern_bitmaps/bigblankR.xbm \
+       eastern_bitmaps/biglight.xbm \
+       eastern_bitmaps/bigsolid.xbm \
+       eastern_bitmaps/bigsolidR.xbm \
+       eastern_bitmaps/bigsolidR_l.xbm \
+       eastern_bitmaps/bigsolidR_m.xbm \
+       eastern_bitmaps/bigsolid_l.xbm \
+       eastern_bitmaps/bigsolid_m.xbm \
+       eastern_bitmaps/bishop.xbm \
+       eastern_bitmaps/bishopP.top.xbm \
+       eastern_bitmaps/bishopP.xbm \
+       eastern_bitmaps/bishopPR.top.xbm \
+       eastern_bitmaps/bishopPR.xbm \
+       eastern_bitmaps/bishopPR_l.top.xbm \
+       eastern_bitmaps/bishopPR_l.xbm \
+       eastern_bitmaps/bishopPR_m.top.xbm \
+       eastern_bitmaps/bishopPR_m.xbm \
+       eastern_bitmaps/bishopP_l.top.xbm \
+       eastern_bitmaps/bishopP_l.xbm \
+       eastern_bitmaps/bishopP_m.top.xbm \
+       eastern_bitmaps/bishopP_m.xbm \
+       eastern_bitmaps/bishopR.xbm \
+       eastern_bitmaps/bishopR_l.xbm \
+       eastern_bitmaps/bishopR_m.xbm \
+       eastern_bitmaps/bishop_l.xbm \
+       eastern_bitmaps/bishop_m.xbm \
+       eastern_bitmaps/gold.xbm \
+       eastern_bitmaps/goldR.xbm \
+       eastern_bitmaps/goldR_l.xbm \
+       eastern_bitmaps/goldR_m.xbm \
+       eastern_bitmaps/gold_l.xbm \
+       eastern_bitmaps/gold_m.xbm \
+       eastern_bitmaps/icon.xbm \
+       eastern_bitmaps/king.xbm \
+       eastern_bitmaps/kingR.xbm \
+       eastern_bitmaps/kingR_l.xbm \
+       eastern_bitmaps/kingR_m.xbm \
+       eastern_bitmaps/king_l.xbm \
+       eastern_bitmaps/king_m.xbm \
+       eastern_bitmaps/knight.xbm \
+       eastern_bitmaps/knightP.xbm \
+       eastern_bitmaps/knightPR.xbm \
+       eastern_bitmaps/knightPR_l.xbm \
+       eastern_bitmaps/knightPR_m.xbm \
+       eastern_bitmaps/knightP_l.xbm \
+       eastern_bitmaps/knightP_m.xbm \
+       eastern_bitmaps/knightR.xbm \
+       eastern_bitmaps/knightR_l.xbm \
+       eastern_bitmaps/knightR_m.xbm \
+       eastern_bitmaps/knight_l.xbm \
+       eastern_bitmaps/knight_m.xbm \
+       eastern_bitmaps/lance.xbm \
+       eastern_bitmaps/lanceP.xbm \
+       eastern_bitmaps/lancePR.xbm \
+       eastern_bitmaps/lancePR_l.xbm \
+       eastern_bitmaps/lancePR_m.xbm \
+       eastern_bitmaps/lanceP_l.xbm \
+       eastern_bitmaps/lanceP_m.xbm \
+       eastern_bitmaps/lanceR.xbm \
+       eastern_bitmaps/lanceR_l.xbm \
+       eastern_bitmaps/lanceR_m.xbm \
+       eastern_bitmaps/lance_l.xbm \
+       eastern_bitmaps/lance_m.xbm \
+       eastern_bitmaps/none.xbm \
+       eastern_bitmaps/none_l.xbm \
+       eastern_bitmaps/none_m.xbm \
+       eastern_bitmaps/pawn.xbm \
+       eastern_bitmaps/pawnP.xbm \
+       eastern_bitmaps/pawnPR.xbm \
+       eastern_bitmaps/pawnPR_l.xbm \
+       eastern_bitmaps/pawnPR_m.xbm \
+       eastern_bitmaps/pawnP_l.xbm \
+       eastern_bitmaps/pawnP_m.xbm \
+       eastern_bitmaps/pawnR.xbm \
+       eastern_bitmaps/pawnR_l.xbm \
+       eastern_bitmaps/pawnR_m.xbm \
+       eastern_bitmaps/pawn_l.xbm \
+       eastern_bitmaps/pawn_m.xbm \
+       eastern_bitmaps/rook.xbm \
+       eastern_bitmaps/rookP.top.xbm \
+       eastern_bitmaps/rookP.xbm \
+       eastern_bitmaps/rookPR.top.xbm \
+       eastern_bitmaps/rookPR.xbm \
+       eastern_bitmaps/rookPR_l.top.xbm \
+       eastern_bitmaps/rookPR_l.xbm \
+       eastern_bitmaps/rookPR_m.top.xbm \
+       eastern_bitmaps/rookPR_m.xbm \
+       eastern_bitmaps/rookP_l.top.xbm \
+       eastern_bitmaps/rookP_l.xbm \
+       eastern_bitmaps/rookP_m.top.xbm \
+       eastern_bitmaps/rookP_m.xbm \
+       eastern_bitmaps/rookR.xbm \
+       eastern_bitmaps/rookR_l.xbm \
+       eastern_bitmaps/rookR_m.xbm \
+       eastern_bitmaps/rook_l.xbm \
+       eastern_bitmaps/rook_m.xbm \
+       eastern_bitmaps/silver.xbm \
+       eastern_bitmaps/silverP.xbm \
+       eastern_bitmaps/silverPR.xbm \
+       eastern_bitmaps/silverPR_l.xbm \
+       eastern_bitmaps/silverPR_m.xbm \
+       eastern_bitmaps/silverP_l.xbm \
+       eastern_bitmaps/silverP_m.xbm \
+       eastern_bitmaps/silverR.xbm \
+       eastern_bitmaps/silverR_l.xbm \
+       eastern_bitmaps/silverR_m.xbm \
+       eastern_bitmaps/silver_l.xbm \
+       eastern_bitmaps/silver_m.xbm \
+       eastern_bitmaps/smallblank.xbm \
+       eastern_bitmaps/smallblankR.xbm \
+       eastern_bitmaps/smalllight.xbm \
+       eastern_bitmaps/smallsolid.xbm \
+       eastern_bitmaps/smallsolidR.xbm \
+       eastern_bitmaps/smallsolidR_l.xbm \
+       eastern_bitmaps/smallsolidR_m.xbm \
+       eastern_bitmaps/smallsolid_l.xbm \
+       eastern_bitmaps/smallsolid_m.xbm \
+       \
+       western_bitmaps/bishopPRW.xbm \
+       western_bitmaps/bishopPW.xbm \
+       western_bitmaps/bishopRW.xbm \
+       western_bitmaps/bishopW.xbm \
+       western_bitmaps/goldRW.xbm \
+       western_bitmaps/goldW.xbm \
+       western_bitmaps/kingRW.xbm \
+       western_bitmaps/kingW.xbm \
+       western_bitmaps/knightPRW.xbm \
+       western_bitmaps/knightPW.xbm \
+       western_bitmaps/knightRW.xbm \
+       western_bitmaps/knightW.xbm \
+       western_bitmaps/lancePRW.xbm \
+       western_bitmaps/lancePW.xbm \
+       western_bitmaps/lanceRW.xbm \
+       western_bitmaps/lanceW.xbm \
+       western_bitmaps/noneW.xbm \
+       western_bitmaps/pawnPRW.xbm \
+       western_bitmaps/pawnPW.xbm \
+       western_bitmaps/pawnRW.xbm \
+       western_bitmaps/pawnW.xbm \
+       western_bitmaps/rookPRW.xbm \
+       western_bitmaps/rookPW.xbm \
+       western_bitmaps/rookRW.xbm \
+       western_bitmaps/rookW.xbm \
+       western_bitmaps/silverPRW.xbm \
+       western_bitmaps/silverPW.xbm \
+       western_bitmaps/silverRW.xbm \
+       western_bitmaps/silverW.xbm \
+        \
+       new_eastern_bitmaps/bigsolidR_l.xbm \
+       new_eastern_bitmaps/bigsolid_l.xbm \
+       new_eastern_bitmaps/bishopPR_l.xbm \
+       new_eastern_bitmaps/bishopP_l.xbm \
+       new_eastern_bitmaps/bishopR_l.xbm \
+       new_eastern_bitmaps/bishop_l.xbm \
+       new_eastern_bitmaps/goldR_l.xbm \
+       new_eastern_bitmaps/gold_l.xbm \
+       new_eastern_bitmaps/kingR_l.xbm \
+       new_eastern_bitmaps/king_l.xbm \
+       new_eastern_bitmaps/knightPR_l.xbm \
+       new_eastern_bitmaps/knightP_l.xbm \
+       new_eastern_bitmaps/knightR_l.xbm \
+       new_eastern_bitmaps/knight_l.xbm \
+       new_eastern_bitmaps/lancePR_l.xbm \
+       new_eastern_bitmaps/lanceP_l.xbm \
+       new_eastern_bitmaps/lanceR_l.xbm \
+       new_eastern_bitmaps/lance_l.xbm \
+       new_eastern_bitmaps/none_l.xbm \
+       new_eastern_bitmaps/pawnPR_l.xbm \
+       new_eastern_bitmaps/pawnP_l.xbm \
+       new_eastern_bitmaps/pawnR_l.xbm \
+       new_eastern_bitmaps/pawn_l.xbm \
+       new_eastern_bitmaps/rookPR_l.xbm \
+       new_eastern_bitmaps/rookP_l.xbm \
+       new_eastern_bitmaps/rookR_l.xbm \
+       new_eastern_bitmaps/rook_l.xbm \
+       new_eastern_bitmaps/silverPR_l.xbm \
+       new_eastern_bitmaps/silverP_l.xbm \
+       new_eastern_bitmaps/silverR_l.xbm \
+       new_eastern_bitmaps/silver_l.xbm \
+       new_eastern_bitmaps/smallsolidR_l.xbm \
+       new_eastern_bitmaps/smallsolid_l.xbm \
+       \
+       new_western_bitmaps/bishopPRW.xbm \
+       new_western_bitmaps/bishopPW.xbm \
+       new_western_bitmaps/bishopRW.xbm \
+       new_western_bitmaps/bishopW.xbm \
+       new_western_bitmaps/goldRW.xbm \
+       new_western_bitmaps/goldW.xbm \
+       new_western_bitmaps/kingRW.xbm \
+       new_western_bitmaps/kingW.xbm \
+       new_western_bitmaps/knightPRW.xbm \
+       new_western_bitmaps/knightPW.xbm \
+       new_western_bitmaps/knightRW.xbm \
+       new_western_bitmaps/knightW.xbm \
+       new_western_bitmaps/lancePRW.xbm \
+       new_western_bitmaps/lancePW.xbm \
+       new_western_bitmaps/lanceRW.xbm \
+       new_western_bitmaps/lanceW.xbm \
+       new_western_bitmaps/noneW.xbm \
+       new_western_bitmaps/pawnPRW.xbm \
+       new_western_bitmaps/pawnPW.xbm \
+       new_western_bitmaps/pawnRW.xbm \
+       new_western_bitmaps/pawnW.xbm \
+       new_western_bitmaps/rookPRW.xbm \
+       new_western_bitmaps/rookPW.xbm \
+       new_western_bitmaps/rookRW.xbm \
+       new_western_bitmaps/rookW.xbm \
+       new_western_bitmaps/silverPRW.xbm \
+       new_western_bitmaps/silverPW.xbm \
+       new_western_bitmaps/silverRW.xbm \
+       new_western_bitmaps/silverW.xbm
diff --git a/xshogi/Makefile.in b/xshogi/Makefile.in
deleted file mode 100644 (file)
index 3100f2d..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-#
-# Makefile for XShogi, part of GNU shogi.
-#
-# Copyright (c) 1993 Matthias Mutz
-# Copyright (c) 1998, 1999 Michael C. Vanier and the Free Software Foundation
-#
-# XShogi 1.1 is based on XBoard 2.0
-# Copyright (c) 1992 Free Software Foundation
-#
-# This file is part of XShogi.
-#
-# XShogi 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 1, or (at your option)
-# any later version.
-#
-# XShogi 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 XShogi; see the file COPYING.  If not, write to
-# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-
-#
-# xshogi is the X Windows-based user interface for GNU Shogi.
-#
-
-SHELL           = /bin/sh
-INSTALL         = @INSTALL@
-INSTALL_DATA    = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-ROOT            = @top_srcdir@
-SRCDIR         = @srcdir@
-
-VPATH=$(SRCDIR)
-
-
-#
-# Installation directories.
-#
-
-prefix  = @prefix@
-BINDIR  = $(prefix)/bin
-MANDIR  = $(prefix)/man/man6
-
-
-#
-# Parser generator.
-#
-
-LEX    =   @LEX@
-YACC   =   @YACC@
-
-
-#
-# C compiler and compiler options.
-#
-
-CC          = @CC@
-XINCLUDES   = @X_CFLAGS@
-CWARNINGS   = @WARNINGS@
-CEXTRAFLAGS = @CEXTRAFLAGS@
-CFLAGS      = @CFLAGS@ $(CEXTRAFLAGS) $(XINCLUDES) -I$(ROOT) -I@top_builddir@
-LIBS        =
-XLIBS       = @X_LIBS@ -lXaw -lXmu -lXt -lXext -lX11
-LDFLAGS     = @LDFLAGS@ $(XLIBS) $(LIBS)
-
-
-OPT                   = @OPT@
-FIRST_SHOGI_PROGRAM   = -DFIRST_SHOGI_PROGRAM=\"@FIRST_SHOGI_PROGRAM@\"
-SECOND_SHOGI_PROGRAM  = -DSECOND_SHOGI_PROGRAM=\"@SECOND_SHOGI_PROGRAM@\"
-FIRST_HOST            = -DFIRST_HOST=\"@FIRST_HOST@\"
-SECOND_HOST           = -DSECOND_HOST=\"@SECOND_HOST@\"
-
-
-#
-# Targets.
-#
-
-all: xshogi
-
-xshogi: 
-       $(CC) -o xshogi xshogi.o parser.o scanner.o $(CFLAGS) $(LDFLAGS) 
-
-xshogi.o: xshogi.c
-       $(CC) -c $< $(CWARNINGS) $(CFLAGS) \
-        $(OPT) $(FIRST_SHOGI_PROGRAM) $(SECOND_SHOGI_PROGRAM) \
-        $(FIRST_HOST) $(SECOND_HOST) 
-
-
-#
-# Regenerate the parser.  NOTE: scanner.c is never compiled; it
-# is #included into parser.y.
-#
-
-parser.o: parser.c
-       $(CC) $(CFLAGS) -I$(SRCDIR) -c $<
-scanner.o: scanner.c parser.h
-       $(CC) $(CFLAGS) -I$(SRCDIR) -c $<
-
-parser.c parser.h: parser.y
-       $(YACC) -d $<
-       mv y.tab.c parser.c
-       mv y.tab.h parser.h
-
-scanner.c: scanner.l
-       $(LEX) $<
-       mv lex.yy.c scanner.c
-
-
-#
-# Sources.
-#
-
-SOURCES = xshogi.c 
-
-
-#
-# Installation.
-#
-
-install: xshogi
-       strip xshogi
-       $(INSTALL_PROGRAM) -d $(BINDIR)
-       $(INSTALL_PROGRAM) -d $(MANDIR)
-       $(INSTALL_PROGRAM) xshogi $(BINDIR)
-       $(INSTALL_DATA)    $(ROOT)/doc/xshogi.6 $(MANDIR)
-
-
-#
-# Cleanup.
-#
-
-CLEANFILES = xshogi *.o parser.c y.tab.c scanner.c lex.yy.c
-
-clean:
-       for file in $(CLEANFILES); do \
-    if [ -f $$file ]; then rm $$file; fi; \
-       done
-
-
-#
-# Dependencies.
-#
-
-xshogi:     xshogi.o parser.o scanner.o
-xshogi.o:   xshogi.c $(SRCDIR)/sysdeps.h $(SRCDIR)/xshogi.h $(SRCDIR)/bitmaps.h ../config.h
-parser.o:   parser.c $(SRCDIR)/xshogi.h
-parser.c:   parser.y scanner.c
-scanner.c:  scanner.l
-