swig/Examples/test-suite/javascript/Makefile.in
2013-09-06 01:40:23 +03:00

99 lines
1.8 KiB
Makefile
Executable file

#######################################################################
# Makefile for javascript test-suite
#######################################################################
LANGUAGE = javascript
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
SWIGOPT += -$(JSENGINE)
ifeq ("node",$(JSENGINE))
setup = \
if [ ! -f $(srcdir)/$*/binding.gyp ]; then \
echo "Setting up nodejs addon..."; \
sh ./setup_test.sh $*; \
$(SWIG) -c++ -javascript -node -o $*/$*_wrap.cxx ../$*.i; \
fi
nodejs_swig_and_compile = \
if [ ! -f $(srcdir)/$*/build/Makefile ]; then \
echo "Configuring node add-on..."; \
node-gyp --directory $* configure; \
fi; \
echo "Building node add-on..."; \
node-gyp --directory $* build; \
run_testcase = \
if [ -f $(srcdir)/$*$(SCRIPTSUFFIX) ]; then \
node $(srcdir)/$*$(SCRIPTSUFFIX); \
fi
%.cpptest:
$(setup)
$(nodejs_swig_and_compile)
$(run_testcase)
%.ctest:
$(setup)
$(nodejs_swig_and_compile)
$(run_testcase)
%.multicpptest:
$(setup)
$(nodejs_swig_and_compile)
$(run_testcase)
%.clean:
rm -rf $*
else
run_testcase = \
if [ -f $(srcdir)/$*$(SCRIPTSUFFIX) ]; then \
$(top_srcdir)/Tools/javascript/javascript -$(JSENGINE) $(srcdir)/$*$(SCRIPTSUFFIX); \
fi
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
%.clean:
rm $*_wrap.cxx
endif
ifeq (v8,$(ENGINE))
%.ctest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
endif
ifeq (jsc,$(ENGINE))
%.ctest:
$(setup)
+$(swig_and_compile_c)
$(run_testcase)
endif
clean: