Multiple build directory support

.PHONY targets added


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5039 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2003-09-01 15:11:26 +00:00
commit f886cd9e3b

View file

@ -16,6 +16,8 @@
# a) Defines LANGUAGE matching a language rule in Examples/Makefile, # a) Defines LANGUAGE matching a language rule in Examples/Makefile,
# for example LANGUAGE = java # for example LANGUAGE = java
# b) Define rules for %.ctest, %.cpptest, %.multicpptest and %.clean. # b) Define rules for %.ctest, %.cpptest, %.multicpptest and %.clean.
# c) Define srcdir, top_srcdir and top_builddir (these are the
# equivalent to configure's variables of the same name).
# #
# The variables below can be overridden after including this makefile # The variables below can be overridden after including this makefile
####################################################################### #######################################################################
@ -23,17 +25,17 @@
####################################################################### #######################################################################
# Variables # Variables
####################################################################### #######################################################################
TOP = ../.. SWIG = $(top_builddir)swig
SWIG = $(TOP)/../swig SWIG_LIB = $(top_srcdir)/Lib
SWIG_LIB = $(TOP)/../Lib
TEST_SUITE = test-suite TEST_SUITE = test-suite
EXAMPLES = Examples
CXXSRCS = CXXSRCS =
CSRCS = CSRCS =
TARGETPREFIX = TARGETPREFIX =
TARGETSUFFIX = TARGETSUFFIX =
SWIGOPT = -I$(TOP)/$(TEST_SUITE) SWIGOPT = -I$(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)
INCLUDES = -I$(TOP)/$(TEST_SUITE) INCLUDES = -I$(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)
RUNTIMEDIR = ../$(TOP)/Runtime/.libs RUNTIMEDIR = $(top_builddir)/Runtime/.libs
DYNAMIC_LIB_PATH = $(RUNTIMEDIR):. DYNAMIC_LIB_PATH = $(RUNTIMEDIR):.
# #
@ -315,27 +317,30 @@ check: $(NOT_BROKEN_TEST_CASES)
broken: $(BROKEN_TEST_CASES) broken: $(BROKEN_TEST_CASES)
swig_and_compile_cpp = \ swig_and_compile_cpp = \
$(MAKE) -f $(TOP)/Makefile CXXSRCS="$(CXXSRCS)" SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \ $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile CXXSRCS="$(CXXSRCS)" \
SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \
INCLUDES="$(INCLUDES)" SWIGOPT="$(SWIGOPT)" NOLINK=true \ INCLUDES="$(INCLUDES)" SWIGOPT="$(SWIGOPT)" NOLINK=true \
TARGET="$(TARGETPREFIX)$*$(TARGETSUFFIX)" INTERFACE="$*.i" \ TARGET="$(TARGETPREFIX)$*$(TARGETSUFFIX)" INTERFACE="$*.i" \
$(LANGUAGE)$(VARIANT)_cpp $(LANGUAGE)$(VARIANT)_cpp
swig_and_compile_c = \ swig_and_compile_c = \
$(MAKE) -f $(TOP)/Makefile CSRCS="$(CSRCS)" SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \ $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile CSRCS="$(CSRCS)" \
SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \
INCLUDES="$(INCLUDES)" SWIGOPT="$(SWIGOPT)" NOLINK=true \ INCLUDES="$(INCLUDES)" SWIGOPT="$(SWIGOPT)" NOLINK=true \
TARGET="$(TARGETPREFIX)$*$(TARGETSUFFIX)" INTERFACE="$*.i" \ TARGET="$(TARGETPREFIX)$*$(TARGETSUFFIX)" INTERFACE="$*.i" \
$(LANGUAGE)$(VARIANT) $(LANGUAGE)$(VARIANT)
swig_and_compile_multi_cpp = \ swig_and_compile_multi_cpp = \
for f in `cat $(TOP)/$(TEST_SUITE)/$*.list` ; do \ for f in `cat $(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/$*.list` ; do \
$(MAKE) -f $(TOP)/Makefile CXXSRCS="$(CXXSRCS)" SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \ $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile CXXSRCS="$(CXXSRCS)" \
SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \
INCLUDES="$(INCLUDES)" SWIGOPT="$(SWIGOPT)" RUNTIMEDIR="$(RUNTIMEDIR)" \ INCLUDES="$(INCLUDES)" SWIGOPT="$(SWIGOPT)" RUNTIMEDIR="$(RUNTIMEDIR)" \
TARGET="$(TARGETPREFIX)$${f}$(TARGETSUFFIX)" INTERFACE="$$f.i" \ TARGET="$(TARGETPREFIX)$${f}$(TARGETSUFFIX)" INTERFACE="$$f.i" \
NOLINK=true $(LANGUAGE)$(VARIANT)_multi_cpp; \ NOLINK=true $(LANGUAGE)$(VARIANT)_multi_cpp; \
done done
setup = \ setup = \
@if [ -f $(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \ if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \
echo "Checking testcase $* (with run test) under $(LANGUAGE)" ; \ echo "Checking testcase $* (with run test) under $(LANGUAGE)" ; \
else \ else \
echo "Checking testcase $* under $(LANGUAGE)" ; \ echo "Checking testcase $* under $(LANGUAGE)" ; \
@ -348,3 +353,8 @@ setup = \
####################################################################### #######################################################################
clean: $(ALL_CLEAN) clean: $(ALL_CLEAN)
distclean: clean
@rm -f Makefile
.PHONY: all check broken clean distclean