| ####################################################################### |
| # $Header$ |
| ####################################################################### |
| |
| prefix = @prefix@ |
| exec_prefix = @exec_prefix@ |
| srcdir = @srcdir@ |
| |
| ############################################################################## |
| # Compiler and system configuration |
| ############################################################################## |
| |
| SHELL = /bin/sh |
| SWIG_LIB = @swig_lib@ |
| BIN_DIR = @bindir@ |
| TARGET = swig@release_suffix@@EXEEXT@ |
| SOURCE = Source |
| |
| swig: source |
| |
| source: |
| @cd $(SOURCE) && $(MAKE) |
| |
| .PHONY: source |
| |
| ##################################################################### |
| # All the languages SWIG speaks (when it wants to) |
| ##################################################################### |
| |
| skip-tcl = test -n "@SKIP_TCL@" |
| skip-perl5 = test -n "@SKIP_PERL5@" |
| skip-python = test -n "@SKIP_PYTHON@" |
| skip-java = test -n "@SKIP_JAVA@" |
| skip-guilescm = test -n "@SKIP_GUILESCM@" |
| skip-guile = test -n "@SKIP_GUILE@" |
| skip-mzscheme = test -n "@SKIP_MZSCHEME@" |
| skip-ruby = test -n "@SKIP_RUBY@" |
| skip-php4 = test -n "@SKIP_PHP4@" |
| skip-ocaml = test -n "@SKIP_OCAML@" |
| skip-pike = test -n "@SKIP_PIKE@" |
| skip-chicken = test -n "@SKIP_CHICKEN@" |
| skip-csharp = test -n "@SKIP_CSHARP@" |
| skip-modula3 = test -n "@SKIP_MODULA3@" |
| skip-lua = test -n "@SKIP_LUA@" |
| |
| ##################################################################### |
| # CHECK |
| ##################################################################### |
| |
| ACTION = check |
| |
| chk-set-swiglib = SWIG_LIB=@ROOT_DIR@/Lib |
| chk-set-swig = SWIG=@ROOT_DIR@/$(TARGET) |
| chk-set-env = $(chk-set-swiglib) $(chk-set-swig) |
| |
| chk = $(MAKE) -k -s $(chk-set-env) $(ACTION) |
| |
| check-aliveness: |
| test -x ./$(TARGET) |
| ./$(TARGET) -version |
| ./$(TARGET) -help |
| @$(skip-tcl) || ./$(TARGET) -tcl -help |
| @$(skip-perl5) || ./$(TARGET) -perl -help |
| @$(skip-python) || ./$(TARGET) -python -help |
| @$(skip-java) || ./$(TARGET) -java -help |
| @$(skip-guile) || ./$(TARGET) -guile -help |
| @$(skip-mzscheme) || ./$(TARGET) -mzscheme -help |
| @$(skip-ruby) || ./$(TARGET) -ruby -help |
| @$(skip-ocaml) || ./$(TARGET) -ocaml -help |
| @$(skip-php4) || ./$(TARGET) -php4 -help |
| @$(skip-pike) || ./$(TARGET) -pike -help |
| @$(skip-chicken) || ./$(TARGET) -chicken -help |
| @$(skip-csharp) || ./$(TARGET) -csharp -help |
| @$(skip-modula3) || ./$(TARGET) -modula3 -help |
| @$(skip-lua) || ./$(TARGET) -lua -help |
| |
| check-examples: \ |
| check-tcl-examples \ |
| check-perl5-examples \ |
| check-python-examples \ |
| check-java-examples \ |
| check-guile-examples \ |
| check-mzscheme-examples \ |
| check-ruby-examples \ |
| check-ocaml-examples \ |
| check-php4-examples \ |
| check-pike-examples \ |
| check-chicken-examples \ |
| check-csharp-examples \ |
| check-modula3-examples \ |
| check-lua-examples |
| |
| check-%-examples: |
| @passed=true; \ |
| dir="Examples/$*"; \ |
| if $(skip-$*); then \ |
| echo skipping $* $(ACTION); \ |
| elif [ ! -f $$dir/check.list ]; then \ |
| echo skipping $* $(ACTION) "(no $$dir/check.list)"; \ |
| else \ |
| all=`sed '/^#/d' $$dir/check.list`; \ |
| for a in $$all; do \ |
| echo $(ACTION)ing $$dir/$$a; \ |
| (cd $$dir/$$a && $(chk)) \ |
| || passed=false; \ |
| done; \ |
| fi; \ |
| test $$passed = true |
| |
| # Checks testcases in the test-suite excluding those which are known to be broken |
| check-test-suite: \ |
| check-tcl-test-suite \ |
| check-perl5-test-suite \ |
| check-python-test-suite \ |
| check-java-test-suite \ |
| check-guilescm-test-suite \ |
| check-guile-test-suite \ |
| check-mzscheme-test-suite \ |
| check-ruby-test-suite \ |
| check-ocaml-test-suite \ |
| check-php4-test-suite \ |
| check-pike-test-suite \ |
| check-csharp-test-suite \ |
| check-modula3-test-suite \ |
| check-lua-test-suite \ |
| # check-chicken-test-suite |
| |
| check-%-test-suite: |
| @passed=true; \ |
| dir="Examples/test-suite/$*"; \ |
| if $(skip-$*); then \ |
| echo skipping $* test-suite $(ACTION); \ |
| elif [ ! -d $$dir ]; then \ |
| echo warning: cannot $(ACTION) $* test-suite "(no dir $$dir)";\ |
| else \ |
| (cd $$dir && $(MAKE) -k -s $(ACTION)) \ |
| || passed=false; \ |
| fi; \ |
| test $$passed = true |
| |
| gifplot-library: |
| @echo $(ACTION)ing Examples/GIFPlot/Lib |
| @cd Examples/GIFPlot/Lib && $(MAKE) -k -s $(ACTION) |
| |
| check-gifplot: \ |
| check-tcl-gifplot \ |
| check-perl5-gifplot \ |
| check-python-gifplot \ |
| check-java-gifplot \ |
| check-guile-gifplot \ |
| check-mzscheme-gifplot \ |
| check-ruby-gifplot \ |
| check-ocaml-gifplot \ |
| check-php4-gifplot \ |
| check-pike-gifplot \ |
| check-chicken-gifplot \ |
| # check-lua-gifplot \ |
| # check-csharp-gifplot \ |
| # check-modula3-gifplot |
| |
| check-%-gifplot: gifplot-library |
| @passed=true; \ |
| up=`$(srcdir)/Tools/capitalize $*`; \ |
| dir="Examples/GIFPlot/$$up"; \ |
| if $(skip-$*); then \ |
| echo skipping $$up $(ACTION); \ |
| elif [ ! -f $$dir/check.list ]; then \ |
| echo skipping $$up $(ACTION) "(no $$dir/check.list)"; \ |
| else \ |
| all=`sed '/^#/d' $$dir/check.list`; \ |
| for a in $$all; do \ |
| echo $(ACTION)ing $$dir/$$a; \ |
| (cd $$dir/$$a && $(chk)) \ |
| || passed=false; \ |
| done; \ |
| fi; \ |
| test $$passed = true |
| |
| check: check-aliveness check-examples check-gifplot check-test-suite |
| |
| ##################################################################### |
| # ALL TEST SUITE: Known broken and broken testcases in the test-suite |
| ##################################################################### |
| |
| all-test-suite: \ |
| all-tcl-test-suite \ |
| all-perl5-test-suite \ |
| all-python-test-suite \ |
| all-java-test-suite \ |
| all-guilescm-test-suite \ |
| all-guile-test-suite \ |
| all-mzscheme-test-suite \ |
| all-ruby-test-suite \ |
| all-ocaml-test-suite \ |
| all-php4-test-suite \ |
| all-pike-test-suite \ |
| all-csharp-test-suite \ |
| all-modula3-test-suite \ |
| all-lua-test-suite \ |
| # all-chicken-test-suite |
| |
| all-%-test-suite: |
| @$(MAKE) -k -s check-$*-test-suite ACTION=all |
| |
| ##################################################################### |
| # BROKEN: Known broken tests in the test-suite |
| ##################################################################### |
| |
| broken-test-suite: \ |
| broken-tcl-test-suite \ |
| broken-perl5-test-suite \ |
| broken-python-test-suite \ |
| broken-java-test-suite \ |
| broken-guilescm-test-suite \ |
| broken-guile-test-suite \ |
| broken-mzscheme-test-suite \ |
| broken-ruby-test-suite \ |
| broken-ocaml-test-suite \ |
| broken-php4-test-suite \ |
| broken-pike-test-suite \ |
| broken-csharp-test-suite \ |
| broken-modula3-test-suite \ |
| broken-lua-test-suite \ |
| # broken-chicken-test-suite |
| |
| broken-%-test-suite: |
| @$(MAKE) -k -s check-$*-test-suite ACTION=broken |
| |
| ##################################################################### |
| # CLEAN |
| ##################################################################### |
| |
| clean: clean-objects clean-examples clean-gifplot clean-test-suite |
| |
| clean-objects: clean-source |
| |
| clean-source: |
| @echo cleaning Source |
| @cd $(SOURCE) && $(MAKE) -s clean |
| @rm -f $(TARGET) |
| |
| clean-examples: |
| @$(MAKE) -k -s check-examples ACTION=clean |
| |
| clean-gifplot: |
| @$(MAKE) -k -s check-gifplot ACTION=clean |
| |
| clean-test-suite: |
| @echo cleaning Examples/test-suite |
| @$(MAKE) -k -s check-test-suite ACTION=clean |
| |
| clean-%-examples: |
| @$(MAKE) -k -s check-$*-examples ACTION=clean |
| |
| clean-%-test-suite: |
| @$(MAKE) -k -s check-$*-test-suite ACTION=clean |
| |
| clean-%-gifplot: |
| @$(MAKE) -k -s check-$*-gifplot ACTION=clean |
| |
| ##################################################################### |
| # DISTCLEAN |
| ##################################################################### |
| |
| DISTCLEAN-DEAD = config.status config.log config.cache swig.spec Makefile mkmf.log libtool |
| |
| distclean: distclean-objects clean-examples clean-gifplot distclean-test-suite distclean-dead |
| |
| distclean-objects: distclean-source |
| |
| distclean-source: |
| @echo dist cleaning Source |
| @cd $(SOURCE) && $(MAKE) -s distclean |
| @rm -f $(TARGET) |
| |
| distclean-test-suite: |
| @echo dist cleaning Examples/test-suite |
| @$(MAKE) -k -s noskip-test-suite ACTION=distclean |
| |
| noskip-test-suite: \ |
| noskip-tcl-test-suite \ |
| noskip-perl5-test-suite \ |
| noskip-python-test-suite \ |
| noskip-java-test-suite \ |
| noskip-guilescm-test-suite \ |
| noskip-guile-test-suite \ |
| noskip-mzscheme-test-suite \ |
| noskip-ruby-test-suite \ |
| noskip-ocaml-test-suite \ |
| noskip-php4-test-suite \ |
| noskip-pike-test-suite \ |
| noskip-csharp-test-suite \ |
| noskip-lua-test-suite \ |
| noskip-chicken-test-suite |
| |
| noskip-%-test-suite: |
| dir="Examples/test-suite/$*"; \ |
| if [ ! -d $$dir ]; then \ |
| echo warning: cannot $(ACTION) $* test-suite "(no dir $$dir)";\ |
| else \ |
| (cd $$dir && $(MAKE) -k -s $(ACTION)) \ |
| fi; |
| |
| distclean-dead: |
| rm -f $(DISTCLEAN-DEAD) |
| |
| ##################################################################### |
| # TARGETS: install & friends |
| ##################################################################### |
| |
| INSTALL = @abs_srcdir@/Tools/config/install-sh -c |
| INSTALL_DATA = ${INSTALL} -m 644 |
| INSTALL_PROGRAM = ${INSTALL} -m 755 |
| MKINSTDIRS = @abs_srcdir@/Tools/config/install-sh -m 0755 -d |
| |
| install: install-main install-lib |
| @echo "Installation complete" |
| |
| install-main: |
| @echo "Installing SWIG executable" |
| @$(MKINSTDIRS) $(DESTDIR)$(BIN_DIR) |
| @echo "Installing $(BIN_DIR)/$(TARGET)" |
| @$(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(BIN_DIR)/$(TARGET) |
| |
| lib-languages = tcl perl5 python guile java mzscheme ruby php4 ocaml \ |
| pike chicken csharp modula3 allegrocl clisp lua |
| |
| lib-modules = std |
| |
| install-lib: |
| @echo "Installing the SWIG library" |
| @$(MKINSTDIRS) $(DESTDIR)$(SWIG_LIB) |
| @for file in $(srcdir)/Lib/*.i $(srcdir)/Lib/*.swg ; do \ |
| i=`basename $$file` ; \ |
| echo "Installing $(DESTDIR)$(SWIG_LIB)/$$i"; \ |
| $(INSTALL_DATA) $$file $(DESTDIR)$(SWIG_LIB)/$$i; \ |
| done; |
| @for lang in $(lib-languages) $(lib-modules); \ |
| do \ |
| echo "Installing language specific files for $$lang"; \ |
| dst=$(DESTDIR)$(SWIG_LIB)/$$lang; \ |
| $(MKINSTDIRS) $$dst; \ |
| (doti="`cd $(srcdir)/Lib/$$lang && ls *.i 2>/dev/null`" || doti=""; \ |
| dotswg="`cd $(srcdir)/Lib/$$lang && ls *.swg 2>/dev/null`" || dotswg=""; \ |
| if [ -f $(srcdir)/Lib/$$lang/extra-install.list ]; then \ |
| extra="`sed '/^#/d' $(srcdir)/Lib/$$lang/extra-install.list`"; \ |
| fi; \ |
| files="`echo $$doti $$dotswg $$extra`"; \ |
| if [ x"$$files" = x ]; then \ |
| echo "Installing nothing from Lib/$$lang"; \ |
| else for file in $$doti $$dotswg $$extra; \ |
| do \ |
| echo "Installing $$dst/$$file"; \ |
| $(INSTALL_DATA) $(srcdir)/Lib/$$lang/$$file $$dst/$$file; \ |
| done; \ |
| fi) ; \ |
| done |
| |
| |
| ##################################################################### |
| # TARGETS: uninstall & friends |
| ##################################################################### |
| |
| uninstall: uninstall-main uninstall-lib |
| @echo "Uninstall complete" |
| |
| uninstall-main: |
| @echo "Uninstalling $(DESTDIR)$(BIN_DIR)/$(TARGET)" |
| rm -f $(DESTDIR)$(BIN_DIR)/$(TARGET) |
| |
| uninstall-lib: |
| @echo "Uninstalling the SWIG library" |
| rm -rf $(DESTDIR)$(SWIG_LIB)/ |
| |
| ############################################################################ |
| # DIST and other maintenance |
| ############################################################################ |
| |
| # distribution directory |
| dd = @PACKAGE_NAME@-@PACKAGE_VERSION@ |
| srpm = @PACKAGE_NAME@-@PACKAGE_VERSION@ |
| |
| dist: |
| @echo 'Dave, what do you want to do w/ "make dist"?' |
| @echo 'See Makefile.in target "dist-suggested" for an idea.' |
| @echo ' --thi' |
| false |
| |
| dist-suggested: |
| rm -rf $(dd) $(dd).tar.gz |
| cvs export -d $(dd) -r HEAD SWIG |
| tar cf - $(dd) | gzip --best > $(dd).tar.gz |
| rm -rf $(dd) |
| |
| srcrpm: |
| rm -fr $(srpm) $(srpm).src.rpm |
| cvs export -d $(srpm) -r HEAD SWIG |
| cp swig.spec $(srpm) |
| tar -cf - $(srpm) | gzip --best > $(srpm).tar.gz |
| rm -fr $(srpm) |
| rpmbuild -ts $(srpm).tar.gz |
| |
| # Update the autoconf files for detecting host/targets. Automake will do this in |
| # version 1.10 for our case of not having a top level Makefile.am. Until then we |
| # can fetch them manually and will have to commit them to CVS. |
| configfiles: |
| wget ftp://ftp.gnu.org/pub/gnu/config/config.guess -O Tools/config/config.guess |
| chmod a+x Tools/config/config.guess |
| wget ftp://ftp.gnu.org/pub/gnu/config/config.sub -O Tools/config/config.sub |
| chmod a+x Tools/config/config.sub |
| |
| # Makefile ends here |