#
-# Makefile for GNU Shogi and xshogi
+# Makefile for GNU Shogi
#
# Copyright (c) 1993, 1994 Matthias Mutz
# Copyright (c) 1998, 1999 Michael Vanier and the Free Software Foundation
+# Copyright (c) 2008, 2013, 2014 Yann Dirson and the Free Software Foundation
#
# GNU Shogi is based on GNU Chess
# Copyright (c) 1992 Free Software Foundation
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#
-GNUSHOGIDIR = ./gnushogi
-XSHOGIDIR = ./xshogi
+ROOT = @top_srcdir@
+BUILDROOT = @top_builddir@
+GNUSHOGIDIR = $(BUILDROOT)/gnushogi
+
+PROGNAME = @PROGNAME@
#
# Default targets.
#
-all : gnushogi_compile pat2inc gnushogi.bbk @XSHOGI@
+all : gnushogi_compile pat2inc bbk
#
#
gnushogi_compile:
- -cd $(GNUSHOGIDIR); $(MAKE) gnushogi
+ -cd $(GNUSHOGIDIR) && $(MAKE) $(PROGNAME)
pat2inc:
- -cd $(GNUSHOGIDIR); $(MAKE) pat2inc
+ -cd $(GNUSHOGIDIR) && $(MAKE) pat2inc
sizetest:
- -cd $(GNUSHOGIDIR); $(MAKE) sizetest
+ -cd $(GNUSHOGIDIR) && $(MAKE) sizetest
+
+bbk:
+ -cd $(GNUSHOGIDIR) && $(MAKE) $(PROGNAME).bbk
-xshogi_compile:
- -cd $(XSHOGIDIR); $(MAKE)
-gnushogi.bbk:
- -cd $(GNUSHOGIDIR); $(MAKE) gnushogi.bbk
+#
+# Alien target architectures
+#
+win32/Makefile: misc/mkmakefile.mingw-on-cygwin
+ $<
#
# Installation.
#
-install: gnushogi_install @XSHOGIINSTALL@
+install: gnushogi_install
gnushogi_install:
- -cd $(GNUSHOGIDIR); $(MAKE) install
-
-xshogi_install: $(XSHOGIDIR)/xshogi
- -cd $(XSHOGIDIR); $(MAKE) install
+ -cd $(GNUSHOGIDIR) && $(MAKE) install
# Cleanup.
#
-clean: gnushogi_clean @XSHOGICLEAN@
+clean: gnushogi_clean doc_clean
gnushogi_clean:
- cd $(GNUSHOGIDIR); $(MAKE) clean
+ cd $(GNUSHOGIDIR) && $(MAKE) clean
+
+doc_clean:
+ cd $(BUILDROOT)/doc && $(MAKE) clean
-xshogi_clean:
- cd $(XSHOGIDIR); $(MAKE) clean
+#
+# Building a distribution.
+#
+
+DISTNAME = @PACKAGE_TARNAME@-@PACKAGE_VERSION@
+
+dist:
+ $(MAKE) maintainerclean
+ rm -rf $(DISTNAME)
+ mkdir $(DISTNAME)
+ tar -cf - --exclude .git --exclude $(DISTNAME) $(ROOT) | (cd $(DISTNAME) && tar -xf -)
+ cd $(DISTNAME) && $(ROOT)/autogen.sh && $(ROOT)/configure
+ cd $(DISTNAME)/doc && $(MAKE) info
+ cd $(DISTNAME) && $(MAKE) win32/Makefile
+ cd $(DISTNAME) && $(MAKE) distclean
+ tar -zcf $(DISTNAME).tar.gz $(DISTNAME)
#
# Return to a pristine pre-configuration state.
#
DISTCLEANFILES = \
- config.cache config.log config.status config.h \
- Makefile $(GNUSHOGIDIR)/Makefile $(XSHOGIDIR)/Makefile
+ config.cache config.log config.status config.h Makefile \
+ $(GNUSHOGIDIR)/Makefile $(GNUSHOGIDIR)/Makefile.profile \
+ autom4te.cache
distclean: clean
- for file in $(DISTCLEANFILES); do \
- if [ -f $$file ]; then rm $$file; fi; \
- done
-
+ rm -rf $(DISTCLEANFILES)
+ find -name '*~' | xargs rm -f
+ cd $(BUILDROOT)/doc && $(MAKE) distclean
#
-# Extra cleanup, for the maintainer only :-)
+# Extra cleanup, for the maintainer only.
#
-MAINTAINERCLEANFILES = configure config.h.in doc/gnushogi.info
+MAINTAINERCLEANFILES = configure config.h.in win32/Makefile
maintainerclean: distclean
- for file in $(MAINTAINERCLEANFILES); do \
- if [ -f $$file ]; then rm $$file; fi; \
- done
-
+ rm -f $(MAINTAINERCLEANFILES)
+ cd $(BUILDROOT)/doc && $(MAKE) maintainerclean