# # 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) -C $(VERSION_DIR) -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