# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@

# Copyright (C) 1994-2017 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@


VPATH = @srcdir@
am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
	$(top_srcdir)/../config/cet.m4 \
	$(top_srcdir)/../config/clang-plugin.m4 \
	$(top_srcdir)/../config/enable.m4 \
	$(top_srcdir)/../config/gcc-plugin.m4 \
	$(top_srcdir)/../config/lead-dot.m4 \
	$(top_srcdir)/../config/multi.m4 \
	$(top_srcdir)/../config/override.m4 \
	$(top_srcdir)/../config/toolexeclibdir.m4 \
	$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
	$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
	$(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
	$(top_srcdir)/m4/gcc_support.m4 $(top_srcdir)/m4/autoconf.m4 \
	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/gdc.m4 \
	$(top_srcdir)/m4/druntime.m4 $(top_srcdir)/m4/druntime/cpu.m4 \
	$(top_srcdir)/m4/druntime/os.m4 \
	$(top_srcdir)/m4/druntime/libraries.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = libgphobos.spec
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
  for p in $$list; do echo "$$p $$p"; done | \
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
    if (++n[$$2] == $(am__install_max)) \
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
    END { for (dir in files) print dir, files[dir] }'
am__base_list = \
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
  test -z "$$files" \
    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
         $(am__cd) "$$dir" && rm -f $$files; }; \
  }
am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \
	"$(DESTDIR)$(toolexeclibdir)"
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
am__DEPENDENCIES_1 =
am__dirstamp = $(am__leading_dot)dirstamp
@ENABLE_LIBDRUNTIME_ONLY_FALSE@am__objects_1 = etc/c/curl.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/odbc32.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/odbc64.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/sql.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/sqlext.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/sqltypes.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/sqlucode.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/sqlite3.lo etc/c/zlib.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/comparison.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/internal.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/iteration.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/mutation.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/searching.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/setops.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/sorting.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/array.lo std/ascii.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/base64.lo std/bigint.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/bitmanip.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/checkedint.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/compiler.lo std/complex.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/concurrency.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/array.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/binaryheap.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/dlist.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/rbtree.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/slist.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/util.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/conv.lo std/csv.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/date.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/interval.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/stopwatch.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/systime.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/timezone.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/demangle.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/crc.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/hmac.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/md.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/murmurhash.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/ripemd.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/sha.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/encoding.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/exception.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/affix_allocator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/aligned_block_list.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/allocator_list.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/ascending_page_allocator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/bitmapped_block.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/bucketizer.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/fallback_allocator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/free_list.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/free_tree.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/kernighan_ritchie.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/null_allocator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/quantizer.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/region.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/scoped_allocator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/segregator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/stats_collector.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/common.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/gc_allocator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/mallocator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/mmap_allocator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/showcase.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/typed.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/checkedint.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/logger/core.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/logger/filelogger.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/logger/multilogger.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/logger/nulllogger.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/logger/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/file.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/internal/floats.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/internal/read.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/internal/write.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/read.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/spec.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/write.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/functional.lo std/getopt.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/int128.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/attributes.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/cstring.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/math/biguintcore.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/math/biguintnoasm.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/math/errorfunction.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/math/gammafunction.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/memory.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/scopebuffer.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/test/dummyrange.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/test/range.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/test/sumtype_example_overloads.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/test/uda.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_comp.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_decomp.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_grapheme.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_norm.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_tables.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/windows/advapi32.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/json.lo std/logger/core.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/logger/filelogger.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/logger/multilogger.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/logger/nulllogger.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/logger/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/algebraic.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/constants.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/exponential.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/hardware.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/operations.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/remainder.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/rounding.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/traits.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/trigonometry.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/mathspecial.lo std/meta.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/mmfile.lo std/net/curl.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/net/isemail.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/numeric.lo std/outbuffer.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/parallelism.lo std/path.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/process.lo std/random.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/range/interfaces.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/range/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/range/primitives.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/backtracking.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/generator.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/ir.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/kickstart.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/parser.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/tests.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/tests2.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/thompson.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/package.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/signals.lo std/socket.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/stdint.lo std/stdio.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/string.lo std/sumtype.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/system.lo std/traits.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/typecons.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/typetuple.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/uni/package.lo std/uri.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/utf.lo std/uuid.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/variant.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/windows/charset.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/windows/registry.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/windows/syserror.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/zip.lo std/zlib.lo
am__objects_2 = $(am__objects_1)
am__objects_3 = $(am__objects_2)
am_libgphobos_la_OBJECTS = $(am__objects_3)
libgphobos_la_OBJECTS = $(am_libgphobos_la_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
SOURCES = $(libgphobos_la_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
DATA = $(toolexeclib_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CC_FOR_BUILD = @CC_FOR_BUILD@
CET_FLAGS = @CET_FLAGS@
CFLAGS = @CFLAGS@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHECKING_DFLAGS = @CHECKING_DFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFG_ARM_EABI_UNWINDER = @DCFG_ARM_EABI_UNWINDER@
DCFG_DLPI_TLS_MODID = @DCFG_DLPI_TLS_MODID@
DCFG_ENABLE_CET = @DCFG_ENABLE_CET@
DCFG_HAVE_64BIT_ATOMICS = @DCFG_HAVE_64BIT_ATOMICS@
DCFG_HAVE_ATOMIC_BUILTINS = @DCFG_HAVE_ATOMIC_BUILTINS@
DCFG_HAVE_LIBATOMIC = @DCFG_HAVE_LIBATOMIC@
DCFG_HAVE_QSORT_R = @DCFG_HAVE_QSORT_R@
DCFG_MINFO_BRACKETING = @DCFG_MINFO_BRACKETING@
DCFG_THREAD_MODEL = @DCFG_THREAD_MODEL@
DEFS = @DEFS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GDC = @GDC@
GDCFLAGS = @GDCFLAGS@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBATOMIC = @LIBATOMIC@
LIBBACKTRACE = @LIBBACKTRACE@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBZ = @LIBZ@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_DFLAGS = @OS_DFLAGS@
OS_LINK_SPEC = @OS_LINK_SPEC@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SPEC_PHOBOS_DEPS = @SPEC_PHOBOS_DEPS@
STRIP = @STRIP@
VERSION = @VERSION@
WARN_DFLAGS = @WARN_DFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
gcc_version = @gcc_version@
gdc_include_dir = @gdc_include_dir@
get_gcc_base_ver = @get_gcc_base_ver@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
libphobos_builddir = @libphobos_builddir@
libphobos_srcdir = @libphobos_srcdir@
libphobos_toolexecdir = @libphobos_toolexecdir@
libphobos_toolexeclibdir = @libphobos_toolexeclibdir@
libtool_VERSION = @libtool_VERSION@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
phobos_compiler_pic_flag = @phobos_compiler_pic_flag@
phobos_compiler_shared_flag = @phobos_compiler_shared_flag@
phobos_lt_pic_flag = @phobos_lt_pic_flag@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@

# If there are no sources with known extension (i.e. only D sources)
# automake forgets to set this
CCLD = $(CC)
toolexecdir = $(libphobos_toolexecdir)
toolexeclibdir = $(libphobos_toolexeclibdir)
LTDCOMPILE = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=compile $(GDC) $(AM_DFLAGS)


# Include D build rules

# Make sure GDC can find libdruntime and libphobos include files
D_EXTRA_DFLAGS = -fpreview=dip1000 -fpreview=dtorfields -fpreview=fieldwise \
	-nostdinc -I $(srcdir) -I $(top_srcdir)/libdruntime \
	-I ../libdruntime -I .


# D flags for compilation
AM_DFLAGS = \
	$(phobos_lt_pic_flag) $(phobos_compiler_shared_flag) \
	$(WARN_DFLAGS) $(CHECKING_DFLAGS) $(SECTION_FLAGS) $(CET_FLAGS) \
	$(OS_DFLAGS)


# Flags for other kinds of sources
AM_CFLAGS = $(CET_FLAGS)

# Install all D files
ALL_PHOBOS_INSTALL_DSOURCES = $(PHOBOS_DSOURCES)

# Setup source files depending on configure
ALL_PHOBOS_COMPILE_DSOURCES = $(PHOBOS_DSOURCES)
ALL_PHOBOS_SOURCES = $(ALL_PHOBOS_COMPILE_DSOURCES)

# Main library build definitions
toolexeclib_DATA = libgphobos.spec
toolexeclib_LTLIBRARIES = libgphobos.la
libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES)
libgphobos_la_LIBTOOLFLAGS = 
@ENABLE_DARWIN_AT_RPATH_TRUE@libgphobos_darwin_rpath = -Wl,-rpath,@loader_path
libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
    -version-info $(libtool_VERSION) $(libgphobos_darwin_rpath)

@ENABLE_LIBDRUNTIME_ONLY_FALSE@libgphobos_la_LIBADD = \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@    ../libdruntime/libgdruntime_convenience.la $(LIBZ)

@ENABLE_LIBDRUNTIME_ONLY_TRUE@libgphobos_la_LIBADD = ../libdruntime/libgdruntime_convenience.la
libgphobos_la_DEPENDENCIES = \
    ../libdruntime/libgdruntime_convenience.la libgphobos.spec


# Also override library link commands: This is not strictly
# required, but we want to record additional dependencies such
# as pthread in the library
libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
	$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@

@ENABLE_LIBDRUNTIME_ONLY_FALSE@PHOBOS_DSOURCES = etc/c/curl.d etc/c/odbc/odbc32.d etc/c/odbc/odbc64.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/package.d etc/c/odbc/sql.d etc/c/odbc/sqlext.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/odbc/sqltypes.d etc/c/odbc/sqlucode.d etc/c/sqlite3.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	etc/c/zlib.d std/algorithm/comparison.d std/algorithm/internal.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/iteration.d std/algorithm/mutation.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/package.d std/algorithm/searching.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/algorithm/setops.d std/algorithm/sorting.d std/array.d std/ascii.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/base64.d std/bigint.d std/bitmanip.d std/checkedint.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/compiler.d std/complex.d std/concurrency.d std/container/array.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/binaryheap.d std/container/dlist.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/package.d std/container/rbtree.d std/container/slist.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/util.d std/conv.d std/csv.d std/datetime/date.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/interval.d std/datetime/package.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/stopwatch.d std/datetime/systime.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/timezone.d std/demangle.d std/digest/crc.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/hmac.d std/digest/md.d std/digest/murmurhash.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/package.d std/digest/ripemd.d std/digest/sha.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/encoding.d std/exception.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/affix_allocator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/aligned_block_list.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/allocator_list.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/ascending_page_allocator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/bitmapped_block.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/bucketizer.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/fallback_allocator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/free_list.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/free_tree.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/kernighan_ritchie.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/null_allocator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/package.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/quantizer.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/region.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/scoped_allocator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/segregator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/building_blocks/stats_collector.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/common.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/gc_allocator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/mallocator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/mmap_allocator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/package.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/showcase.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/allocator/typed.d std/experimental/checkedint.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/logger/core.d std/experimental/logger/filelogger.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/logger/multilogger.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/experimental/logger/nulllogger.d std/experimental/logger/package.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/file.d std/format/internal/floats.d std/format/internal/read.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/internal/write.d std/format/package.d std/format/read.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/format/spec.d std/format/write.d std/functional.d std/getopt.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/int128.d std/internal/attributes.d std/internal/cstring.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/math/biguintcore.d std/internal/math/biguintnoasm.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/math/errorfunction.d std/internal/math/gammafunction.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/memory.d std/internal/scopebuffer.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/test/dummyrange.d std/internal/test/range.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/test/sumtype_example_overloads.d std/internal/test/uda.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_comp.d std/internal/unicode_decomp.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_grapheme.d std/internal/unicode_norm.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_tables.d std/internal/windows/advapi32.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/json.d std/logger/core.d std/logger/filelogger.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/logger/multilogger.d std/logger/nulllogger.d std/logger/package.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/algebraic.d std/math/constants.d std/math/exponential.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/hardware.d std/math/operations.d std/math/package.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/remainder.d std/math/rounding.d std/math/traits.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/math/trigonometry.d std/mathspecial.d std/meta.d std/mmfile.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/net/curl.d std/net/isemail.d std/numeric.d std/outbuffer.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/package.d std/parallelism.d std/path.d std/process.d std/random.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/range/interfaces.d std/range/package.d std/range/primitives.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/backtracking.d std/regex/internal/generator.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/ir.d std/regex/internal/kickstart.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/parser.d std/regex/internal/tests.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/internal/tests2.d std/regex/internal/thompson.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/regex/package.d std/signals.d std/socket.d std/stdint.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/stdio.d std/string.d std/sumtype.d std/system.d std/traits.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/typecons.d std/typetuple.d std/uni/package.d std/uri.d std/utf.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/uuid.d std/variant.d std/windows/charset.d std/windows/registry.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/windows/syserror.d std/zip.d std/zlib.d


# Source file definitions. Boring stuff, auto-generated with
# libphobos/scripts/gen_phobos_sources.d
# Can't use wildcards here:
# https://www.gnu.org/software/automake/manual/html_node/Wildcards.html
@ENABLE_LIBDRUNTIME_ONLY_TRUE@PHOBOS_DSOURCES = 
all: all-am

.SUFFIXES:
.SUFFIXES: .d .lo .o
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/d_rules.am $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign --ignore-deps src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;
$(top_srcdir)/d_rules.am $(am__empty):

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
libgphobos.spec: $(top_builddir)/config.status $(srcdir)/libgphobos.spec.in
	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@

install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
	@$(NORMAL_INSTALL)
	@list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
	list2=; for p in $$list; do \
	  if test -f $$p; then \
	    list2="$$list2 $$p"; \
	  else :; fi; \
	done; \
	test -z "$$list2" || { \
	  echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \
	}

uninstall-toolexeclibLTLIBRARIES:
	@$(NORMAL_UNINSTALL)
	@list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
	for p in $$list; do \
	  $(am__strip_dir) \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \
	done

clean-toolexeclibLTLIBRARIES:
	-test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
	@list='$(toolexeclib_LTLIBRARIES)'; \
	locs=`for p in $$list; do echo $$p; done | \
	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
	      sort -u`; \
	test -z "$$locs" || { \
	  echo rm -f $${locs}; \
	  rm -f $${locs}; \
	}
etc/c/$(am__dirstamp):
	@$(MKDIR_P) etc/c
	@: > etc/c/$(am__dirstamp)
etc/c/curl.lo: etc/c/$(am__dirstamp)
etc/c/odbc/$(am__dirstamp):
	@$(MKDIR_P) etc/c/odbc
	@: > etc/c/odbc/$(am__dirstamp)
etc/c/odbc/odbc32.lo: etc/c/odbc/$(am__dirstamp)
etc/c/odbc/odbc64.lo: etc/c/odbc/$(am__dirstamp)
etc/c/odbc/package.lo: etc/c/odbc/$(am__dirstamp)
etc/c/odbc/sql.lo: etc/c/odbc/$(am__dirstamp)
etc/c/odbc/sqlext.lo: etc/c/odbc/$(am__dirstamp)
etc/c/odbc/sqltypes.lo: etc/c/odbc/$(am__dirstamp)
etc/c/odbc/sqlucode.lo: etc/c/odbc/$(am__dirstamp)
etc/c/sqlite3.lo: etc/c/$(am__dirstamp)
etc/c/zlib.lo: etc/c/$(am__dirstamp)
std/algorithm/$(am__dirstamp):
	@$(MKDIR_P) std/algorithm
	@: > std/algorithm/$(am__dirstamp)
std/algorithm/comparison.lo: std/algorithm/$(am__dirstamp)
std/algorithm/internal.lo: std/algorithm/$(am__dirstamp)
std/algorithm/iteration.lo: std/algorithm/$(am__dirstamp)
std/algorithm/mutation.lo: std/algorithm/$(am__dirstamp)
std/algorithm/package.lo: std/algorithm/$(am__dirstamp)
std/algorithm/searching.lo: std/algorithm/$(am__dirstamp)
std/algorithm/setops.lo: std/algorithm/$(am__dirstamp)
std/algorithm/sorting.lo: std/algorithm/$(am__dirstamp)
std/$(am__dirstamp):
	@$(MKDIR_P) std
	@: > std/$(am__dirstamp)
std/array.lo: std/$(am__dirstamp)
std/ascii.lo: std/$(am__dirstamp)
std/base64.lo: std/$(am__dirstamp)
std/bigint.lo: std/$(am__dirstamp)
std/bitmanip.lo: std/$(am__dirstamp)
std/checkedint.lo: std/$(am__dirstamp)
std/compiler.lo: std/$(am__dirstamp)
std/complex.lo: std/$(am__dirstamp)
std/concurrency.lo: std/$(am__dirstamp)
std/container/$(am__dirstamp):
	@$(MKDIR_P) std/container
	@: > std/container/$(am__dirstamp)
std/container/array.lo: std/container/$(am__dirstamp)
std/container/binaryheap.lo: std/container/$(am__dirstamp)
std/container/dlist.lo: std/container/$(am__dirstamp)
std/container/package.lo: std/container/$(am__dirstamp)
std/container/rbtree.lo: std/container/$(am__dirstamp)
std/container/slist.lo: std/container/$(am__dirstamp)
std/container/util.lo: std/container/$(am__dirstamp)
std/conv.lo: std/$(am__dirstamp)
std/csv.lo: std/$(am__dirstamp)
std/datetime/$(am__dirstamp):
	@$(MKDIR_P) std/datetime
	@: > std/datetime/$(am__dirstamp)
std/datetime/date.lo: std/datetime/$(am__dirstamp)
std/datetime/interval.lo: std/datetime/$(am__dirstamp)
std/datetime/package.lo: std/datetime/$(am__dirstamp)
std/datetime/stopwatch.lo: std/datetime/$(am__dirstamp)
std/datetime/systime.lo: std/datetime/$(am__dirstamp)
std/datetime/timezone.lo: std/datetime/$(am__dirstamp)
std/demangle.lo: std/$(am__dirstamp)
std/digest/$(am__dirstamp):
	@$(MKDIR_P) std/digest
	@: > std/digest/$(am__dirstamp)
std/digest/crc.lo: std/digest/$(am__dirstamp)
std/digest/hmac.lo: std/digest/$(am__dirstamp)
std/digest/md.lo: std/digest/$(am__dirstamp)
std/digest/murmurhash.lo: std/digest/$(am__dirstamp)
std/digest/package.lo: std/digest/$(am__dirstamp)
std/digest/ripemd.lo: std/digest/$(am__dirstamp)
std/digest/sha.lo: std/digest/$(am__dirstamp)
std/encoding.lo: std/$(am__dirstamp)
std/exception.lo: std/$(am__dirstamp)
std/experimental/allocator/building_blocks/$(am__dirstamp):
	@$(MKDIR_P) std/experimental/allocator/building_blocks
	@: > std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/affix_allocator.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/aligned_block_list.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/allocator_list.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/ascending_page_allocator.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/bitmapped_block.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/bucketizer.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/fallback_allocator.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/free_list.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/free_tree.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/kernighan_ritchie.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/null_allocator.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/package.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/quantizer.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/region.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/scoped_allocator.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/segregator.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/building_blocks/stats_collector.lo:  \
	std/experimental/allocator/building_blocks/$(am__dirstamp)
std/experimental/allocator/$(am__dirstamp):
	@$(MKDIR_P) std/experimental/allocator
	@: > std/experimental/allocator/$(am__dirstamp)
std/experimental/allocator/common.lo:  \
	std/experimental/allocator/$(am__dirstamp)
std/experimental/allocator/gc_allocator.lo:  \
	std/experimental/allocator/$(am__dirstamp)
std/experimental/allocator/mallocator.lo:  \
	std/experimental/allocator/$(am__dirstamp)
std/experimental/allocator/mmap_allocator.lo:  \
	std/experimental/allocator/$(am__dirstamp)
std/experimental/allocator/package.lo:  \
	std/experimental/allocator/$(am__dirstamp)
std/experimental/allocator/showcase.lo:  \
	std/experimental/allocator/$(am__dirstamp)
std/experimental/allocator/typed.lo:  \
	std/experimental/allocator/$(am__dirstamp)
std/experimental/$(am__dirstamp):
	@$(MKDIR_P) std/experimental
	@: > std/experimental/$(am__dirstamp)
std/experimental/checkedint.lo: std/experimental/$(am__dirstamp)
std/experimental/logger/$(am__dirstamp):
	@$(MKDIR_P) std/experimental/logger
	@: > std/experimental/logger/$(am__dirstamp)
std/experimental/logger/core.lo:  \
	std/experimental/logger/$(am__dirstamp)
std/experimental/logger/filelogger.lo:  \
	std/experimental/logger/$(am__dirstamp)
std/experimental/logger/multilogger.lo:  \
	std/experimental/logger/$(am__dirstamp)
std/experimental/logger/nulllogger.lo:  \
	std/experimental/logger/$(am__dirstamp)
std/experimental/logger/package.lo:  \
	std/experimental/logger/$(am__dirstamp)
std/file.lo: std/$(am__dirstamp)
std/format/internal/$(am__dirstamp):
	@$(MKDIR_P) std/format/internal
	@: > std/format/internal/$(am__dirstamp)
std/format/internal/floats.lo: std/format/internal/$(am__dirstamp)
std/format/internal/read.lo: std/format/internal/$(am__dirstamp)
std/format/internal/write.lo: std/format/internal/$(am__dirstamp)
std/format/$(am__dirstamp):
	@$(MKDIR_P) std/format
	@: > std/format/$(am__dirstamp)
std/format/package.lo: std/format/$(am__dirstamp)
std/format/read.lo: std/format/$(am__dirstamp)
std/format/spec.lo: std/format/$(am__dirstamp)
std/format/write.lo: std/format/$(am__dirstamp)
std/functional.lo: std/$(am__dirstamp)
std/getopt.lo: std/$(am__dirstamp)
std/int128.lo: std/$(am__dirstamp)
std/internal/$(am__dirstamp):
	@$(MKDIR_P) std/internal
	@: > std/internal/$(am__dirstamp)
std/internal/attributes.lo: std/internal/$(am__dirstamp)
std/internal/cstring.lo: std/internal/$(am__dirstamp)
std/internal/math/$(am__dirstamp):
	@$(MKDIR_P) std/internal/math
	@: > std/internal/math/$(am__dirstamp)
std/internal/math/biguintcore.lo: std/internal/math/$(am__dirstamp)
std/internal/math/biguintnoasm.lo: std/internal/math/$(am__dirstamp)
std/internal/math/errorfunction.lo: std/internal/math/$(am__dirstamp)
std/internal/math/gammafunction.lo: std/internal/math/$(am__dirstamp)
std/internal/memory.lo: std/internal/$(am__dirstamp)
std/internal/scopebuffer.lo: std/internal/$(am__dirstamp)
std/internal/test/$(am__dirstamp):
	@$(MKDIR_P) std/internal/test
	@: > std/internal/test/$(am__dirstamp)
std/internal/test/dummyrange.lo: std/internal/test/$(am__dirstamp)
std/internal/test/range.lo: std/internal/test/$(am__dirstamp)
std/internal/test/sumtype_example_overloads.lo:  \
	std/internal/test/$(am__dirstamp)
std/internal/test/uda.lo: std/internal/test/$(am__dirstamp)
std/internal/unicode_comp.lo: std/internal/$(am__dirstamp)
std/internal/unicode_decomp.lo: std/internal/$(am__dirstamp)
std/internal/unicode_grapheme.lo: std/internal/$(am__dirstamp)
std/internal/unicode_norm.lo: std/internal/$(am__dirstamp)
std/internal/unicode_tables.lo: std/internal/$(am__dirstamp)
std/internal/windows/$(am__dirstamp):
	@$(MKDIR_P) std/internal/windows
	@: > std/internal/windows/$(am__dirstamp)
std/internal/windows/advapi32.lo:  \
	std/internal/windows/$(am__dirstamp)
std/json.lo: std/$(am__dirstamp)
std/logger/$(am__dirstamp):
	@$(MKDIR_P) std/logger
	@: > std/logger/$(am__dirstamp)
std/logger/core.lo: std/logger/$(am__dirstamp)
std/logger/filelogger.lo: std/logger/$(am__dirstamp)
std/logger/multilogger.lo: std/logger/$(am__dirstamp)
std/logger/nulllogger.lo: std/logger/$(am__dirstamp)
std/logger/package.lo: std/logger/$(am__dirstamp)
std/math/$(am__dirstamp):
	@$(MKDIR_P) std/math
	@: > std/math/$(am__dirstamp)
std/math/algebraic.lo: std/math/$(am__dirstamp)
std/math/constants.lo: std/math/$(am__dirstamp)
std/math/exponential.lo: std/math/$(am__dirstamp)
std/math/hardware.lo: std/math/$(am__dirstamp)
std/math/operations.lo: std/math/$(am__dirstamp)
std/math/package.lo: std/math/$(am__dirstamp)
std/math/remainder.lo: std/math/$(am__dirstamp)
std/math/rounding.lo: std/math/$(am__dirstamp)
std/math/traits.lo: std/math/$(am__dirstamp)
std/math/trigonometry.lo: std/math/$(am__dirstamp)
std/mathspecial.lo: std/$(am__dirstamp)
std/meta.lo: std/$(am__dirstamp)
std/mmfile.lo: std/$(am__dirstamp)
std/net/$(am__dirstamp):
	@$(MKDIR_P) std/net
	@: > std/net/$(am__dirstamp)
std/net/curl.lo: std/net/$(am__dirstamp)
std/net/isemail.lo: std/net/$(am__dirstamp)
std/numeric.lo: std/$(am__dirstamp)
std/outbuffer.lo: std/$(am__dirstamp)
std/package.lo: std/$(am__dirstamp)
std/parallelism.lo: std/$(am__dirstamp)
std/path.lo: std/$(am__dirstamp)
std/process.lo: std/$(am__dirstamp)
std/random.lo: std/$(am__dirstamp)
std/range/$(am__dirstamp):
	@$(MKDIR_P) std/range
	@: > std/range/$(am__dirstamp)
std/range/interfaces.lo: std/range/$(am__dirstamp)
std/range/package.lo: std/range/$(am__dirstamp)
std/range/primitives.lo: std/range/$(am__dirstamp)
std/regex/internal/$(am__dirstamp):
	@$(MKDIR_P) std/regex/internal
	@: > std/regex/internal/$(am__dirstamp)
std/regex/internal/backtracking.lo:  \
	std/regex/internal/$(am__dirstamp)
std/regex/internal/generator.lo: std/regex/internal/$(am__dirstamp)
std/regex/internal/ir.lo: std/regex/internal/$(am__dirstamp)
std/regex/internal/kickstart.lo: std/regex/internal/$(am__dirstamp)
std/regex/internal/parser.lo: std/regex/internal/$(am__dirstamp)
std/regex/internal/tests.lo: std/regex/internal/$(am__dirstamp)
std/regex/internal/tests2.lo: std/regex/internal/$(am__dirstamp)
std/regex/internal/thompson.lo: std/regex/internal/$(am__dirstamp)
std/regex/$(am__dirstamp):
	@$(MKDIR_P) std/regex
	@: > std/regex/$(am__dirstamp)
std/regex/package.lo: std/regex/$(am__dirstamp)
std/signals.lo: std/$(am__dirstamp)
std/socket.lo: std/$(am__dirstamp)
std/stdint.lo: std/$(am__dirstamp)
std/stdio.lo: std/$(am__dirstamp)
std/string.lo: std/$(am__dirstamp)
std/sumtype.lo: std/$(am__dirstamp)
std/system.lo: std/$(am__dirstamp)
std/traits.lo: std/$(am__dirstamp)
std/typecons.lo: std/$(am__dirstamp)
std/typetuple.lo: std/$(am__dirstamp)
std/uni/$(am__dirstamp):
	@$(MKDIR_P) std/uni
	@: > std/uni/$(am__dirstamp)
std/uni/package.lo: std/uni/$(am__dirstamp)
std/uri.lo: std/$(am__dirstamp)
std/utf.lo: std/$(am__dirstamp)
std/uuid.lo: std/$(am__dirstamp)
std/variant.lo: std/$(am__dirstamp)
std/windows/$(am__dirstamp):
	@$(MKDIR_P) std/windows
	@: > std/windows/$(am__dirstamp)
std/windows/charset.lo: std/windows/$(am__dirstamp)
std/windows/registry.lo: std/windows/$(am__dirstamp)
std/windows/syserror.lo: std/windows/$(am__dirstamp)
std/zip.lo: std/$(am__dirstamp)
std/zlib.lo: std/$(am__dirstamp)

libgphobos.la: $(libgphobos_la_OBJECTS) $(libgphobos_la_DEPENDENCIES) $(EXTRA_libgphobos_la_DEPENDENCIES) 
	$(AM_V_GEN)$(libgphobos_la_LINK) -rpath $(toolexeclibdir) $(libgphobos_la_OBJECTS) $(libgphobos_la_LIBADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)
	-rm -f etc/c/*.$(OBJEXT)
	-rm -f etc/c/*.lo
	-rm -f etc/c/odbc/*.$(OBJEXT)
	-rm -f etc/c/odbc/*.lo
	-rm -f std/*.$(OBJEXT)
	-rm -f std/*.lo
	-rm -f std/algorithm/*.$(OBJEXT)
	-rm -f std/algorithm/*.lo
	-rm -f std/container/*.$(OBJEXT)
	-rm -f std/container/*.lo
	-rm -f std/datetime/*.$(OBJEXT)
	-rm -f std/datetime/*.lo
	-rm -f std/digest/*.$(OBJEXT)
	-rm -f std/digest/*.lo
	-rm -f std/experimental/*.$(OBJEXT)
	-rm -f std/experimental/*.lo
	-rm -f std/experimental/allocator/*.$(OBJEXT)
	-rm -f std/experimental/allocator/*.lo
	-rm -f std/experimental/allocator/building_blocks/*.$(OBJEXT)
	-rm -f std/experimental/allocator/building_blocks/*.lo
	-rm -f std/experimental/logger/*.$(OBJEXT)
	-rm -f std/experimental/logger/*.lo
	-rm -f std/format/*.$(OBJEXT)
	-rm -f std/format/*.lo
	-rm -f std/format/internal/*.$(OBJEXT)
	-rm -f std/format/internal/*.lo
	-rm -f std/internal/*.$(OBJEXT)
	-rm -f std/internal/*.lo
	-rm -f std/internal/math/*.$(OBJEXT)
	-rm -f std/internal/math/*.lo
	-rm -f std/internal/test/*.$(OBJEXT)
	-rm -f std/internal/test/*.lo
	-rm -f std/internal/windows/*.$(OBJEXT)
	-rm -f std/internal/windows/*.lo
	-rm -f std/logger/*.$(OBJEXT)
	-rm -f std/logger/*.lo
	-rm -f std/math/*.$(OBJEXT)
	-rm -f std/math/*.lo
	-rm -f std/net/*.$(OBJEXT)
	-rm -f std/net/*.lo
	-rm -f std/range/*.$(OBJEXT)
	-rm -f std/range/*.lo
	-rm -f std/regex/*.$(OBJEXT)
	-rm -f std/regex/*.lo
	-rm -f std/regex/internal/*.$(OBJEXT)
	-rm -f std/regex/internal/*.lo
	-rm -f std/uni/*.$(OBJEXT)
	-rm -f std/uni/*.lo
	-rm -f std/windows/*.$(OBJEXT)
	-rm -f std/windows/*.lo

distclean-compile:
	-rm -f *.tab.c

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
	-rm -rf etc/c/.libs etc/c/_libs
	-rm -rf etc/c/odbc/.libs etc/c/odbc/_libs
	-rm -rf std/.libs std/_libs
	-rm -rf std/algorithm/.libs std/algorithm/_libs
	-rm -rf std/container/.libs std/container/_libs
	-rm -rf std/datetime/.libs std/datetime/_libs
	-rm -rf std/digest/.libs std/digest/_libs
	-rm -rf std/experimental/.libs std/experimental/_libs
	-rm -rf std/experimental/allocator/.libs std/experimental/allocator/_libs
	-rm -rf std/experimental/allocator/building_blocks/.libs std/experimental/allocator/building_blocks/_libs
	-rm -rf std/experimental/logger/.libs std/experimental/logger/_libs
	-rm -rf std/format/.libs std/format/_libs
	-rm -rf std/format/internal/.libs std/format/internal/_libs
	-rm -rf std/internal/.libs std/internal/_libs
	-rm -rf std/internal/math/.libs std/internal/math/_libs
	-rm -rf std/internal/test/.libs std/internal/test/_libs
	-rm -rf std/internal/windows/.libs std/internal/windows/_libs
	-rm -rf std/logger/.libs std/logger/_libs
	-rm -rf std/math/.libs std/math/_libs
	-rm -rf std/net/.libs std/net/_libs
	-rm -rf std/range/.libs std/range/_libs
	-rm -rf std/regex/.libs std/regex/_libs
	-rm -rf std/regex/internal/.libs std/regex/internal/_libs
	-rm -rf std/uni/.libs std/uni/_libs
	-rm -rf std/windows/.libs std/windows/_libs
install-toolexeclibDATA: $(toolexeclib_DATA)
	@$(NORMAL_INSTALL)
	@list='$(toolexeclib_DATA)'; test -n "$(toolexeclibdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(toolexeclibdir)'"; \
	  $(INSTALL_DATA) $$files "$(DESTDIR)$(toolexeclibdir)" || exit $$?; \
	done

uninstall-toolexeclibDATA:
	@$(NORMAL_UNINSTALL)
	@list='$(toolexeclib_DATA)'; test -n "$(toolexeclibdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(toolexeclibdir)'; $(am__uninstall_files_from_dir)

ID: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(am__define_uniq_tagged_files); \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: ctags-am

CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	$(am__define_uniq_tagged_files); \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am

cscopelist-am: $(am__tagged_files)
	list='$(am__tagged_files)'; \
	case "$(srcdir)" in \
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
	  *) sdir=$(subdir)/$(srcdir) ;; \
	esac; \
	for i in $$list; do \
	  if test -f "$$i"; then \
	    echo "$(subdir)/$$i"; \
	  else \
	    echo "$$sdir/$$i"; \
	  fi; \
	done >> $(top_builddir)/cscope.files

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(DATA)
installdirs:
	for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
	-rm -f etc/c/$(am__dirstamp)
	-rm -f etc/c/odbc/$(am__dirstamp)
	-rm -f std/$(am__dirstamp)
	-rm -f std/algorithm/$(am__dirstamp)
	-rm -f std/container/$(am__dirstamp)
	-rm -f std/datetime/$(am__dirstamp)
	-rm -f std/digest/$(am__dirstamp)
	-rm -f std/experimental/$(am__dirstamp)
	-rm -f std/experimental/allocator/$(am__dirstamp)
	-rm -f std/experimental/allocator/building_blocks/$(am__dirstamp)
	-rm -f std/experimental/logger/$(am__dirstamp)
	-rm -f std/format/$(am__dirstamp)
	-rm -f std/format/internal/$(am__dirstamp)
	-rm -f std/internal/$(am__dirstamp)
	-rm -f std/internal/math/$(am__dirstamp)
	-rm -f std/internal/test/$(am__dirstamp)
	-rm -f std/internal/windows/$(am__dirstamp)
	-rm -f std/logger/$(am__dirstamp)
	-rm -f std/math/$(am__dirstamp)
	-rm -f std/net/$(am__dirstamp)
	-rm -f std/range/$(am__dirstamp)
	-rm -f std/regex/$(am__dirstamp)
	-rm -f std/regex/internal/$(am__dirstamp)
	-rm -f std/uni/$(am__dirstamp)
	-rm -f std/windows/$(am__dirstamp)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-generic clean-libtool clean-toolexeclibLTLIBRARIES \
	mostlyclean-am

distclean: distclean-am
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-data-local

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-toolexeclibDATA \
	install-toolexeclibLTLIBRARIES

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-toolexeclibDATA \
	uninstall-toolexeclibLTLIBRARIES

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
	clean-libtool clean-toolexeclibLTLIBRARIES cscopelist-am ctags \
	ctags-am distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags dvi dvi-am html html-am info \
	info-am install install-am install-data install-data-am \
	install-data-local install-dvi install-dvi-am install-exec \
	install-exec-am install-html install-html-am install-info \
	install-info-am install-man install-pdf install-pdf-am \
	install-ps install-ps-am install-strip install-toolexeclibDATA \
	install-toolexeclibLTLIBRARIES installcheck installcheck-am \
	installdirs maintainer-clean maintainer-clean-generic \
	mostlyclean mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
	uninstall-am uninstall-toolexeclibDATA \
	uninstall-toolexeclibLTLIBRARIES

.PRECIOUS: Makefile


# Compile D into normal object files
.d.o:
	$(GDC) $(GDCFLAGS) $(MULTIFLAGS) $(D_EXTRA_DFLAGS) -c -o $@ $<

# Compile D sources with libtool
.d.lo:
	$(LTDCOMPILE) $(GDCFLAGS) $(MULTIFLAGS) $(D_EXTRA_DFLAGS) -c -o $@ $<

# Handles generated files as well
install-data-local:
	for file in $(ALL_PHOBOS_INSTALL_DSOURCES); do \
	  $(MKDIR_P) `dirname $(DESTDIR)$(gdc_include_dir)/$$file` ; \
	  if test -f $$file; then \
	    $(INSTALL_HEADER) $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
	  else \
	    $(INSTALL_HEADER) $(srcdir)/$$file \
	      $(DESTDIR)$(gdc_include_dir)/$$file ; \
	  fi ; \
	done

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
