- 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
38 lines
1.3 KiB
Makefile
38 lines
1.3 KiB
Makefile
TOP = ../..
|
|
SWIG = $(TOP)/../preinst-swig
|
|
INTERFACE = example.i
|
|
SRCS =
|
|
CXXSRCS = example.cxx
|
|
TARGET = class
|
|
INCLUDE =
|
|
SWIGOPT =
|
|
CFLAGS =
|
|
VARIANT =
|
|
|
|
# uncomment the following lines to build a static exe (only pick one of the CHICKEN_MAIN lines)
|
|
#CHICKEN_MAIN = runme-lowlevel.scm
|
|
#CHICKEN_MAIN = runme-tinyclos.scm
|
|
#VARIANT = _static
|
|
|
|
check: build
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' CHICKEN_SCRIPT='runme-lowlevel.scm' chicken_run
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' CHICKEN_SCRIPT='runme-tinyclos.scm' chicken_run
|
|
|
|
build: $(TARGET) $(TARGET)_proxy
|
|
|
|
$(TARGET): $(INTERFACE) $(SRCS)
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
|
SRCS='$(SRCS)' CXXSRCS='$(CXXSRCS)' CHICKEN_MAIN='$(CHICKEN_MAIN)' \
|
|
INCLUDE='$(INCLUDE)' SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' \
|
|
SWIG='$(SWIG)' INTERFACE='$(INTERFACE)' CHICKENOPTS='$(CHICKENOPTS)' chicken$(VARIANT)_cpp
|
|
|
|
$(TARGET)_proxy: $(INTERFACE) $(SRCS)
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
|
SRCS='$(SRCS)' CXXSRCS='$(CXXSRCS)' CHICKEN_MAIN='$(CHICKEN_MAIN)' \
|
|
INCLUDE='$(INCLUDE)' SWIGOPT='$(SWIGOPT) -proxy' TARGET='$(TARGET)_proxy' \
|
|
SWIG='$(SWIG)' INTERFACE='$(INTERFACE)' CHICKENOPTS='$(CHICKENOPTS)' chicken$(VARIANT)_cpp
|
|
|
|
clean:
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' chicken_clean
|
|
rm -f example.scm
|
|
rm -f $(TARGET)
|