# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#
-VERSION = 1.3.2
-GNUSHOGIDIR = ./gnushogi
-XSHOGIDIR = ./xshogi
+ROOT = @top_srcdir@
+BUILDROOT = @top_builddir@
+GNUSHOGIDIR = $(BUILDROOT)/gnushogi
+XSHOGIDIR = $(BUILDROOT)/xshogi
+
+PROGNAME = @PROGNAME@
#
# Default targets.
#
-all : gnushogi_compile pat2inc gnushogi.bbk @XSHOGI@
+all : gnushogi_compile pat2inc 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
xshogi_compile:
- -cd $(XSHOGIDIR); $(MAKE)
+ -cd $(XSHOGIDIR) && $(MAKE)
+
+bbk:
+ -cd $(GNUSHOGIDIR) && $(MAKE) $(PROGNAME).bbk
+
-gnushogi.bbk:
- -cd $(GNUSHOGIDIR); $(MAKE) gnushogi.bbk
+#
+# Alien target architectures
+#
+win32/Makefile: misc/mkmakefile.mingw-on-cygwin
+ $<
#
# Installation.
install: gnushogi_install @XSHOGIINSTALL@
gnushogi_install:
- -cd $(GNUSHOGIDIR); $(MAKE) install
+ -cd $(GNUSHOGIDIR) && $(MAKE) install
xshogi_install: $(XSHOGIDIR)/xshogi
- -cd $(XSHOGIDIR); $(MAKE) install
+ -cd $(XSHOGIDIR) && $(MAKE) install
clean: gnushogi_clean @XSHOGICLEAN@ doc_clean
gnushogi_clean:
- cd $(GNUSHOGIDIR); $(MAKE) clean
+ cd $(GNUSHOGIDIR) && $(MAKE) clean
xshogi_clean:
- cd $(XSHOGIDIR); $(MAKE) clean
+ cd $(XSHOGIDIR) && $(MAKE) clean
doc_clean:
- cd doc; $(MAKE) clean
+ cd $(BUILDROOT)/doc && $(MAKE) clean
#
$(MAKE) maintainerclean
rm -rf $(DISTNAME)
mkdir $(DISTNAME)
- tar -cf - --exclude .git . | (cd $(DISTNAME) && tar -xf -)
- cd $(DISTNAME) && ./autogen.sh && ./configure
+ 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 distclean
+ cd $(DISTNAME) && $(MAKE) win32/Makefile
+ cd $(DISTNAME) && $(MAKE) distclean
tar -zcf $(DISTNAME).tar.gz $(DISTNAME)
#
distclean: clean
rm -rf $(DISTCLEANFILES)
- cd doc; $(MAKE) distclean
+ find -name '*~' | xargs rm -f
+ cd $(BUILDROOT)/doc && $(MAKE) distclean
#
# Extra cleanup, for the maintainer only.
#
-MAINTAINERCLEANFILES = configure config.h.in
+MAINTAINERCLEANFILES = configure config.h.in win32/Makefile
maintainerclean: distclean
rm -f $(MAINTAINERCLEANFILES)
- cd doc; $(MAKE) maintainerclean
+ cd $(BUILDROOT)/doc && $(MAKE) maintainerclean