# 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/enable.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/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 std/compiler.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	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/digest.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/allocator_list.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/experimental/typecons.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/file.lo std/format.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/functional.lo std/getopt.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/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/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/math.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/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/system.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/traits.lo std/typecons.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/typetuple.lo std/uni.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/uri.lo std/utf.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/uuid.lo 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/xml.lo std/zip.lo \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	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_DFLAGS = @CET_DFLAGS@
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@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
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 = -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_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 = 
libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
    -version-info $(libtool_VERSION)

@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/sqlite3.d etc/c/zlib.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	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/compiler.d std/complex.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/concurrency.d std/container/array.d std/container/binaryheap.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/dlist.d std/container/package.d std/container/rbtree.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/container/slist.d std/container/util.d std/conv.d std/csv.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/datetime/date.d 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/digest.d std/digest/hmac.d std/digest/md.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/murmurhash.d std/digest/package.d std/digest/ripemd.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/digest/sha.d 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/allocator_list.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/experimental/typecons.d std/file.d std/format.d std/functional.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/getopt.d std/internal/cstring.d std/internal/math/biguintcore.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/math/biguintnoasm.d std/internal/math/errorfunction.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/math/gammafunction.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/uda.d std/internal/unicode_comp.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_decomp.d std/internal/unicode_grapheme.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/unicode_norm.d std/internal/unicode_tables.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/internal/windows/advapi32.d std/json.d std/math.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/mathspecial.d std/meta.d std/mmfile.d std/net/curl.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/net/isemail.d std/numeric.d std/outbuffer.d std/parallelism.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/path.d std/process.d std/random.d std/range/interfaces.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	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/system.d std/traits.d std/typecons.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/typetuple.d std/uni.d std/uri.d std/utf.d std/uuid.d std/variant.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/windows/charset.d std/windows/registry.d std/windows/syserror.d \
@ENABLE_LIBDRUNTIME_ONLY_FALSE@	std/xml.d std/zip.d std/zlib.d


# Source file definitions. Boring stuff, auto-generated with
# https://gist.github.com/jpf91/8744acebc9dcf1e9d1a35cdff20afbb2
# 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/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/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/digest.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/allocator_list.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/experimental/typecons.lo: std/experimental/$(am__dirstamp)
std/file.lo: std/$(am__dirstamp)
std/format.lo: std/$(am__dirstamp)
std/functional.lo: std/$(am__dirstamp)
std/getopt.lo: std/$(am__dirstamp)
std/internal/$(am__dirstamp):
	@$(MKDIR_P) std/internal
	@: > 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/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/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/math.lo: std/$(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/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/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.lo: std/$(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/xml.lo: std/$(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 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/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/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/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 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/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/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/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 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/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/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/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:
