####################################################################### # $Header$ ####################################################################### prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ ############################################################################## # Compiler and system configuration ############################################################################## SHELL = /bin/sh CC = @CC@ CFLAGS = @CFLAGS@ CXX = @CXX@ LIBS = @LIBS@ AR = @AR@ RANLIB = @RANLIB@ # Note: Files in `SWIG_LIB' are machine independent so we use `prefix' # instead of `exec_prefix' or, derivatively, `libdir'. SWIG_LIB = $(prefix)/lib/swig1.3 BIN_DIR = @bindir@ TARGET = swig SOURCE = Source SOURCEDIRS = `ls $(SOURCE)` swig: SWIG1.1 Modules1.1 Swig Preprocessor DOH $(CXX) -o $(TARGET) \ $(SOURCE)/Modules1.1/libmodules11.a \ $(SOURCE)/SWIG1.1/libswig11.a \ $(SOURCE)/Preprocessor/libcpp.a \ $(SOURCE)/Swig/libswig.a \ $(SOURCE)/DOH/libdoh.a \ $(LIBS) experiment: Swig Preprocessor LParse Experiment DOH Modules $(CXX) -o $(TARGET) \ $(SOURCE)/Experiment/libexp.a \ $(SOURCE)/LParse/liblparse.a \ $(SOURCE)/Preprocessor/libcpp.a \ $(SOURCE)/Modules/libmodules.a \ $(SOURCE)/Swig/libswig.a \ $(SOURCE)/DOH/libdoh.a \ $(LIBS) SWIG1.1: @cd $(SOURCE)/SWIG1.1; $(MAKE) Modules1.1: @cd $(SOURCE)/Modules1.1; $(MAKE) Swig: @cd $(SOURCE)/Swig; $(MAKE) Preprocessor: @cd $(SOURCE)/Preprocessor; $(MAKE) LParse: @cd $(SOURCE)/LParse; $(MAKE) Experiment: @cd $(SOURCE)/Experiment; $(MAKE) DOH: @cd $(SOURCE)/DOH; $(MAKE) Modules: @cd $(SOURCE)/Modules; $(MAKE) .PHONY: SWIG1.1 Modules1.1 Swig Preprocessor LParse \ Experiment Swim SWILL DOH Swithe ##################################################################### # Runtime libraries ##################################################################### runtime: @cd Runtime; $(MAKE) ##################################################################### # CHECK ##################################################################### check-aliveness: swig skip-tcl = [ -z "@TCLINCLUDE@" -o -z "@TCLLIB@" ] skip-perl = [ -z "@PERL@" -o -z "@PERL5EXT@" ] skip-python = [ -z "@PYIINCLUDE@" -o -z "@PYLIB@" ] skip-java = [ -z "@JAVA@" -o -z "@JAVAC@" -o -z "@JAVAINC@" ] skip-guile = [ -z "@GUILEINCLUDE@" -o -z "@GUILELIB@" ] skip-mzscheme = [ -z "@MZC@" ] skip-ruby = [ -z "@RUBY@" -o -z "@RUBYINCLUDE@" -o -z "@RUBYLIB@" ] chk = $(MAKE) check check-examples: $(skip-tcl) || (cd Examples/tcl/constants ; $(chk)) $(skip-tcl) || (cd Examples/tcl/simple ; $(chk)) $(skip-perl) || (cd Examples/perl5/constants ; $(chk)) $(skip-perl) || (cd Examples/perl5/simple ; $(chk)) $(skip-python) || (cd Examples/python/constants ; $(chk)) $(skip-python) || (cd Examples/python/simple ; $(chk)) $(skip-java) || (cd Examples/java/simple ; $(chk)) $(skip-java) || (cd Examples/java/native ; $(chk)) $(skip-java) || (cd Examples/java/typemap ; $(chk)) $(skip-guile) || (cd Examples/guile/simple ; $(chk)) $(skip-guile) || (cd Examples/guile/matrix ; $(chk)) $(skip-mzscheme) || (cd Examples/mzscheme/simple ; $(chk)) $(skip-ruby) || (cd Examples/ruby/constants ; $(chk)) $(skip-ruby) || (cd Examples/ruby/simple ; $(chk)) check-gifplot-example: : todo: gifplot example checking check: check-aliveness check-examples check-gifplot-example ##################################################################### # CLEAN ##################################################################### clean: @for i in $(SOURCEDIRS) ; \ do \ if [ -d $(SOURCE)/$$i -a -f $(SOURCE)/$$i/Makefile ]; then \ (cd $(SOURCE)/$$i; $(MAKE) clean) ; \ fi \ done; @cd Runtime; $(MAKE) clean rm -f swig distclean-dead = config.status config.log config.cache \ @configure_substituted_files@ distclean: clean rm -f $(distclean-dead) ##################################################################### # TARGETS: install & friends ##################################################################### INSTALL = install-sh -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = $(srcdir)/${INSTALL} -m 755 MKINSTDIRS = $(srcdir)/mkinstalldirs install: install-main install-lib install-runtime @echo "Installation complete" install-main: @echo "Installing $(BIN_DIR)/swig" @$(MKINSTDIRS) $(BIN_DIR) @if [ -f swig.exe ]; then \ $(INSTALL_PROGRAM) swig.exe $(BIN_DIR)/swig.exe; \ else \ $(INSTALL_PROGRAM) swig $(BIN_DIR)/swig; \ fi install-lib: @echo "Installing the SWIG library" @$(MKINSTDIRS) $(SWIG_LIB) # cd $(SWIG_LIB); rm -rf * # The following line has `*.swg' removed -- add it back if needed. @cd $(srcdir)/Lib; for i in *.i *.swg; \ do \ echo "Installing Lib/$$i"; \ ../$(INSTALL_DATA) $$i $(SWIG_LIB)/$$i; \ done; @$(MKINSTDIRS) $(SWIG_LIB)/tcl @cd $(srcdir)/Lib/tcl; for i in *.i *.swg; \ do \ echo "Installing Lib/tcl/$$i"; \ ../../$(INSTALL_DATA) $$i $(SWIG_LIB)/tcl/$$i; \ done; @$(MKINSTDIRS) $(SWIG_LIB)/perl5 @cd $(srcdir)/Lib/perl5; for i in *.i *.swg Makefile.pl; \ do \ echo "Installing Lib/perl5/$$i"; \ ../../$(INSTALL_DATA) $$i $(SWIG_LIB)/perl5/$$i; \ done; @$(MKINSTDIRS) $(SWIG_LIB)/python @cd $(srcdir)/Lib/python; for i in *.i *.swg; \ do \ echo "Installing Lib/python/$$i"; \ ../../$(INSTALL_DATA) $$i $(SWIG_LIB)/python/$$i; \ done; @$(MKINSTDIRS) $(SWIG_LIB)/guile @cd $(srcdir)/Lib/guile; for i in *.i *.swg; \ do \ echo "Installing Lib/guile/$$i"; \ ../../$(INSTALL_DATA) $$i $(SWIG_LIB)/guile/$$i; \ done; @$(MKINSTDIRS) $(SWIG_LIB)/java @cd $(srcdir)/Lib/java; for i in *.i *.swg; \ do \ echo "Installing Lib/java/$$i"; \ ../../$(INSTALL_DATA) $$i $(SWIG_LIB)/java/$$i; \ done; @$(MKINSTDIRS) $(SWIG_LIB)/mzscheme @cd $(srcdir)/Lib/mzscheme; for i in *.i *.swg; \ do \ echo "Installing Lib/mzscheme/$$i"; \ ../../$(INSTALL_DATA) $$i $(SWIG_LIB)/mzscheme/$$i; \ done; @$(MKINSTDIRS) $(SWIG_LIB)/ruby @cd $(srcdir)/Lib/ruby; for i in *.i *.swg Makefile.swig extconf.rb; \ do \ echo "Installing Lib/ruby/$$i"; \ ../../$(INSTALL_DATA) $$i $(SWIG_LIB)/ruby/$$i; \ done; install-runtime: @cd Runtime; $(MAKE) install ############################################################################ # DIST and other maintenance ############################################################################ # distribution directory dd = @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) # Makefile ends here