
1: # Top Makefle for Gauche 2: # $Id: Makefile.in,v 1.63 2007/10/29 22:32:18 shirok Exp $ 3: # Run 'configure' script to generate Makefile 4: 5: .PHONY: all test check pre-package install uninstall \ 6: clean distclean maintainer-clean install-check 7: 8: @SET_MAKE@ 9: SHELL = @SHELL@ 10: prefix = @prefix@ 11: exec_prefix = @exec_prefix@ 12: bindir = @bindir@ 13: libdir = @libdir@ 14: srcdir = @srcdir@ 15: datadir = @datadir@ 16: datarootdir = @datarootdir@ 17: 18: SUBDIRS = gc src lib ext doc 19: SRIDBUS = doc ext lib src gc 20: MKINSTDIR = @top_srcdir@/mkinstalldirs 21: INSTALL = @INSTALL@ 22: GAUCHE_VERSION = @GAUCHE_VERSION@ 23: GAUCHE_DATA_DIR = $(datadir)/gauche 24: GAUCHE_ACLOCAL_DIR = $(datadir)/gauche/$(GAUCHE_VERSION)/ 25: DESTDIR = 26: 27: GOSH = gosh 28: 29: CONFIG_GENERATED = Makefile config.cache config.log config.status config.threads \ 30: libtool configure.lineno autom4* gc/autom4* 31: AUTOCONF_GENERATED = $(CONFIG_GENERATED) configure 32: 33: TESTRECORD = ./test.record 34: 35: all: 36: for d in $(SUBDIRS); do (cd $$d; $(MAKE) all); done 37: 38: test : check 39: 40: check: all 41: @rm -f $(TESTRECORD) 42: for d in $(SUBDIRS); do (cd $$d; $(MAKE) check); done 43: @cat $(TESTRECORD) 44: 45: install-check: 46: @echo "Testing installed Gauche" 47: @rm -rf test.log 48: @(cd src; $(MAKE) install-check) >> test.log 49: @(cd ext; $(MAKE) install-check) >> test.log 50: 51: # pre-package target should be run before creating distribution tarball. 52: # it generates files that requires pre-installed gosh. 53: # the check of INSTALL.in is necessary for making pre-package target from 54: # distribution tarball (in case for preprocessing winvc source tree). 55: pre-package: 56: cd src; $(MAKE) GOSH=$(GOSH) pre-package 57: cd ext; $(MAKE) GOSH=$(GOSH) pre-package 58: cd doc; $(MAKE) GOSH=$(GOSH) pre-package 59: if [ -f INSTALL.in ]; then \ 60: $(GOSH) doc/extract -en -o INSTALL INSTALL.in; \ 61: $(GOSH) doc/extract -jp -o INSTALL.eucjp INSTALL.in; \ 62: fi 63: 64: # pre-package-ext pre-generates autogenerated files under ext/. 65: # On unix they can be generated during build. On Windows it is real pain 66: # to do so, thus we pre-generate them. 67: pre-package-ext: pre-package 68: cd ext; $(MAKE) GOSH=$(GOSH) GAUCHE_CONFIG=$(GAUCHE_CONFIG) pre-package-ext 69: 70: install: install-pkg install-doc 71: cd lib; $(MAKE) slibcat 72: 73: install-doc: 74: cd doc; $(MAKE) install 75: 76: # it is important to install lib and ext _before_ src, since they 77: # depend on gosh's rpath to point a valid version of libgauche.so. 78: install-pkg: 79: cd lib; $(MAKE) install 80: cd ext; $(MAKE) install 81: cd src; $(MAKE) install 82: $(INSTALL) -m 444 m4/gauche.m4 $(DESTDIR)$(GAUCHE_ACLOCAL_DIR)/aclocal.m4 83: $(MKINSTDIR) $(DESTDIR)$(datadir)/aclocal 84: $(INSTALL) -m 444 m4/gauche.m4 $(DESTDIR)$(datadir)/aclocal/gauche.m4 85: 86: slibcat-in-place: 87: cd lib; $(MAKE) slibcat-in-place 88: 89: uninstall: 90: for d in $(SUBDIRS); do (cd $$d; $(MAKE) uninstall); done 91: rm -f $(datadir)/aclocal/gauche.m4 92: 93: # Cleaning --------------------------------------------- 94: 95: clean: 96: rm -rf test.log test.record core Gauche.framework *~ 97: for d in $(SRIDBUS); do (cd $$d; $(MAKE) clean); done 98: 99: distclean: clean 100: for d in $(SRIDBUS); do (cd $$d; $(MAKE) distclean); done 101: (cd winnt; $(MAKE) clean) 102: rm -rf $(CONFIG_GENERATED) 103: 104: maintainer-clean: clean 105: for d in $(SRIDBUS); do (cd $$d; $(MAKE) maintainer-clean); done 106: (cd winnt; $(MAKE) clean) 107: rm -rf $(AUTOCONF_GENERATED) VERSION INSTALL INSTALL.eucjp DIST_EXCLUDE_X gc/configure 108: 109: # MacOSX Framework specific stuff 110: framework: all 111: ./framework.sh $(GAUCHE_VERSION) 112: 113: # Other dummy targets ------------------------------------------- 114: 115: dist: 116: @echo "To create a distribution tarball, use DIST script." 117: 118: distcheck: 119: @echo "To create a distribution tarball, use DIST script."