- 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
40 lines
940 B
Makefile
40 lines
940 B
Makefile
TOP = ../..
|
|
SWIG = $(realpath $(TOP)/../preinst-swig)
|
|
SWIGOPT =
|
|
LIBS =
|
|
PY3 =
|
|
|
|
import_packages_subdirs = \
|
|
same_modnames1 \
|
|
same_modnames2 \
|
|
from_init1 \
|
|
from_init2 \
|
|
from_init3 \
|
|
relativeimport1 \
|
|
relativeimport1
|
|
|
|
check: build
|
|
if test "x$(SRCDIR)" != x; then \
|
|
for file in `cd $(SRCDIR) && find . -type f -name __init__.py`; do \
|
|
cp "${SRCDIR}$$file" "$$file" || exit 1; \
|
|
done; \
|
|
fi; \
|
|
for s in $(import_packages_subdirs); do \
|
|
(cd $$s && $(MAKE) check); \
|
|
done
|
|
|
|
build:
|
|
for s in $(import_packages_subdirs); do \
|
|
(cd $$s && $(MAKE) SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' build); \
|
|
done
|
|
|
|
static:
|
|
for s in $(import_packages_subdirs); do \
|
|
(cd $$s && $(MAKE) SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' static); \
|
|
done
|
|
|
|
clean:
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_clean
|
|
for s in $(import_packages_subdirs); do \
|
|
(cd $$s && $(MAKE) clean); \
|
|
done
|