- 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
30 lines
842 B
Makefile
30 lines
842 B
Makefile
TOP = ../..
|
|
SWIG = $(TOP)/../preinst-swig
|
|
INTERFACE = example.i
|
|
SRCS = example.c
|
|
CXXSRCS =
|
|
TARGET = simple
|
|
INCLUDE =
|
|
SWIGOPT =
|
|
CFLAGS =
|
|
VARIANT =
|
|
|
|
# uncomment the following two lines to build a static exe
|
|
#CHICKEN_MAIN = runme.scm
|
|
#VARIANT = _static
|
|
|
|
check: build
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' chicken_run
|
|
|
|
build: $(TARGET)
|
|
|
|
$(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)
|
|
|
|
clean:
|
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' chicken_clean
|
|
rm -f example.scm example-generic.scm example-clos.scm
|
|
rm -f $(TARGET)
|