Complete the prototype removal in ca1431. The script prevents SWIGTOOL=gdb from working as gdb can't be used to debug a shell script, it requires a binary. Add support for SWIGTOOL in all the examples. SWIG_LIB_DIR and SWIGEXE must now instead be set by all Makefiles. See issue #473.
66 lines
2.5 KiB
Makefile
66 lines
2.5 KiB
Makefile
#
|
|
# Common Makefile code for building D examples.
|
|
#
|
|
# We actually need to configure this to gain access to the default D version to
|
|
# use when D_VERSION is not set. Using Examples/Makefile.in is not enough, as
|
|
# the location of the source files (d1/ or d2/) depends on it. The alternative
|
|
# would be to add the functionality specific to Examples/d (as opposed to the
|
|
# test suite) directly to Examples/Makefile.in.
|
|
#
|
|
# This file is supposed to be included from a Makefile in the subdirectory
|
|
# corresponding to a specific example.
|
|
#
|
|
|
|
ifeq (,$(D_VERSION))
|
|
D_VERSION = @DDEFAULTVERSION@
|
|
endif
|
|
|
|
ifeq (1,$(D_VERSION))
|
|
VERSION_DIR = d1/
|
|
else
|
|
VERSION_DIR = d2/
|
|
endif
|
|
|
|
EXAMPLES_TOP = ../../..
|
|
SWIG_TOP = ../../../..
|
|
SWIGEXE = $(SWIG_TOP)/swig
|
|
SWIG_LIB_DIR = $(SWIG_TOP)/$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib
|
|
EXTRA_CFLAGS =
|
|
EXTRA_CXXFLAGS =
|
|
EXTRA_LDFLAGS =
|
|
TARGET = example_wrap
|
|
SWIGOPT = -outcurrentdir
|
|
DFLAGS = -ofrunme
|
|
|
|
ifeq (,$(SRCDIR))
|
|
DSRCS = *.d
|
|
else
|
|
DSRCS = *.d $(addprefix ../$(SRCDIR)$(VERSION_DIR),runme.d)
|
|
endif
|
|
|
|
|
|
check: build
|
|
$(MAKE) -C $(VERSION_DIR) -f $(EXAMPLES_TOP)/Makefile SRCDIR='../$(SRCDIR)' d_run
|
|
|
|
build:
|
|
mkdir -p $(VERSION_DIR)
|
|
if [ -f $(SRCDIR)example.cxx ]; then \
|
|
$(MAKE) -C $(VERSION_DIR) -f $(EXAMPLES_TOP)/Makefile SRCDIR='../$(SRCDIR)' EXTRA_CXXFLAGS='$(EXTRA_CXXFLAGS)' EXTRA_LDFLAGS='$(EXTRA_LDFLAGS)' \
|
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
|
SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='example.i' CXXSRCS='example.cxx' d_cpp; \
|
|
elif [ -f $(SRCDIR)example.c ]; then \
|
|
$(MAKE) -C $(VERSION_DIR) -f $(EXAMPLES_TOP)/Makefile SRCDIR='../$(SRCDIR)' EXTRA_CFLAGS='$(EXTRA_CFLAGS)' EXTRA_LDFLAGS='$(EXTRA_LDFLAGS)' \
|
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
|
SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='example.i' SRCS='example.c' d; \
|
|
else \
|
|
$(MAKE) -C $(VERSION_DIR) -f $(EXAMPLES_TOP)/Makefile SRCDIR='../$(SRCDIR)' EXTRA_CFLAGS='$(EXTRA_CFLAGS)' EXTRA_LDFLAGS='$(EXTRA_LDFLAGS)' \
|
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
|
SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='example.i' SRCS='' d; \
|
|
fi
|
|
$(MAKE) -C $(VERSION_DIR) -f $(EXAMPLES_TOP)/Makefile SRCDIR='../$(SRCDIR)' DSRCS='$(DSRCS)' DFLAGS='$(DFLAGS)' d_compile
|
|
|
|
clean:
|
|
if [ -d $(VERSION_DIR) ]; then \
|
|
$(MAKE) -C $(VERSION_DIR) -f $(EXAMPLES_TOP)/Makefile SRCDIR='../$(SRCDIR)' d_clean; \
|
|
fi
|
|
test -f $(VERSION_DIR)runme.d || rm -rf $(VERSION_DIR) # Only delete dir if out of source
|