swig/Runtime/Makefile.in
Dave Beazley 12a43edc2d The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-11-30 22:01:28 +00:00

219 lines
7.1 KiB
Makefile

# Makefile for producing SWIG runtime libraries.
#
# The runtime libraries contain the pointer-type checking code and other
# support functions that are needed when creating multi-file SWIG modules.
#
# At the moment, libtool is used to create these libraries
prefix = @prefix@
exec_prefix = @exec_prefix@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
CC = @CC@
LIBTOOL = ../Tools/libtool
SWIGLIB = $(top_srcdir)/Lib
RELEASESUFFIX = @release_suffix@
LIBS = libswigpl$(RELEASESUFFIX).la libswigpy$(RELEASESUFFIX).la \
libswigtcl8$(RELEASESUFFIX).la libswigrb$(RELEASESUFFIX).la \
libswigguile$(RELEASESUFFIX).la libswigocaml$(RELEASESUFFIX).la
LIB_DIR = $(exec_prefix)/lib
MKINSTDIRS = $(top_srcdir)/mkinstalldirs
INSTALL = $(top_srcdir)/install-sh -c
all:
-$(MAKE) perl5
-$(MAKE) python
-$(MAKE) tcl
-$(MAKE) ruby
-$(MAKE) guile
-$(MAKE) mzscheme
-$(MAKE) php4
-$(MAKE) ocaml
install:
@echo "Installing runtime libraries"
@$(MKINSTDIRS) $(DESTDIR)$(LIB_DIR)
@for i in $(LIBS); \
do \
if [ -f $$i ]; then \
echo $(LIBTOOL) $(INSTALL) $$i $(DESTDIR)$(LIB_DIR)/$$i; \
$(LIBTOOL) $(INSTALL) $$i $(DESTDIR)$(LIB_DIR)/$$i; \
fi; \
done;
uninstall:
@echo "Uninstalling runtime libraries"
@for i in $(LIBS); \
do \
if [ -f $$i ]; then \
echo $(LIBTOOL) --mode=uninstall /bin/rm -f $(DESTDIR)$(LIB_DIR)/$$i; \
$(LIBTOOL) --mode=uninstall /bin/rm -f $(DESTDIR)$(LIB_DIR)/$$i; \
fi; \
done;
clean::
rm -rf *.o *.lo *.la *.a *.c *.swg *~ core .libs
SWIG_TYPECHECK = $(SWIGLIB)/common.swg
# ----------------------------------------------------------------------
# Tcl runtime library
# ----------------------------------------------------------------------
TCL_INCLUDE = @TCLINCLUDE@
TCL_RUNTIME = $(SWIGLIB)/tcl/swigtcl8.swg
# Tcl 8.x
tcl: libswigtcl8$(RELEASESUFFIX).la
libswigtcl8$(RELEASESUFFIX).la:
rm -f swigtcl8.c
cat $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(TCL_RUNTIME) >> swigtcl8.c
# -cp $(srcdir)/$(TCL_RUNTIME) swigtcl8.c
$(LIBTOOL) $(CC) -c $(TCL_INCLUDE) -DSWIG_GLOBAL swigtcl8.c
$(LIBTOOL) $(CC) -o libswigtcl8$(RELEASESUFFIX).la swigtcl8.lo -rpath $(LIB_DIR) -avoid-version
# ----------------------------------------------------------------------
# Python run-time library
# ----------------------------------------------------------------------
PYTHON_INCLUDE = -DHAVE_CONFIG_H @PYINCLUDE@
PYTHON_RUNTIME = $(SWIGLIB)/python/pyrun.swg
# Python shared
python: libswigpy$(RELEASESUFFIX).la
libswigpy$(RELEASESUFFIX).la:
rm -f libpy.c
echo '#include "Python.h"' >> libpy.c
cat $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(PYTHON_RUNTIME) >> libpy.c
# -cp $(srcdir)/$(PYTHON_RUNTIME) libpy.c
$(LIBTOOL) $(CC) -c $(PYTHON_INCLUDE) -DSWIG_GLOBAL libpy.c
$(LIBTOOL) $(CC) -o libswigpy$(RELEASESUFFIX).la libpy.lo -rpath $(LIB_DIR) -avoid-version
# ----------------------------------------------------------------------
# Perl run-time library
# ----------------------------------------------------------------------
PERL5_INCLUDE = -I@PERL5EXT@
PERL5_RUNTIME = $(SWIGLIB)/perl5/perlrun.swg
# Perl shared
perl5: libswigpl$(RELEASESUFFIX).la
libswigpl$(RELEASESUFFIX).la: $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(PERL5_RUNTIME)
@rm -f libperl.c
# cat $(srcdir)/perlrun.h >> libperl.c
cat $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(PERL5_RUNTIME) >> libperl.c
$(LIBTOOL) $(CC) -c $(PERL5_INCLUDE) -DSWIG_GLOBAL -Dbool=char -Dexplicit= libperl.c
$(LIBTOOL) $(CC) -o libswigpl$(RELEASESUFFIX).la libperl.lo -rpath $(LIB_DIR) -avoid-version
# ----------------------------------------------------------------------
# Ruby run-time library
# ----------------------------------------------------------------------
RUBY_CFLAGS = @RUBYCCDLFLAGS@ -DHAVE_CONFIG_H
RUBY_INCLUDE = @RUBYINCLUDE@
RUBY_RUNTIME = $(SWIGLIB)/ruby/rubyhead.swg
RUBY_DLNK = @RUBYDYNAMICLINKING@
# Ruby shared
ruby: libswigrb$(RELEASESUFFIX).la
libswigrb$(RELEASESUFFIX).la:
rm -f librb.c
cat $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(RUBY_RUNTIME) $(SWIGLIB)/ruby/rubydef.swg >> librb.c
$(LIBTOOL) $(CC) $(RUBY_CFLAGS) -c $(RUBY_INCLUDE) -DSWIG_GLOBAL librb.c
$(LIBTOOL) $(CC) -o libswigrb$(RELEASESUFFIX).la librb.lo -rpath $(LIB_DIR) $(RUBY_DLNK) -avoid-version
# ----------------------------------------------------------------------
# Guile run-time library
# ----------------------------------------------------------------------
GUILE_INCLUDE = @GUILEINCLUDE@
GUILE_RUNTIME = $(SWIGLIB)/guile/guiledec.swg $(SWIGLIB)/guile/guile.swg
# Guile shared
guile: libswigguile$(RELEASESUFFIX).la
libswigguile$(RELEASESUFFIX).la: $(GUILE_RUNTIME)
rm -f libguile.c
cat $(srcdir)/$(GUILE_RUNTIME) >> libguile.c
$(LIBTOOL) $(CC) -c $(GUILE_INCLUDE) -DSWIG_GLOBAL libguile.c
$(LIBTOOL) $(CC) -o libswigguile$(RELEASESUFFIX).la libguile.lo -rpath $(LIB_DIR) -avoid-version
# ----------------------------------------------------------------------
# MzScheme run-time library
# ----------------------------------------------------------------------
MZSCHEME_RUNTIME = $(SWIGLIB)/mzscheme/mzschemedec.swg $(SWIGLIB)/mzscheme/mzscheme.swg
MZC = @MZC@
SO = @SO@
# MzScheme shared
mzscheme: libswigmz$(RELEASESUFFIX).la
libswigmz$(RELEASESUFFIX).la: $(MZSCHEME_RUNTIME)
rm -f libmz.c
cat $(srcdir)/$(MZSCHEME_RUNTIME) >> libmz.c
$(MZC) ++ccf "-DSWIG_GLOBAL" --cc libmz.c
if [ ! -d .libs ] ; then mkdir .libs; fi
$(MZC) --ld .libs/libswigmz$(RELEASESUFFIX)$(SO) libmz.o
# ----------------------------------------------------------------------
# PHP4 run-time library
# ----------------------------------------------------------------------
PHP4_INCLUDE = @PHP4INC@
PHP4_RUNTIME = $(SWIGLIB)/php4/php4run.swg
php4: libswigphp4$(RELEASESUFFIX).la
libswigphp4$(RELEASESUFFIX).la: $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(PHP4_RUNTIME)
@rm -f libphp4.c
cat $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(PHP4_RUNTIME) >> libphp4.c
$(LIBTOOL) $(CC) -c $(PHP4_INCLUDE) -DSWIG_GLOBAL libphp4.c
$(LIBTOOL) $(CC) -o libswigphp4$(RELEASESUFFIX).la libphp4.lo -rpath $(LIB_DIR) -avoid-version
# ----------------------------------------------------------------------
# Ocaml run-time library
# ----------------------------------------------------------------------
OCAML_CFLAGS =
OCAML_INCLUDE = @OCAMLINC@ -I$(SWIGLIB)/ocaml
OCAML_RUNTIME = $(SWIGLIB)/ocaml/libswigocaml.swg
# Ocaml shared
ocaml: libswigocaml$(RELEASESUFFIX).la
libswigocaml$(RELEASESUFFIX).la:
rm -f libswigocaml.c
cat $(srcdir)/$(OCAML_RUNTIME) >> libswigocaml.c
$(LIBTOOL) $(CC) $(OCAML_CFLAGS) -c $(OCAML_INCLUDE) -DSWIG_GLOBAL libswigocaml.c
$(LIBTOOL) $(CC) -o libswigocaml$(RELEASESUFFIX).la libswigocaml.lo -rpath $(LIB_DIR)
# ----------------------------------------------------------------------
# Pike run-time library
# ----------------------------------------------------------------------
PIKE_INCLUDE = -DHAVE_CONFIG_H @PIKEINCLUDE@
PIKE_RUNTIME = $(SWIGLIB)/pike/pikerun.swg
# Pike shared
pike: libswigpike$(RELEASESUFFIX).la
libswigpike$(RELEASESUFFIX).la:
rm -f libpike.c
cat $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(PIKE_RUNTIME) >> libpike.c
$(LIBTOOL) $(CC) -c $(PIKE_INCLUDE) -DSWIG_GLOBAL libpike.c
$(LIBTOOL) $(CC) -o libswigpike$(RELEASESUFFIX).la libpike.lo -rpath $(LIB_DIR) -avoid-version