# # 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