# 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/lead-dot.m4 \
	$(top_srcdir)/../config/multi.m4 \
	$(top_srcdir)/../config/override.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
am__objects_1 = etc/c/curl.lo etc/c/sqlite3.lo etc/c/zlib.lo \
	std/algorithm/comparison.lo std/algorithm/internal.lo \
	std/algorithm/iteration.lo std/algorithm/mutation.lo \
	std/algorithm/package.lo std/algorithm/searching.lo \
	std/algorithm/setops.lo std/algorithm/sorting.lo std/array.lo \
	std/ascii.lo std/base64.lo std/bigint.lo std/bitmanip.lo \
	std/compiler.lo std/complex.lo std/concurrency.lo \
	std/container/array.lo std/container/binaryheap.lo \
	std/container/dlist.lo std/container/package.lo \
	std/container/rbtree.lo std/container/slist.lo \
	std/container/util.lo std/conv.lo std/csv.lo \
	std/datetime/date.lo std/datetime/interval.lo \
	std/datetime/package.lo std/datetime/stopwatch.lo \
	std/datetime/systime.lo std/datetime/timezone.lo \
	std/demangle.lo std/digest/crc.lo std/digest/digest.lo \
	std/digest/hmac.lo std/digest/md.lo std/digest/murmurhash.lo \
	std/digest/package.lo std/digest/ripemd.lo std/digest/sha.lo \
	std/encoding.lo std/exception.lo \
	std/experimental/allocator/building_blocks/affix_allocator.lo \
	std/experimental/allocator/building_blocks/allocator_list.lo \
	std/experimental/allocator/building_blocks/bitmapped_block.lo \
	std/experimental/allocator/building_blocks/bucketizer.lo \
	std/experimental/allocator/building_blocks/fallback_allocator.lo \
	std/experimental/allocator/building_blocks/free_list.lo \
	std/experimental/allocator/building_blocks/free_tree.lo \
	std/experimental/allocator/building_blocks/kernighan_ritchie.lo \
	std/experimental/allocator/building_blocks/null_allocator.lo \
	std/experimental/allocator/building_blocks/package.lo \
	std/experimental/allocator/building_blocks/quantizer.lo \
	std/experimental/allocator/building_blocks/region.lo \
	std/experimental/allocator/building_blocks/scoped_allocator.lo \
	std/experimental/allocator/building_blocks/segregator.lo \
	std/experimental/allocator/building_blocks/stats_collector.lo \
	std/experimental/allocator/common.lo \
	std/experimental/allocator/gc_allocator.lo \
	std/experimental/allocator/mallocator.lo \
	std/experimental/allocator/mmap_allocator.lo \
	std/experimental/allocator/package.lo \
	std/experimental/allocator/showcase.lo \
	std/experimental/allocator/typed.lo \
	std/experimental/checkedint.lo std/experimental/logger/core.lo \
	std/experimental/logger/filelogger.lo \
	std/experimental/logger/multilogger.lo \
	std/experimental/logger/nulllogger.lo \
	std/experimental/logger/package.lo \
	std/experimental/typecons.lo std/file.lo std/format.lo \
	std/functional.lo std/getopt.lo std/internal/cstring.lo \
	std/internal/math/biguintcore.lo \
	std/internal/math/biguintnoasm.lo \
	std/internal/math/errorfunction.lo \
	std/internal/math/gammafunction.lo std/internal/scopebuffer.lo \
	std/internal/test/dummyrange.lo std/internal/test/range.lo \
	std/internal/test/uda.lo std/internal/unicode_comp.lo \
	std/internal/unicode_decomp.lo \
	std/internal/unicode_grapheme.lo std/internal/unicode_norm.lo \
	std/internal/unicode_tables.lo \
	std/internal/windows/advapi32.lo std/json.lo std/math.lo \
	std/mathspecial.lo std/meta.lo std/mmfile.lo std/net/curl.lo \
	std/net/isemail.lo std/numeric.lo std/outbuffer.lo \
	std/parallelism.lo std/path.lo std/process.lo std/random.lo \
	std/range/interfaces.lo std/range/package.lo \
	std/range/primitives.lo std/regex/internal/backtracking.lo \
	std/regex/internal/generator.lo std/regex/internal/ir.lo \
	std/regex/internal/kickstart.lo std/regex/internal/parser.lo \
	std/regex/internal/tests.lo std/regex/internal/thompson.lo \
	std/regex/package.lo std/signals.lo std/socket.lo \
	std/stdint.lo std/stdio.lo std/string.lo std/system.lo \
	std/traits.lo std/typecons.lo std/typetuple.lo std/uni.lo \
	std/uri.lo std/utf.lo std/uuid.lo std/variant.lo \
	std/windows/charset.lo std/windows/registry.lo \
	std/windows/syserror.lo std/xml.lo std/zip.lo std/zlib.lo
am__objects_2 = $(am__objects_1)
am__objects_3 = $(am__objects_2)
am_libgphobos_la_OBJECTS = $(am__objects_3)
libgphobos_la_OBJECTS = $(am_libgphobos_la_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
SOURCES = $(libgphobos_la_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
DATA = $(toolexeclib_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CC_FOR_BUILD = @CC_FOR_BUILD@
CFLAGS = @CFLAGS@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
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_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@
GDCFLAGSX = @GDCFLAGSX@
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@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SPEC_PHOBOS_DEPS = @SPEC_PHOBOS_DEPS@
STRIP = @STRIP@
VERSION = @VERSION@
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@
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@
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)


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

libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
	$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@


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

# 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.la $(LIBZ)
libgphobos_la_DEPENDENCIES = libgphobos.spec

# 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
PHOBOS_DSOURCES = etc/c/curl.d etc/c/sqlite3.d etc/c/zlib.d \
	std/algorithm/comparison.d std/algorithm/internal.d \
	std/algorithm/iteration.d std/algorithm/mutation.d \
	std/algorithm/package.d std/algorithm/searching.d \
	std/algorithm/setops.d std/algorithm/sorting.d std/array.d std/ascii.d \
	std/base64.d std/bigint.d std/bitmanip.d std/compiler.d std/complex.d \
	std/concurrency.d std/container/array.d std/container/binaryheap.d \
	std/container/dlist.d std/container/package.d std/container/rbtree.d \
	std/container/slist.d std/container/util.d std/conv.d std/csv.d \
	std/datetime/date.d std/datetime/interval.d std/datetime/package.d \
	std/datetime/stopwatch.d std/datetime/systime.d \
	std/datetime/timezone.d std/demangle.d std/digest/crc.d \
	std/digest/digest.d std/digest/hmac.d std/digest/md.d \
	std/digest/murmurhash.d std/digest/package.d std/digest/ripemd.d \
	std/digest/sha.d std/encoding.d std/exception.d \
	std/experimental/allocator/building_blocks/affix_allocator.d \
	std/experimental/allocator/building_blocks/allocator_list.d \
	std/experimental/allocator/building_blocks/bitmapped_block.d \
	std/experimental/allocator/building_blocks/bucketizer.d \
	std/experimental/allocator/building_blocks/fallback_allocator.d \
	std/experimental/allocator/building_blocks/free_list.d \
	std/experimental/allocator/building_blocks/free_tree.d \
	std/experimental/allocator/building_blocks/kernighan_ritchie.d \
	std/experimental/allocator/building_blocks/null_allocator.d \
	std/experimental/allocator/building_blocks/package.d \
	std/experimental/allocator/building_blocks/quantizer.d \
	std/experimental/allocator/building_blocks/region.d \
	std/experimental/allocator/building_blocks/scoped_allocator.d \
	std/experimental/allocator/building_blocks/segregator.d \
	std/experimental/allocator/building_blocks/stats_collector.d \
	std/experimental/allocator/common.d \
	std/experimental/allocator/gc_allocator.d \
	std/experimental/allocator/mallocator.d \
	std/experimental/allocator/mmap_allocator.d \
	std/experimental/allocator/package.d \
	std/experimental/allocator/showcase.d \
	std/experimental/allocator/typed.d std/experimental/checkedint.d \
	std/experimental/logger/core.d std/experimental/logger/filelogger.d \
	std/experimental/logger/multilogger.d \
	std/experimental/logger/nulllogger.d std/experimental/logger/package.d \
	std/experimental/typecons.d std/file.d std/format.d std/functional.d \
	std/getopt.d std/internal/cstring.d std/internal/math/biguintcore.d \
	std/internal/math/biguintnoasm.d std/internal/math/errorfunction.d \
	std/internal/math/gammafunction.d std/internal/scopebuffer.d \
	std/internal/test/dummyrange.d std/internal/test/range.d \
	std/internal/test/uda.d std/internal/unicode_comp.d \
	std/internal/unicode_decomp.d std/internal/unicode_grapheme.d \
	std/internal/unicode_norm.d std/internal/unicode_tables.d \
	std/internal/windows/advapi32.d std/json.d std/math.d \
	std/mathspecial.d std/meta.d std/mmfile.d std/net/curl.d \
	std/net/isemail.d std/numeric.d std/outbuffer.d std/parallelism.d \
	std/path.d std/process.d std/random.d std/range/interfaces.d \
	std/range/package.d std/range/primitives.d \
	std/regex/internal/backtracking.d std/regex/internal/generator.d \
	std/regex/internal/ir.d std/regex/internal/kickstart.d \
	std/regex/internal/parser.d std/regex/internal/tests.d \
	std/regex/internal/thompson.d std/regex/package.d std/signals.d \
	std/socket.d std/stdint.d std/stdio.d std/string.d std/system.d \
	std/traits.d std/typecons.d std/typetuple.d std/uni.d std/uri.d \
	std/utf.d std/uuid.d std/variant.d std/windows/charset.d \
	std/windows/registry.d std/windows/syserror.d std/xml.d std/zip.d \
	std/zlib.d

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/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:
