EditBoard: resync Curses implementation with the Raw one.
[gnushogi.git] / Makefile.in
index cab7a06..638a3e6 100644 (file)
@@ -1,8 +1,9 @@
 #
-# 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
 
 
 #
@@ -39,32 +43,33 @@ all : gnushogi_compile pat2inc gnushogi.bbk @XSHOGI@
 #
 
 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
 
 
 
@@ -72,37 +77,52 @@ xshogi_install: $(XSHOGIDIR)/xshogi
 # 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