####################################################################### # Makefile for javascript test-suite ####################################################################### LANGUAGE = javascript NODEGYP = @NODEGYP@ SCRIPTSUFFIX = _runme.js srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ SWIG = $(top_builddir)/preinst_swig ifneq (, $(ENGINE)) JSENGINE=$(ENGINE) else JSENGINE=node endif include $(srcdir)/../common.mk _setup = \ if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \ echo "$(ACTION)ing $(LANGUAGE) ($(JSENGINE)) testcase $* (with run test)" ; \ else \ echo "$(ACTION)ing $(LANGUAGE) ($(JSENGINE)) testcase $*" ; \ fi; ifneq (jsc,$(ENGINE)) # This test can not be run with v8 as it uses v8 API incompatible output typemaps typemap_variables.cpptest: echo "skipping $(LANGUAGE) ($(JSENGINE)) testcase typemap_variables" ; endif ifeq (node,$(JSENGINE)) SWIGOPT += -v8 -DBUILDING_NODE_EXTENSION=1 # shut up some warnings # contract macro has an empty 'else' at the end... aggregate.cpptest: GYP_CFLAGS = \"-Wno-empty-body\" contract.cpptest: GYP_CFLAGS = \"-Wno-empty-body\" # dunno... ignoring generously apply_signed_char.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\" constant_pointers.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\" enum_thorough.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\" # Note: we need to use swig in C parse mode, but make node-gyp believe it is c++ (via file extension) swig_and_compile_c = \ sh ./setup_test.sh $* $(GYP_CFLAGS); \ $(SWIG) -javascript $(SWIGOPT) -o $*_wrap.cxx ../$*.i; \ $(NODEGYP) --loglevel=silent --directory $* configure build 1>>/dev/null swig_and_compile_cpp = \ sh ./setup_test.sh $* $(GYP_CFLAGS); \ $(SWIG) -c++ -javascript $(SWIGOPT) ../$*.i; \ $(NODEGYP) --loglevel=silent --directory $* configure build 1>>/dev/null run_testcase = \ if [ -f $(srcdir)/$*$(SCRIPTSUFFIX) ]; then \ node $(srcdir)/$*$(SCRIPTSUFFIX); \ fi %.ctest: $(_setup) $(swig_and_compile_c) $(run_testcase) %.cpptest: $(_setup) $(swig_and_compile_cpp) $(run_testcase) %.multicpptest: $(_setup) else SWIGOPT += -$(JSENGINE) run_testcase = \ if [ -f $(srcdir)/$*$(SCRIPTSUFFIX) ]; then \ $(top_srcdir)/Tools/javascript/javascript -$(JSENGINE) $(srcdir)/$*$(SCRIPTSUFFIX); \ fi %.ctest: $(_setup) +$(swig_and_compile_c) $(run_testcase) %.cpptest: $(_setup) +$(swig_and_compile_cpp) $(run_testcase) %.multicpptest: $(_setup) +$(swig_and_compile_multi_cpp) $(run_testcase) endif %.clean: rm -rf $* clean: rm -f *_wrap.cxx rm -f *_wrap.c rm -f *.so rm -f *.o