D: Fix out-of-source build for examples.
This commit is contained in:
parent
7c57ebf888
commit
86276568df
12 changed files with 61 additions and 240 deletions
50
Examples/d/example.mk.in
Normal file
50
Examples/d/example.mk.in
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
#
|
||||
# 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 = ../../../..
|
||||
SWIG = $(SWIG_TOP)/preinst-swig
|
||||
EXTRA_CFLAGS =
|
||||
EXTRA_CXXFLAGS =
|
||||
EXTRA_LDFLAGS =
|
||||
TARGET = example_wrap
|
||||
SWIGOPT = -outcurrentdir
|
||||
DSRCS = *.d
|
||||
DFLAGS = -ofrunme
|
||||
|
||||
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='$(SWIG)' 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='$(SWIG)' 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='$(SWIG)' SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='example.i' SRCS='' d
|
||||
fi
|
||||
$(MAKE) -f $(EXAMPLES_TOP)/Makefile SRCDIR='../$(SRCDIR)' DSRCS='../$(SRCDIR)$(VERSION_DIR)runme.d $(DSRCS)' DFLAGS='$(DFLAGS)' d_compile
|
||||
|
||||
clean:
|
||||
$(MAKE) -C $(VERSION_DIR) -f $(EXAMPLES_TOP)/Makefile SRCDIR='../$(SRCDIR)' d_clean
|
||||
Loading…
Add table
Add a link
Reference in a new issue