git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@658 626c5289-ae23-0410-ae9c-e8d60b6d4f22
236 lines
6.8 KiB
Makefile
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
|