- Examples/Makefile.in rules use SRCDIR as the relative source directory - ./config.status replicates Examples/ source directory tree in build directory, and copies each Makefile to build directory, prefixed with a header which sets SRCDIR to source directory - Examples/test-suite/.../Makefile.in set SRCDIR from Autoconf-set srcdir - Examples/test-suite/errors/Makefile.in needs to filter out source directory from SWIG error messages - Lua: embedded interpreters are passed location of run-time test - Python: copy run-time scripts to build directory because of 2to3 conversion; import_packages example copies __init__.py from source directory; test-suite sets SCRIPTDIR to location of run-time tests - Javascript: binding.gyp renamed to binding.gyp.in so that $srcdir can be substituted with SRCDIR; removed './' from require() statements so that NODE_PATH can be used to point Node.js to build directory
21 lines
835 B
Makefile
21 lines
835 B
Makefile
TOP = ../..
|
|
SWIG = $(TOP)/../preinst-swig
|
|
TARGET = dual
|
|
GENCXXSRCS = example2_wrap.cxx
|
|
INTERFACE = dual.i
|
|
LUA_INTERP = dual.cpp
|
|
|
|
# This is a little different to normal as we need to static link two modules and a custom interpreter
|
|
# We need the external runtime, then swig examples2, and build the module as normal
|
|
check: build
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='$(TARGET)' lua_embed_run
|
|
|
|
build:
|
|
$(SWIG) -lua -external-runtime
|
|
$(SWIG) -c++ -lua $(SWIGOPT) -o $(GENCXXSRCS) $(SRCDIR)example2.i
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' $(SWIGLIB) GENCXXSRCS='$(GENCXXSRCS)' SWIG='$(SWIG)' \
|
|
SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='example.i' LUA_INTERP='$(LUA_INTERP)' lua_static_cpp
|
|
|
|
clean:
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' lua_clean
|
|
rm -f swigluarun.h $(TARGET)
|