mirror of https://gitee.com/openkylin/swig.git
557 lines
18 KiB
Makefile
557 lines
18 KiB
Makefile
|
#######################################################################
|
||
|
# SWIG top level Makefile
|
||
|
#######################################################################
|
||
|
|
||
|
.PHONY: ccache source swig
|
||
|
|
||
|
prefix = @prefix@
|
||
|
exec_prefix = @exec_prefix@
|
||
|
srcdir = @srcdir@
|
||
|
datarootdir = @datarootdir@
|
||
|
|
||
|
#####################################################################
|
||
|
# Make options - override these to see more output
|
||
|
#####################################################################
|
||
|
|
||
|
RUNPIPE = \>/dev/null
|
||
|
FLAGS = -k -s
|
||
|
|
||
|
#####################################################################
|
||
|
# Compiler and system configuration
|
||
|
#####################################################################
|
||
|
|
||
|
SHELL = /bin/sh
|
||
|
SWIG_LIB_INSTALL = @SWIG_LIB_INSTALL@
|
||
|
BIN_DIR = @bindir@
|
||
|
ENABLE_CCACHE = @ENABLE_CCACHE@
|
||
|
TARGET_NOEXE= swig
|
||
|
TARGET = $(TARGET_NOEXE)@EXEEXT@
|
||
|
SOURCE = Source
|
||
|
CCACHE = CCache
|
||
|
DOCS = Doc/Manual
|
||
|
HAVE_CXX11_COMPILER = @HAVE_CXX11_COMPILER@
|
||
|
|
||
|
swig: libfiles source ccache
|
||
|
|
||
|
source:
|
||
|
@cd $(SOURCE) && $(MAKE)
|
||
|
|
||
|
ccache:
|
||
|
test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE))
|
||
|
|
||
|
libfiles: $(srcdir)/Lib/swigwarn.swg
|
||
|
|
||
|
# Files required just for the tarball
|
||
|
maintainer: libfiles
|
||
|
@cd $(SOURCE) && $(MAKE) CParse/parser.h
|
||
|
|
||
|
#####################################################################
|
||
|
# Documentation
|
||
|
#####################################################################
|
||
|
|
||
|
docs: docs-main
|
||
|
|
||
|
docs-main:
|
||
|
@echo making docs
|
||
|
@test -d $(DOCS) || exit 0; cd $(DOCS) && $(MAKE) all clean-baks
|
||
|
|
||
|
#####################################################################
|
||
|
# 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-guile = test -n "@SKIP_GUILE@"
|
||
|
skip-mzscheme = test -n "@SKIP_MZSCHEME@"
|
||
|
skip-ruby = test -n "@SKIP_RUBY@"
|
||
|
skip-php = test -n "@SKIP_PHP@"
|
||
|
skip-ocaml = test -n "@SKIP_OCAML@"
|
||
|
skip-octave = test -n "@SKIP_OCTAVE@"
|
||
|
skip-csharp = test -n "@SKIP_CSHARP@"
|
||
|
skip-lua = test -n "@SKIP_LUA@"
|
||
|
skip-r = test -n "@SKIP_R@"
|
||
|
skip-scilab = test -n "@SKIP_SCILAB@"
|
||
|
skip-go = test -n "@SKIP_GO@"
|
||
|
skip-d = test -n "@SKIP_D@"
|
||
|
skip-javascript = test -n "@SKIP_JAVASCRIPT@"
|
||
|
|
||
|
# Additional dependencies for some tests
|
||
|
skip-android = test -n "@SKIP_ANDROID@"
|
||
|
|
||
|
# Special errors test-case
|
||
|
skip-errors = test -n ""
|
||
|
|
||
|
check-%-enabled:
|
||
|
@if $(skip-$*); then \
|
||
|
echo skipping $* version; \
|
||
|
exit 1; \
|
||
|
fi
|
||
|
|
||
|
#####################################################################
|
||
|
# CHECK
|
||
|
#####################################################################
|
||
|
|
||
|
ACTION = check
|
||
|
NOSKIP =
|
||
|
|
||
|
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-octave) || ./$(TARGET) -octave -help
|
||
|
@$(skip-php) || ./$(TARGET) -php7 -help
|
||
|
@$(skip-csharp) || ./$(TARGET) -csharp -help
|
||
|
@$(skip-lua) || ./$(TARGET) -lua -help
|
||
|
@$(skip-r) || ./$(TARGET) -r -help
|
||
|
@$(skip-scilab) || ./$(TARGET) -scilab -help
|
||
|
@$(skip-go) || ./$(TARGET) -go -help
|
||
|
@$(skip-d) || ./$(TARGET) -d -help
|
||
|
@$(skip-javascript) || ./$(TARGET) -javascript -help
|
||
|
|
||
|
check-ccache:
|
||
|
test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) check)
|
||
|
|
||
|
# Checks / displays versions of each target language
|
||
|
check-versions: \
|
||
|
check-tcl-version \
|
||
|
check-perl5-version \
|
||
|
check-python-version \
|
||
|
check-java-version \
|
||
|
check-javascript-version \
|
||
|
check-android-version \
|
||
|
check-guile-version \
|
||
|
check-mzscheme-version \
|
||
|
check-ruby-version \
|
||
|
check-ocaml-version \
|
||
|
check-octave-version \
|
||
|
check-php-version \
|
||
|
check-csharp-version \
|
||
|
check-lua-version \
|
||
|
check-r-version \
|
||
|
check-scilab-version \
|
||
|
check-go-version \
|
||
|
check-d-version
|
||
|
|
||
|
# all examples
|
||
|
check-%-version :
|
||
|
@if test -z "$(skip-$*)"; then \
|
||
|
echo $* unknown; \
|
||
|
exit 1; \
|
||
|
fi
|
||
|
@if $(skip-$*); then \
|
||
|
echo skipping $* version; \
|
||
|
else \
|
||
|
echo showing $* version; \
|
||
|
(cd Examples && $(MAKE) $(FLAGS) $*_version) \
|
||
|
fi
|
||
|
|
||
|
# Checks examples for compilation (does not run them)
|
||
|
check-examples: \
|
||
|
check-tcl-examples \
|
||
|
check-perl5-examples \
|
||
|
check-python-examples \
|
||
|
check-java-examples \
|
||
|
check-android-examples \
|
||
|
check-guile-examples \
|
||
|
check-mzscheme-examples \
|
||
|
check-ruby-examples \
|
||
|
check-ocaml-examples \
|
||
|
check-octave-examples \
|
||
|
check-php-examples \
|
||
|
check-csharp-examples \
|
||
|
check-lua-examples \
|
||
|
check-r-examples \
|
||
|
check-scilab-examples \
|
||
|
check-go-examples \
|
||
|
check-d-examples \
|
||
|
check-javascript-examples
|
||
|
|
||
|
tcl_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/tcl/check.list)
|
||
|
perl5_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/perl5/check.list)
|
||
|
python_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/python/check.list)
|
||
|
java_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/java/check.list)
|
||
|
android_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/android/check.list)
|
||
|
guile_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/guile/check.list)
|
||
|
mzscheme_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/mzscheme/check.list)
|
||
|
ruby_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/ruby/check.list)
|
||
|
ocaml_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/ocaml/check.list)
|
||
|
octave_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/octave/check.list)
|
||
|
php_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/php/check.list)
|
||
|
csharp_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/csharp/check.list)
|
||
|
lua_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/lua/check.list)
|
||
|
r_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/r/check.list)
|
||
|
scilab_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/scilab/check.list)
|
||
|
go_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/go/check.list)
|
||
|
d_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/d/check.list)
|
||
|
javascript_examples:=$(shell sed '/^\#/d' $(srcdir)/Examples/javascript/check.list)
|
||
|
|
||
|
# all examples
|
||
|
check-%-examples :
|
||
|
@if test -z "$(skip-$*)"; then \
|
||
|
echo $* unknown; \
|
||
|
exit 1; \
|
||
|
fi
|
||
|
@if $(skip-$*); then \
|
||
|
echo skipping $* $(ACTION); \
|
||
|
elif test -z "$($(strip $*_examples))"; then \
|
||
|
echo empty $* $(ACTION); \
|
||
|
else \
|
||
|
$(MAKE) $(FLAGS) $($*_examples:=.actionexample) LANGUAGE=$* ACTION=$(ACTION); \
|
||
|
fi
|
||
|
|
||
|
# individual example
|
||
|
%.actionexample:
|
||
|
@cd Examples && $(MAKE) Makefile
|
||
|
@echo $(ACTION)ing Examples/$(LANGUAGE)/$*
|
||
|
@(cd Examples/$(LANGUAGE)/$* && $(MAKE) $(FLAGS) $(ACTION) RUNPIPE=$(RUNPIPE))
|
||
|
|
||
|
# Checks testcases in the test-suite excluding those which are known to be broken
|
||
|
check-test-suite: \
|
||
|
check-errors-test-suite \
|
||
|
check-tcl-test-suite \
|
||
|
check-perl5-test-suite \
|
||
|
check-python-test-suite \
|
||
|
check-java-test-suite \
|
||
|
check-guile-test-suite \
|
||
|
check-mzscheme-test-suite \
|
||
|
check-ruby-test-suite \
|
||
|
check-ocaml-test-suite \
|
||
|
check-octave-test-suite \
|
||
|
check-php-test-suite \
|
||
|
check-csharp-test-suite \
|
||
|
check-lua-test-suite \
|
||
|
check-r-test-suite \
|
||
|
check-scilab-test-suite \
|
||
|
check-go-test-suite \
|
||
|
check-d-test-suite \
|
||
|
check-javascript-test-suite
|
||
|
|
||
|
check-%-test-suite:
|
||
|
@if test -z "$(skip-$*)"; then \
|
||
|
echo $* unknown; \
|
||
|
exit 1; \
|
||
|
fi
|
||
|
@passed=true; \
|
||
|
dir="Examples/test-suite/$*"; \
|
||
|
if $(skip-$*) -a "$(NOSKIP)" != "1"; then \
|
||
|
echo skipping $* test-suite $(ACTION); \
|
||
|
elif [ ! -d $$dir ]; then \
|
||
|
echo warning: cannot $(ACTION) $* test-suite "(no dir $$dir)";\
|
||
|
else \
|
||
|
echo $(ACTION)ing $* test-suite; \
|
||
|
(cd $$dir && $(MAKE) $(FLAGS) $(ACTION) HAVE_CXX11_COMPILER=$(HAVE_CXX11_COMPILER)) \
|
||
|
|| passed=false; \
|
||
|
fi; \
|
||
|
test $$passed = true
|
||
|
|
||
|
# Partial test-suite check - it only invokes SWIG, ie no compilation and no runtime testing
|
||
|
partialcheck-test-suite:
|
||
|
@$(MAKE) $(FLAGS) check-test-suite ACTION=partialcheck NOSKIP=1
|
||
|
|
||
|
partialcheck-%-test-suite:
|
||
|
@$(MAKE) $(FLAGS) check-$*-test-suite ACTION=partialcheck NOSKIP=1
|
||
|
|
||
|
check: check-aliveness check-ccache check-versions check-examples check-test-suite
|
||
|
|
||
|
# Run known-to-be-broken as well as not 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-guile-test-suite \
|
||
|
all-mzscheme-test-suite \
|
||
|
all-ruby-test-suite \
|
||
|
all-ocaml-test-suite \
|
||
|
all-octave-test-suite \
|
||
|
all-php-test-suite \
|
||
|
all-csharp-test-suite \
|
||
|
all-lua-test-suite \
|
||
|
all-r-test-suite \
|
||
|
all-scilab-test-suite \
|
||
|
all-go-test-suite \
|
||
|
all-d-test-suite \
|
||
|
all-javascript-test-suite
|
||
|
|
||
|
all-%-test-suite:
|
||
|
@$(MAKE) $(FLAGS) check-$*-test-suite ACTION=all
|
||
|
|
||
|
# Run known-to-be-broken testcases in the test-suite
|
||
|
broken-test-suite: \
|
||
|
broken-tcl-test-suite \
|
||
|
broken-perl5-test-suite \
|
||
|
broken-python-test-suite \
|
||
|
broken-java-test-suite \
|
||
|
broken-guile-test-suite \
|
||
|
broken-mzscheme-test-suite \
|
||
|
broken-ruby-test-suite \
|
||
|
broken-ocaml-test-suite \
|
||
|
broken-octave-test-suite \
|
||
|
broken-php-test-suite \
|
||
|
broken-csharp-test-suite \
|
||
|
broken-lua-test-suite \
|
||
|
broken-r-test-suite \
|
||
|
broken-scilab-test-suite \
|
||
|
broken-go-test-suite \
|
||
|
broken-d-test-suite \
|
||
|
broken-javascript-test-suite
|
||
|
|
||
|
broken-%-test-suite:
|
||
|
@$(MAKE) $(FLAGS) check-$*-test-suite ACTION=broken
|
||
|
|
||
|
#####################################################################
|
||
|
# CLEAN
|
||
|
#####################################################################
|
||
|
|
||
|
clean: clean-objects clean-examples clean-test-suite
|
||
|
|
||
|
clean-objects: clean-source clean-ccache
|
||
|
|
||
|
clean-source:
|
||
|
@echo cleaning Source
|
||
|
@cd $(SOURCE) && $(MAKE) $(FLAGS) clean
|
||
|
@rm -f $(TARGET)
|
||
|
|
||
|
clean-examples:
|
||
|
@$(MAKE) $(FLAGS) check-examples ACTION=clean
|
||
|
|
||
|
clean-test-suite:
|
||
|
@$(MAKE) $(FLAGS) check-test-suite ACTION=clean NOSKIP=1
|
||
|
|
||
|
clean-%-examples:
|
||
|
@$(MAKE) $(FLAGS) check-$*-examples ACTION=clean
|
||
|
|
||
|
clean-%-test-suite:
|
||
|
@$(MAKE) $(FLAGS) check-$*-test-suite ACTION=clean NOSKIP=1
|
||
|
|
||
|
clean-ccache:
|
||
|
test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) $(FLAGS) clean)
|
||
|
|
||
|
#####################################################################
|
||
|
# DISTCLEAN - clean what configure built
|
||
|
#####################################################################
|
||
|
|
||
|
DISTCLEAN-DEAD = config.status config.log config.cache swig.spec Makefile mkmf.log preinst-swig
|
||
|
|
||
|
distclean-helper: distclean-test-suite distclean-examples distclean-tools distclean-dead
|
||
|
|
||
|
distclean: distclean-source distclean-ccache distclean-helper
|
||
|
|
||
|
distclean-source:
|
||
|
@echo distcleaning Source
|
||
|
@cd $(SOURCE) && $(MAKE) $(FLAGS) distclean
|
||
|
@rm -f $(TARGET)
|
||
|
|
||
|
distclean-test-suite:
|
||
|
@echo distcleaning Examples/test-suite
|
||
|
@$(MAKE) $(FLAGS) check-test-suite ACTION=distclean NOSKIP=1
|
||
|
|
||
|
distclean-examples:
|
||
|
@echo distcleaning Examples
|
||
|
@$(MAKE) $(FLAGS) clean-examples
|
||
|
@cd Examples && $(MAKE) $(FLAGS) distclean
|
||
|
@if test "x$(srcdir)" != "x."; then \
|
||
|
for mkfile in `cd $(srcdir) && find Examples/ -type f -name Makefile`; do \
|
||
|
rm -f "$$mkfile"; \
|
||
|
done; \
|
||
|
fi
|
||
|
|
||
|
distclean-ccache:
|
||
|
@test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) $(FLAGS) distclean)
|
||
|
|
||
|
distclean-tools:
|
||
|
@echo distcleaning Tools
|
||
|
@cd Tools/javascript && $(MAKE) $(FLAGS) distclean
|
||
|
|
||
|
distclean-dead:
|
||
|
rm -f $(DISTCLEAN-DEAD)
|
||
|
rm -rf autom4te.cache
|
||
|
|
||
|
#####################################################################
|
||
|
# MAINTAINER CLEAN - clean what the maintainer builds and ships in
|
||
|
# the distributed tarball - should not delete anything needed to run
|
||
|
# ./configure && make
|
||
|
#####################################################################
|
||
|
|
||
|
maintainer-clean:
|
||
|
@echo maintainer-cleaning source
|
||
|
@cd $(SOURCE) && $(MAKE) $(FLAGS) maintainer-clean
|
||
|
@echo maintainer-cleaning CCache
|
||
|
@test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) $(FLAGS) maintainer-clean)
|
||
|
@echo maintainer-cleaning docs
|
||
|
@test -d $(DOCS) || exit 0; cd $(DOCS) && $(MAKE) $(FLAGS) maintainer-clean
|
||
|
@echo maintainer-cleaning Lib files
|
||
|
@rm -f $(srcdir)/Lib/swigwarn.swg
|
||
|
@echo distcleaning
|
||
|
@$(MAKE) $(FLAGS) distclean-helper
|
||
|
|
||
|
check-maintainer-clean: maintainer-clean
|
||
|
@if test "x$(srcdir)" = "x."; then \
|
||
|
echo "skipping maintainer-clean check (in-source-tree build)"; \
|
||
|
exit 0; \
|
||
|
fi; \
|
||
|
for file in `find . -type f`; do \
|
||
|
echo "file missed by maintainer-clean: $$file"; \
|
||
|
done; \
|
||
|
test "x$$file" = x && echo "all files cleaned by maintainer-clean"
|
||
|
|
||
|
#####################################################################
|
||
|
# Update the Lib/swigwarn.swg file
|
||
|
# Note: Generated into the source tree rather than build tree
|
||
|
#####################################################################
|
||
|
|
||
|
$(srcdir)/Lib/swigwarn.swg: $(srcdir)/Source/Include/swigwarn.h
|
||
|
mkdir -p Lib
|
||
|
echo "/* SWIG warning codes - generated from swigwarn.h - do not edit */" > $@
|
||
|
cat $? | grep "^#define WARN\|/\*.*\*/\|^[ \t]*$$" | sed 's/^#define \(WARN.*[0-9][0-9]*\)\(.*\)$$/%define SWIG\1 %enddef\2/' >> $@
|
||
|
|
||
|
#####################################################################
|
||
|
# 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
|
||
|
# Use standard autoconf approach to transform executable name using --program-prefix and --program-suffix
|
||
|
transform = @program_transform_name@
|
||
|
|
||
|
install: install-main install-lib install-ccache
|
||
|
@echo "Installation complete"
|
||
|
|
||
|
install-main:
|
||
|
@echo "Installing SWIG executable"
|
||
|
@$(MKINSTDIRS) $(DESTDIR)$(BIN_DIR)
|
||
|
@echo "Installing $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@"
|
||
|
@$(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@
|
||
|
|
||
|
lib-languages = typemaps tcl perl5 python guile java mzscheme ruby php ocaml octave \
|
||
|
csharp lua r go d javascript javascript/jsc \
|
||
|
javascript/v8 scilab xml
|
||
|
|
||
|
lib-modules = std
|
||
|
|
||
|
|
||
|
install-lib:
|
||
|
@echo "Installing the SWIG library"
|
||
|
@$(MKINSTDIRS) $(DESTDIR)$(SWIG_LIB_INSTALL)
|
||
|
@for file in $(srcdir)/Lib/*.i $(srcdir)/Lib/*.swg ; do \
|
||
|
i=`basename $$file` ; \
|
||
|
echo "Installing $(DESTDIR)$(SWIG_LIB_INSTALL)/$$i"; \
|
||
|
$(INSTALL_DATA) $$file $(DESTDIR)$(SWIG_LIB_INSTALL)/$$i; \
|
||
|
done;
|
||
|
@for lang in $(lib-languages) $(lib-modules); \
|
||
|
do \
|
||
|
echo "Installing language specific files for $$lang"; \
|
||
|
dst=$(DESTDIR)$(SWIG_LIB_INSTALL)/$$lang; \
|
||
|
$(MKINSTDIRS) $$dst; \
|
||
|
(doti="`cd $(srcdir)/Lib/$$lang && ls *.i 2>/dev/null || echo ''`"; \
|
||
|
dotswg="`cd $(srcdir)/Lib/$$lang && ls *.swg 2>/dev/null || echo ''`"; \
|
||
|
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
|
||
|
|
||
|
install-ccache:
|
||
|
@test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) install)
|
||
|
|
||
|
|
||
|
#####################################################################
|
||
|
# TARGETS: uninstall & friends
|
||
|
#####################################################################
|
||
|
|
||
|
uninstall: uninstall-main uninstall-lib uninstall-ccache
|
||
|
@echo "Uninstall complete"
|
||
|
|
||
|
uninstall-main:
|
||
|
@echo "Uninstalling SWIG executable $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@"
|
||
|
rm -f $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@
|
||
|
|
||
|
uninstall-lib:
|
||
|
@echo "Uninstalling the SWIG library"
|
||
|
rm -rf $(DESTDIR)$(SWIG_LIB_INSTALL)/
|
||
|
|
||
|
uninstall-ccache:
|
||
|
test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) uninstall)
|
||
|
|
||
|
############################################################################
|
||
|
# DIST and other maintenance
|
||
|
############################################################################
|
||
|
|
||
|
# distribution directory
|
||
|
dd = @PACKAGE_NAME@-@PACKAGE_VERSION@
|
||
|
srpm = @PACKAGE_NAME@-@PACKAGE_VERSION@
|
||
|
|
||
|
dist:
|
||
|
@echo "'make dist' not implemented - use Tools/mkdist.py instead - e.g.:"
|
||
|
@echo "Tools/mkdist.py @VERSION@ master"
|
||
|
@false
|
||
|
|
||
|
srcrpm:
|
||
|
rm -fr $(srpm) $(srpm).src.rpm
|
||
|
echo "TODO: update to use git instead of cvs"
|
||
|
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 Git.
|
||
|
configfiles:
|
||
|
wget 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess' -O Tools/config/config.guess
|
||
|
chmod a+x Tools/config/config.guess
|
||
|
wget 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub' -O Tools/config/config.sub
|
||
|
chmod a+x Tools/config/config.sub
|
||
|
|
||
|
# Regenerate Makefile if Makefile.in or config.status have changed.
|
||
|
Makefile: $(srcdir)/Makefile.in config.status
|
||
|
$(SHELL) ./config.status
|
||
|
|
||
|
# This target is usually called from Source/Makefile when configure.ac has
|
||
|
# changed.
|
||
|
am--refresh: $(srcdir)/configure
|
||
|
|
||
|
$(srcdir)/configure: $(srcdir)/configure.ac
|
||
|
@echo "Build system is out of date. If the following commands fail, please reconfigure by hand (rerun: ./autogen.sh && ./configure)"
|
||
|
cd $(srcdir) && ./autogen.sh
|
||
|
$(SHELL) ./config.status --recheck
|
||
|
|
||
|
############################################################################
|
||
|
# Tools
|
||
|
############################################################################
|
||
|
|
||
|
# Coverity static code analyser build and submit - EMAIL and PASSWORD need specifying
|
||
|
# See http://scan.coverity.com/start/
|
||
|
EMAIL=wsf@fultondesigns.co.uk
|
||
|
PASSWORD=
|
||
|
coverity:
|
||
|
test -n "$(PASSWORD)" || (echo "PASSWORD not set" && false)
|
||
|
$(MAKE) clean-source
|
||
|
rm -rf cov-int
|
||
|
cov-build --dir cov-int $(MAKE) source
|
||
|
tar czvf swig-coverity.tgz cov-int
|
||
|
curl --form file=@swig-coverity.tgz --form project=swig --form password=$(PASSWORD) --form email=$(EMAIL) http://scan5.coverity.com/cgi-bin/upload.py
|
||
|
|
||
|
# Makefile ends here
|