swig/Makefile.in
2000-08-15 21:22:51 +00:00

236 lines
6.8 KiB
Makefile

#######################################################################
# $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