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

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

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:
