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

# Copyright (C) 1994-2021 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@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
	$(am__configure_deps) $(basehead_HEADERS) $(ddkhead_HEADERS) \
	$(gdiplushead_HEADERS) $(glhead_HEADERS) $(idlhead_HEADERS) \
	$(khrhead_HEADERS) $(mingwhelperhead_HEADERS) \
	$(noinst_HEADERS) $(sechead_HEADERS) $(secsyshead_HEADERS) \
	$(syshead_HEADERS) $(wrlhead_HEADERS) \
	$(wrlwrappershead_HEADERS) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = crt/_mingw.h
CONFIG_CLEAN_VPATH_FILES =
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 = 
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
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)$(baseheaddir)" "$(DESTDIR)$(ddkheaddir)" \
	"$(DESTDIR)$(gdiplusheaddir)" "$(DESTDIR)$(glheaddir)" \
	"$(DESTDIR)$(idlheaddir)" "$(DESTDIR)$(khrheaddir)" \
	"$(DESTDIR)$(mingwhelperheaddir)" "$(DESTDIR)$(sdksheaddir)" \
	"$(DESTDIR)$(secheaddir)" "$(DESTDIR)$(secsysheaddir)" \
	"$(DESTDIR)$(sysheaddir)" "$(DESTDIR)$(wrlheaddir)" \
	"$(DESTDIR)$(wrlwrappersheaddir)"
HEADERS = $(basehead_HEADERS) $(ddkhead_HEADERS) \
	$(gdiplushead_HEADERS) $(glhead_HEADERS) $(idlhead_HEADERS) \
	$(khrhead_HEADERS) $(mingwhelperhead_HEADERS) \
	$(nodist_sdkshead_HEADERS) $(noinst_HEADERS) \
	$(sechead_HEADERS) $(secsyshead_HEADERS) $(syshead_HEADERS) \
	$(wrlhead_HEADERS) $(wrlwrappershead_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
	config.h.in
# 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)`
AM_RECURSIVE_TARGETS = cscope
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
	$(top_srcdir)/build-aux/config.guess \
	$(top_srcdir)/build-aux/config.sub \
	$(top_srcdir)/build-aux/install-sh \
	$(top_srcdir)/build-aux/missing $(top_srcdir)/crt/_mingw.h.in \
	ChangeLog build-aux/config.guess build-aux/config.sub \
	build-aux/install-sh build-aux/missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
  if test -d "$(distdir)"; then \
    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
      && rm -rf "$(distdir)" \
      || { sleep 5 && rm -rf "$(distdir)"; }; \
  else :; fi
am__post_remove_distdir = $(am__remove_distdir)
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
DIST_TARGETS = dist-gzip
# Exists only to be overridden by the user if desired.
AM_DISTCHECK_DVI_TARGET = dvi
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASEHEAD_LIST = @BASEHEAD_LIST@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DDKHEAD_LIST = @DDKHEAD_LIST@
DEFAULT_MSVCRT_VERSION = @DEFAULT_MSVCRT_VERSION@
DEFAULT_WIN32_WINNT = @DEFAULT_WIN32_WINNT@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ETAGS = @ETAGS@
GDIPLUSHEAD_LIST = @GDIPLUSHEAD_LIST@
GLHEAD_LIST = @GLHEAD_LIST@
IDLHEAD_LIST = @IDLHEAD_LIST@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KHRHEAD_LIST = @KHRHEAD_LIST@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MINGWHELPERHEAD_LIST = @MINGWHELPERHEAD_LIST@
MINGW_HAS_DDK = @MINGW_HAS_DDK@
MKDIR_P = @MKDIR_P@
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@
SECHEAD_LIST = @SECHEAD_LIST@
SECSYSHEAD_LIST = @SECSYSHEAD_LIST@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSHEAD_LIST = @SYSHEAD_LIST@
VERSION = @VERSION@
WIDL = @WIDL@
WRLHEAD_LIST = @WRLHEAD_LIST@
WRLWRAPPERSHEAD_LIST = @WRLWRAPPERSHEAD_LIST@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
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@
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@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
baseheaddir = $(includedir)
sysheaddir = $(baseheaddir)/sys
secheaddir = $(baseheaddir)/sec_api
secsysheaddir = $(baseheaddir)/sec_api/sys
glheaddir = $(baseheaddir)/GL
khrheaddir = $(baseheaddir)/KHR
gdiplusheaddir = $(baseheaddir)/gdiplus
wrlheaddir = $(baseheaddir)/wrl
wrlwrappersheaddir = $(baseheaddir)/wrl/wrappers
mingwhelperheaddir = $(baseheaddir)/psdk_inc
sdksheaddir = $(baseheaddir)/sdks
basehead_HEADERS = @BASEHEAD_LIST@
syshead_HEADERS = @SYSHEAD_LIST@
sechead_HEADERS = @SECHEAD_LIST@
secsyshead_HEADERS = @SECSYSHEAD_LIST@
glhead_HEADERS = @GLHEAD_LIST@
khrhead_HEADERS = @KHRHEAD_LIST@
gdiplushead_HEADERS = @GDIPLUSHEAD_LIST@
wrlhead_HEADERS = @WRLHEAD_LIST@
wrlwrappershead_HEADERS = @WRLWRAPPERSHEAD_LIST@
mingwhelperhead_HEADERS = @MINGWHELPERHEAD_LIST@
nodist_sdkshead_HEADERS = _mingw_ddk.h
noinst_HEADERS = crt/sdks/_mingw_ddk.h.in
ddkheaddir = $(baseheaddir)/ddk
idlheaddir = $(baseheaddir)
ddkhead_HEADERS = @DDKHEAD_LIST@
idlhead_HEADERS = @IDLHEAD_LIST@
CLEANFILES = $(nodist_sdkshead_HEADERS)
DISTCHECK_CONFIGURE_FLAGS = --enable-crt --enable-sdk=all --enable-idl
EXTRA_DIST = $(srcdir)/ChangeLog.* include crt ddk tlb
EXTRA_HEADERS = \
  include/*.c \
  include/*.dlg \
  include/*.h \
  include/*.h16 \
  include/*.hxx \
  include/*.idl \
  include/*.inl \
  include/*.rh \
  include/*.ver \
  include/GL/*.h \
  include/psdk_inc/*.h \
  include/gdiplus/*.h \
  include/wrl/*.h \
  include/wrl/wrappers/*.h \
  crt/*.h \
  crt/*.inl \
  crt/sys/*.h \
  crt/sec_api/*.h \
  crt/sec_api/sys/*.h \
  ddk/include/ddk/*.h \
  tlb/*.tlb

@HAVE_WIDL_TRUE@IDL_SRCS = \
@HAVE_WIDL_TRUE@  include/activation.idl \
@HAVE_WIDL_TRUE@  include/activaut.idl \
@HAVE_WIDL_TRUE@  include/activdbg.idl \
@HAVE_WIDL_TRUE@  include/activdbg100.idl \
@HAVE_WIDL_TRUE@  include/activprof.idl \
@HAVE_WIDL_TRUE@  include/activscp.idl \
@HAVE_WIDL_TRUE@  include/adhoc.idl \
@HAVE_WIDL_TRUE@  include/alg.idl \
@HAVE_WIDL_TRUE@  include/amstream.idl \
@HAVE_WIDL_TRUE@  include/amvideo.idl \
@HAVE_WIDL_TRUE@  include/asyncinfo.idl \
@HAVE_WIDL_TRUE@  include/audioclient.idl \
@HAVE_WIDL_TRUE@  include/audioendpoints.idl \
@HAVE_WIDL_TRUE@  include/audiopolicy.idl \
@HAVE_WIDL_TRUE@  include/austream.idl \
@HAVE_WIDL_TRUE@  include/bdaiface.idl \
@HAVE_WIDL_TRUE@  include/bits.idl \
@HAVE_WIDL_TRUE@  include/bits1_5.idl \
@HAVE_WIDL_TRUE@  include/bits2_0.idl \
@HAVE_WIDL_TRUE@  include/bits2_5.idl \
@HAVE_WIDL_TRUE@  include/bits3_0.idl \
@HAVE_WIDL_TRUE@  include/bits5_0.idl \
@HAVE_WIDL_TRUE@  include/comadmin.idl \
@HAVE_WIDL_TRUE@  include/commoncontrols.idl \
@HAVE_WIDL_TRUE@  include/control.idl \
@HAVE_WIDL_TRUE@  include/credentialprovider.idl \
@HAVE_WIDL_TRUE@  include/ctfutb.idl \
@HAVE_WIDL_TRUE@  include/ctxtcall.idl \
@HAVE_WIDL_TRUE@  include/d3d10.idl \
@HAVE_WIDL_TRUE@  include/d3d10_1.idl \
@HAVE_WIDL_TRUE@  include/d3d10effect.idl \
@HAVE_WIDL_TRUE@  include/d3d10sdklayers.idl \
@HAVE_WIDL_TRUE@  include/d3d10shader.idl \
@HAVE_WIDL_TRUE@  include/d3d11.idl \
@HAVE_WIDL_TRUE@  include/d3d11_1.idl \
@HAVE_WIDL_TRUE@  include/d3d11_2.idl \
@HAVE_WIDL_TRUE@  include/d3d11_3.idl \
@HAVE_WIDL_TRUE@  include/d3d11_4.idl \
@HAVE_WIDL_TRUE@  include/d3d11on12.idl \
@HAVE_WIDL_TRUE@  include/d3d11sdklayers.idl \
@HAVE_WIDL_TRUE@  include/d3d12.idl \
@HAVE_WIDL_TRUE@  include/d3d12sdklayers.idl \
@HAVE_WIDL_TRUE@  include/d3d12shader.idl \
@HAVE_WIDL_TRUE@  include/d3d12video.idl \
@HAVE_WIDL_TRUE@  include/d3dcommon.idl \
@HAVE_WIDL_TRUE@  include/dbgprop.idl \
@HAVE_WIDL_TRUE@  include/dcommon.idl \
@HAVE_WIDL_TRUE@  include/dcompanimation.idl \
@HAVE_WIDL_TRUE@  include/ddstream.idl \
@HAVE_WIDL_TRUE@  include/dinputd.idl \
@HAVE_WIDL_TRUE@  include/dimm.idl \
@HAVE_WIDL_TRUE@  include/directmanipulation.idl \
@HAVE_WIDL_TRUE@  include/dispex.idl \
@HAVE_WIDL_TRUE@  include/dmodshow.idl \
@HAVE_WIDL_TRUE@  include/docobj.idl \
@HAVE_WIDL_TRUE@  include/docobjectservice.idl \
@HAVE_WIDL_TRUE@  include/documenttarget.idl \
@HAVE_WIDL_TRUE@  include/devicetopology.idl \
@HAVE_WIDL_TRUE@  include/downloadmgr.idl \
@HAVE_WIDL_TRUE@  include/drmexternals.idl \
@HAVE_WIDL_TRUE@  include/dvdif.idl \
@HAVE_WIDL_TRUE@  include/dwrite.idl \
@HAVE_WIDL_TRUE@  include/dwrite_1.idl \
@HAVE_WIDL_TRUE@  include/dwrite_2.idl \
@HAVE_WIDL_TRUE@  include/dwrite_3.idl \
@HAVE_WIDL_TRUE@  include/dxgi.idl \
@HAVE_WIDL_TRUE@  include/dxgi1_2.idl \
@HAVE_WIDL_TRUE@  include/dxgi1_3.idl \
@HAVE_WIDL_TRUE@  include/dxgi1_4.idl \
@HAVE_WIDL_TRUE@  include/dxgi1_5.idl \
@HAVE_WIDL_TRUE@  include/dxgi1_6.idl \
@HAVE_WIDL_TRUE@  include/dxgicommon.idl \
@HAVE_WIDL_TRUE@  include/dxgidebug.idl \
@HAVE_WIDL_TRUE@  include/dxgiformat.idl \
@HAVE_WIDL_TRUE@  include/dxgitype.idl \
@HAVE_WIDL_TRUE@  include/dxva2api.idl \
@HAVE_WIDL_TRUE@  include/dxvahd.idl \
@HAVE_WIDL_TRUE@  include/endpointvolume.idl \
@HAVE_WIDL_TRUE@  include/eventtoken.idl \
@HAVE_WIDL_TRUE@  include/evr.idl \
@HAVE_WIDL_TRUE@  include/evr9.idl \
@HAVE_WIDL_TRUE@  include/exdisp.idl \
@HAVE_WIDL_TRUE@  include/filter.idl \
@HAVE_WIDL_TRUE@  include/fsrm.idl \
@HAVE_WIDL_TRUE@  include/fsrmenums.idl \
@HAVE_WIDL_TRUE@  include/fsrmquota.idl \
@HAVE_WIDL_TRUE@  include/fsrmreports.idl \
@HAVE_WIDL_TRUE@  include/fsrmscreen.idl \
@HAVE_WIDL_TRUE@  include/fusion.idl \
@HAVE_WIDL_TRUE@  include/fwptypes.idl \
@HAVE_WIDL_TRUE@  include/hstring.idl \
@HAVE_WIDL_TRUE@  include/httprequest.idl \
@HAVE_WIDL_TRUE@  include/icftypes.idl \
@HAVE_WIDL_TRUE@  include/icodecapi.idl \
@HAVE_WIDL_TRUE@  include/iketypes.idl \
@HAVE_WIDL_TRUE@  include/inputpaneinterop.idl \
@HAVE_WIDL_TRUE@  include/inputscope.idl \
@HAVE_WIDL_TRUE@  include/inspectable.idl \
@HAVE_WIDL_TRUE@  include/ivectorchangedeventargs.idl \
@HAVE_WIDL_TRUE@  include/iwscapi.idl \
@HAVE_WIDL_TRUE@  include/locationapi.idl \
@HAVE_WIDL_TRUE@  include/oaidl.idl \
@HAVE_WIDL_TRUE@  include/ocidl.idl \
@HAVE_WIDL_TRUE@  include/comcat.idl \
@HAVE_WIDL_TRUE@  include/mediaobj.idl \
@HAVE_WIDL_TRUE@  include/mfcaptureengine.idl \
@HAVE_WIDL_TRUE@  include/mfd3d12.idl \
@HAVE_WIDL_TRUE@  include/mfidl.idl \
@HAVE_WIDL_TRUE@  include/mfmediacapture.idl \
@HAVE_WIDL_TRUE@  include/mfmediaengine.idl \
@HAVE_WIDL_TRUE@  include/mfobjects.idl \
@HAVE_WIDL_TRUE@  include/mfplay.idl \
@HAVE_WIDL_TRUE@  include/mfreadwrite.idl \
@HAVE_WIDL_TRUE@  include/mftransform.idl \
@HAVE_WIDL_TRUE@  include/mmdeviceapi.idl \
@HAVE_WIDL_TRUE@  include/mpeg2data.idl \
@HAVE_WIDL_TRUE@  include/mpeg2structs.idl \
@HAVE_WIDL_TRUE@  include/mscoree.idl \
@HAVE_WIDL_TRUE@  include/msctf.idl \
@HAVE_WIDL_TRUE@  include/msinkaut.idl \
@HAVE_WIDL_TRUE@  include/mshtml.idl \
@HAVE_WIDL_TRUE@  include/mshtmhst.idl \
@HAVE_WIDL_TRUE@  include/msopc.idl \
@HAVE_WIDL_TRUE@  include/msxml.idl \
@HAVE_WIDL_TRUE@  include/msxml2.idl \
@HAVE_WIDL_TRUE@  include/msxml6.idl \
@HAVE_WIDL_TRUE@  include/napcertrelyingparty.idl \
@HAVE_WIDL_TRUE@  include/napcommon.idl \
@HAVE_WIDL_TRUE@  include/napenforcementclient.idl \
@HAVE_WIDL_TRUE@  include/napmanagement.idl \
@HAVE_WIDL_TRUE@  include/napprotocol.idl \
@HAVE_WIDL_TRUE@  include/napservermanagement.idl \
@HAVE_WIDL_TRUE@  include/napsystemhealthagent.idl \
@HAVE_WIDL_TRUE@  include/napsystemhealthvalidator.idl \
@HAVE_WIDL_TRUE@  include/naptypes.idl \
@HAVE_WIDL_TRUE@  include/netcfgn.idl \
@HAVE_WIDL_TRUE@  include/netcfgx.idl \
@HAVE_WIDL_TRUE@  include/netfw.idl \
@HAVE_WIDL_TRUE@  include/netlistmgr.idl \
@HAVE_WIDL_TRUE@  include/objectarray.idl \
@HAVE_WIDL_TRUE@  include/objidl.idl \
@HAVE_WIDL_TRUE@  include/objidlbase.idl \
@HAVE_WIDL_TRUE@  include/oleidl.idl \
@HAVE_WIDL_TRUE@  include/optary.idl \
@HAVE_WIDL_TRUE@  include/portabledeviceapi.idl \
@HAVE_WIDL_TRUE@  include/portabledevicetypes.idl \
@HAVE_WIDL_TRUE@  include/propidl.idl \
@HAVE_WIDL_TRUE@  include/propsys.idl \
@HAVE_WIDL_TRUE@  include/rdpencomapi.idl \
@HAVE_WIDL_TRUE@  include/regbag.idl \
@HAVE_WIDL_TRUE@  include/sapi51.idl \
@HAVE_WIDL_TRUE@  include/sapi53.idl \
@HAVE_WIDL_TRUE@  include/sapi54.idl \
@HAVE_WIDL_TRUE@  include/sensorsapi.idl \
@HAVE_WIDL_TRUE@  include/servprov.idl \
@HAVE_WIDL_TRUE@  include/shldisp.idl \
@HAVE_WIDL_TRUE@  include/shobjidl.idl \
@HAVE_WIDL_TRUE@  include/shtypes.idl \
@HAVE_WIDL_TRUE@  include/spatialaudioclient.idl \
@HAVE_WIDL_TRUE@  include/spellcheck.idl \
@HAVE_WIDL_TRUE@  include/strmif.idl \
@HAVE_WIDL_TRUE@  include/structuredquerycondition.idl \
@HAVE_WIDL_TRUE@  include/systemmediatransportcontrolsinterop.idl \
@HAVE_WIDL_TRUE@  include/taskschd.idl \
@HAVE_WIDL_TRUE@  include/textstor.idl \
@HAVE_WIDL_TRUE@  include/thumbcache.idl \
@HAVE_WIDL_TRUE@  include/tlbref.idl \
@HAVE_WIDL_TRUE@  include/tlogstg.idl \
@HAVE_WIDL_TRUE@  include/tpcshrd.idl \
@HAVE_WIDL_TRUE@  include/tsvirtualchannels.idl \
@HAVE_WIDL_TRUE@  include/tuner.idl \
@HAVE_WIDL_TRUE@  include/uianimation.idl \
@HAVE_WIDL_TRUE@  include/uiautomationclient.idl \
@HAVE_WIDL_TRUE@  include/uiautomationcore.idl \
@HAVE_WIDL_TRUE@  include/uiviewsettingsinterop.idl \
@HAVE_WIDL_TRUE@  include/unknwn.idl \
@HAVE_WIDL_TRUE@  include/unknwnbase.idl \
@HAVE_WIDL_TRUE@  include/urlhist.idl \
@HAVE_WIDL_TRUE@  include/urlmon.idl \
@HAVE_WIDL_TRUE@  include/vdslun.idl \
@HAVE_WIDL_TRUE@  include/vidcap.idl \
@HAVE_WIDL_TRUE@  include/vsadmin.idl \
@HAVE_WIDL_TRUE@  include/vsbackup.idl \
@HAVE_WIDL_TRUE@  include/vsmgmt.idl \
@HAVE_WIDL_TRUE@  include/vsprov.idl \
@HAVE_WIDL_TRUE@  include/vss.idl \
@HAVE_WIDL_TRUE@  include/vswriter.idl \
@HAVE_WIDL_TRUE@  include/wbemads.idl \
@HAVE_WIDL_TRUE@  include/wbemcli.idl \
@HAVE_WIDL_TRUE@  include/wbemdisp.idl \
@HAVE_WIDL_TRUE@  include/wbemprov.idl \
@HAVE_WIDL_TRUE@  include/wbemtran.idl \
@HAVE_WIDL_TRUE@  include/wdstptmgmt.idl \
@HAVE_WIDL_TRUE@  include/mediaobj.idl \
@HAVE_WIDL_TRUE@  include/medparam.idl \
@HAVE_WIDL_TRUE@  include/mmstream.idl \
@HAVE_WIDL_TRUE@  include/proofofpossessioncookieinfo.idl \
@HAVE_WIDL_TRUE@  include/qedit.idl \
@HAVE_WIDL_TRUE@  include/qnetwork.idl \
@HAVE_WIDL_TRUE@  include/relogger.idl \
@HAVE_WIDL_TRUE@  include/robuffer.idl \
@HAVE_WIDL_TRUE@  include/rtworkq.idl \
@HAVE_WIDL_TRUE@  include/vmr9.idl \
@HAVE_WIDL_TRUE@  include/weakreference.idl \
@HAVE_WIDL_TRUE@  include/wia_lh.idl \
@HAVE_WIDL_TRUE@  include/wia_xp.idl \
@HAVE_WIDL_TRUE@  include/wincodec.idl \
@HAVE_WIDL_TRUE@  include/wincodecsdk.idl \
@HAVE_WIDL_TRUE@  include/wmcontainer.idl \
@HAVE_WIDL_TRUE@  include/wmp.idl \
@HAVE_WIDL_TRUE@  include/wmprealestate.idl \
@HAVE_WIDL_TRUE@  include/wmpservices.idl \
@HAVE_WIDL_TRUE@  include/wmsbuffer.idl \
@HAVE_WIDL_TRUE@  include/wmsdkidl.idl \
@HAVE_WIDL_TRUE@  include/wmsecure.idl \
@HAVE_WIDL_TRUE@  include/wsdattachment.idl \
@HAVE_WIDL_TRUE@  include/wsdbase.idl \
@HAVE_WIDL_TRUE@  include/wsdclient.idl \
@HAVE_WIDL_TRUE@  include/wsddisco.idl \
@HAVE_WIDL_TRUE@  include/wsdhost.idl \
@HAVE_WIDL_TRUE@  include/wsdxml.idl \
@HAVE_WIDL_TRUE@  include/wsmandisp.idl \
@HAVE_WIDL_TRUE@  include/wtypesbase.idl \
@HAVE_WIDL_TRUE@  include/windows.applicationmodel.activation.idl \
@HAVE_WIDL_TRUE@  include/windows.applicationmodel.background.idl \
@HAVE_WIDL_TRUE@  include/windows.applicationmodel.core.idl \
@HAVE_WIDL_TRUE@  include/windows.applicationmodel.datatransfer.dragdrop.core.idl \
@HAVE_WIDL_TRUE@  include/windows.applicationmodel.datatransfer.dragdrop.idl \
@HAVE_WIDL_TRUE@  include/windows.applicationmodel.datatransfer.idl \
@HAVE_WIDL_TRUE@  include/windows.applicationmodel.idl \
@HAVE_WIDL_TRUE@  include/windows.data.json.idl \
@HAVE_WIDL_TRUE@  include/windows.data.xml.dom.idl \
@HAVE_WIDL_TRUE@  include/windows.devices.bluetooth.idl \
@HAVE_WIDL_TRUE@  include/windows.devices.enumeration.idl \
@HAVE_WIDL_TRUE@  include/windows.devices.geolocation.idl \
@HAVE_WIDL_TRUE@  include/windows.devices.haptics.idl \
@HAVE_WIDL_TRUE@  include/windows.devices.input.idl \
@HAVE_WIDL_TRUE@  include/windows.devices.power.idl \
@HAVE_WIDL_TRUE@  include/windows.devices.radios.idl \
@HAVE_WIDL_TRUE@  include/windows.devices.usb.idl \
@HAVE_WIDL_TRUE@  include/windows.foundation.idl \
@HAVE_WIDL_TRUE@  include/windows.foundation.collections.idl \
@HAVE_WIDL_TRUE@  include/windows.foundation.metadata.idl \
@HAVE_WIDL_TRUE@  include/windows.foundation.numerics.idl \
@HAVE_WIDL_TRUE@  include/windows.gaming.input.idl \
@HAVE_WIDL_TRUE@  include/windows.gaming.input.custom.idl \
@HAVE_WIDL_TRUE@  include/windows.gaming.input.forcefeedback.idl \
@HAVE_WIDL_TRUE@  include/windows.gaming.ui.idl \
@HAVE_WIDL_TRUE@  include/windows.globalization.idl \
@HAVE_WIDL_TRUE@  include/windows.graphics.capture.idl \
@HAVE_WIDL_TRUE@  include/windows.graphics.capture.interop.idl \
@HAVE_WIDL_TRUE@  include/windows.graphics.directx.idl \
@HAVE_WIDL_TRUE@  include/windows.graphics.directx.direct3d11.idl \
@HAVE_WIDL_TRUE@  include/windows.graphics.effects.idl \
@HAVE_WIDL_TRUE@  include/windows.graphics.holographic.idl \
@HAVE_WIDL_TRUE@  include/windows.graphics.idl \
@HAVE_WIDL_TRUE@  include/windows.graphics.imaging.idl \
@HAVE_WIDL_TRUE@  include/windows.management.deployment.idl \
@HAVE_WIDL_TRUE@  include/windows.media.capture.idl \
@HAVE_WIDL_TRUE@  include/windows.media.closedcaptioning.idl \
@HAVE_WIDL_TRUE@  include/windows.media.devices.idl \
@HAVE_WIDL_TRUE@  include/windows.media.effects.idl \
@HAVE_WIDL_TRUE@  include/windows.media.faceanalysis.idl \
@HAVE_WIDL_TRUE@  include/windows.media.idl \
@HAVE_WIDL_TRUE@  include/windows.media.render.idl \
@HAVE_WIDL_TRUE@  include/windows.media.speechrecognition.idl \
@HAVE_WIDL_TRUE@  include/windows.media.speechsynthesis.idl \
@HAVE_WIDL_TRUE@  include/windows.networking.connectivity.idl \
@HAVE_WIDL_TRUE@  include/windows.networking.idl \
@HAVE_WIDL_TRUE@  include/windows.perception.spatial.idl \
@HAVE_WIDL_TRUE@  include/windows.perception.spatial.surfaces.idl \
@HAVE_WIDL_TRUE@  include/windows.security.authentication.onlineid.idl \
@HAVE_WIDL_TRUE@  include/windows.security.authorization.appcapabilityaccess.idl \
@HAVE_WIDL_TRUE@  include/windows.security.credentials.idl \
@HAVE_WIDL_TRUE@  include/windows.security.credentials.ui.idl \
@HAVE_WIDL_TRUE@  include/windows.security.cryptography.idl \
@HAVE_WIDL_TRUE@  include/windows.security.enterprisedata.idl \
@HAVE_WIDL_TRUE@  include/windows.security.exchangeactivesyncprovisioning.idl \
@HAVE_WIDL_TRUE@  include/windows.security.isolation.idl \
@HAVE_WIDL_TRUE@  include/windows.storage.idl \
@HAVE_WIDL_TRUE@  include/windows.storage.fileproperties.idl \
@HAVE_WIDL_TRUE@  include/windows.storage.search.idl \
@HAVE_WIDL_TRUE@  include/windows.storage.streams.idl \
@HAVE_WIDL_TRUE@  include/windows.system.idl \
@HAVE_WIDL_TRUE@  include/windows.system.power.idl \
@HAVE_WIDL_TRUE@  include/windows.system.profile.idl \
@HAVE_WIDL_TRUE@  include/windows.system.profile.systemmanufacturers.idl \
@HAVE_WIDL_TRUE@  include/windows.system.threading.idl \
@HAVE_WIDL_TRUE@  include/windows.system.userprofile.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.input.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.composition.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.composition.interop.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.core.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.notifications.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.viewmanagement.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.xaml.hosting.desktopwindowxamlsource.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.xaml.idl \
@HAVE_WIDL_TRUE@  include/windows.ui.xaml.interop.idl \
@HAVE_WIDL_TRUE@  include/windowscontracts.idl \
@HAVE_WIDL_TRUE@  include/wmcodecdsp.idl \
@HAVE_WIDL_TRUE@  include/wmdrmsdk.idl \
@HAVE_WIDL_TRUE@  include/wpcapi.idl \
@HAVE_WIDL_TRUE@  include/wtypes.idl \
@HAVE_WIDL_TRUE@  include/wuapi.idl \
@HAVE_WIDL_TRUE@  include/xamlom.idl \
@HAVE_WIDL_TRUE@  include/xapo.idl \
@HAVE_WIDL_TRUE@  include/xaudio2.idl \
@HAVE_WIDL_TRUE@  include/xaudio2fx.idl \
@HAVE_WIDL_TRUE@  include/xmllite.idl \
@HAVE_WIDL_TRUE@  include/xpsdigitalsignature.idl \
@HAVE_WIDL_TRUE@  include/xpsobjectmodel_1.idl \
@HAVE_WIDL_TRUE@  include/xpsrassvc.idl \
@HAVE_WIDL_TRUE@  include/xpsobjectmodel.idl \
@HAVE_WIDL_TRUE@  include/xpsprint.idl

@HAVE_WIDL_TRUE@TLB_SRCS = \
@HAVE_WIDL_TRUE@  tlb/oleacc.dll.idl \
@HAVE_WIDL_TRUE@  tlb/stdole2.idl

@HAVE_WIDL_TRUE@BUILT_SOURCES = $(IDL_SRCS:.idl=.h) $(TLB_SRCS:.idl=.tlb)
all: $(BUILT_SOURCES) config.h
	$(MAKE) $(AM_MAKEFLAGS) all-am

.SUFFIXES:
am--refresh: Makefile
	@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    echo ' $(SHELL) ./config.status'; \
	    $(SHELL) ./config.status;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):

config.h: stamp-h1
	@test -f $@ || rm -f stamp-h1
	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1

stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
	@rm -f stamp-h1
	cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
	rm -f stamp-h1
	touch $@

distclean-hdr:
	-rm -f config.h stamp-h1
crt/_mingw.h: $(top_builddir)/config.status $(top_srcdir)/crt/_mingw.h.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
install-baseheadHEADERS: $(basehead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(basehead_HEADERS)'; test -n "$(baseheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(baseheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(baseheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(baseheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(baseheaddir)" || exit $$?; \
	done

uninstall-baseheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(basehead_HEADERS)'; test -n "$(baseheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(baseheaddir)'; $(am__uninstall_files_from_dir)
install-ddkheadHEADERS: $(ddkhead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(ddkhead_HEADERS)'; test -n "$(ddkheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(ddkheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(ddkheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(ddkheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(ddkheaddir)" || exit $$?; \
	done

uninstall-ddkheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(ddkhead_HEADERS)'; test -n "$(ddkheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(ddkheaddir)'; $(am__uninstall_files_from_dir)
install-gdiplusheadHEADERS: $(gdiplushead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(gdiplushead_HEADERS)'; test -n "$(gdiplusheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(gdiplusheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(gdiplusheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(gdiplusheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(gdiplusheaddir)" || exit $$?; \
	done

uninstall-gdiplusheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(gdiplushead_HEADERS)'; test -n "$(gdiplusheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(gdiplusheaddir)'; $(am__uninstall_files_from_dir)
install-glheadHEADERS: $(glhead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(glhead_HEADERS)'; test -n "$(glheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(glheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(glheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(glheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(glheaddir)" || exit $$?; \
	done

uninstall-glheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(glhead_HEADERS)'; test -n "$(glheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(glheaddir)'; $(am__uninstall_files_from_dir)
install-idlheadHEADERS: $(idlhead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(idlhead_HEADERS)'; test -n "$(idlheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(idlheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(idlheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(idlheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(idlheaddir)" || exit $$?; \
	done

uninstall-idlheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(idlhead_HEADERS)'; test -n "$(idlheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(idlheaddir)'; $(am__uninstall_files_from_dir)
install-khrheadHEADERS: $(khrhead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(khrhead_HEADERS)'; test -n "$(khrheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(khrheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(khrheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(khrheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(khrheaddir)" || exit $$?; \
	done

uninstall-khrheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(khrhead_HEADERS)'; test -n "$(khrheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(khrheaddir)'; $(am__uninstall_files_from_dir)
install-mingwhelperheadHEADERS: $(mingwhelperhead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(mingwhelperhead_HEADERS)'; test -n "$(mingwhelperheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(mingwhelperheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(mingwhelperheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(mingwhelperheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(mingwhelperheaddir)" || exit $$?; \
	done

uninstall-mingwhelperheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(mingwhelperhead_HEADERS)'; test -n "$(mingwhelperheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(mingwhelperheaddir)'; $(am__uninstall_files_from_dir)
install-nodist_sdksheadHEADERS: $(nodist_sdkshead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(nodist_sdkshead_HEADERS)'; test -n "$(sdksheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(sdksheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(sdksheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(sdksheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(sdksheaddir)" || exit $$?; \
	done

uninstall-nodist_sdksheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(nodist_sdkshead_HEADERS)'; test -n "$(sdksheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(sdksheaddir)'; $(am__uninstall_files_from_dir)
install-secheadHEADERS: $(sechead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(sechead_HEADERS)'; test -n "$(secheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(secheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(secheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(secheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(secheaddir)" || exit $$?; \
	done

uninstall-secheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(sechead_HEADERS)'; test -n "$(secheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(secheaddir)'; $(am__uninstall_files_from_dir)
install-secsysheadHEADERS: $(secsyshead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(secsyshead_HEADERS)'; test -n "$(secsysheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(secsysheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(secsysheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(secsysheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(secsysheaddir)" || exit $$?; \
	done

uninstall-secsysheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(secsyshead_HEADERS)'; test -n "$(secsysheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(secsysheaddir)'; $(am__uninstall_files_from_dir)
install-sysheadHEADERS: $(syshead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(syshead_HEADERS)'; test -n "$(sysheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(sysheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(sysheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(sysheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(sysheaddir)" || exit $$?; \
	done

uninstall-sysheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(syshead_HEADERS)'; test -n "$(sysheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(sysheaddir)'; $(am__uninstall_files_from_dir)
install-wrlheadHEADERS: $(wrlhead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(wrlhead_HEADERS)'; test -n "$(wrlheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(wrlheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(wrlheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(wrlheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(wrlheaddir)" || exit $$?; \
	done

uninstall-wrlheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(wrlhead_HEADERS)'; test -n "$(wrlheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(wrlheaddir)'; $(am__uninstall_files_from_dir)
install-wrlwrappersheadHEADERS: $(wrlwrappershead_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(wrlwrappershead_HEADERS)'; test -n "$(wrlwrappersheaddir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(wrlwrappersheaddir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(wrlwrappersheaddir)" || 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_HEADER) $$files '$(DESTDIR)$(wrlwrappersheaddir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(wrlwrappersheaddir)" || exit $$?; \
	done

uninstall-wrlwrappersheadHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(wrlwrappershead_HEADERS)'; test -n "$(wrlwrappersheaddir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(wrlwrappersheaddir)'; $(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"
cscope: cscope.files
	test ! -s cscope.files \
	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
	-rm -f cscope.files
cscope.files: clean-cscope cscopelist
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
	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) distdir-am

distdir-am: $(DISTFILES)
	$(am__remove_distdir)
	test -d "$(distdir)" || mkdir "$(distdir)"
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
	$(MAKE) $(AM_MAKEFLAGS) \
	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
	  dist-hook
	-test -n "$(am__skip_mode_fix)" \
	|| find "$(distdir)" -type d ! -perm -755 \
		-exec chmod u+rwx,go+rx {} \; -o \
	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
	|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
	tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
	$(am__post_remove_distdir)

dist-bzip2: distdir
	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
	$(am__post_remove_distdir)

dist-lzip: distdir
	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
	$(am__post_remove_distdir)

dist-xz: distdir
	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
	$(am__post_remove_distdir)

dist-zstd: distdir
	tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
	$(am__post_remove_distdir)

dist-tarZ: distdir
	@echo WARNING: "Support for distribution archives compressed with" \
		       "legacy program 'compress' is deprecated." >&2
	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
	$(am__post_remove_distdir)

dist-shar: distdir
	@echo WARNING: "Support for shar distribution archives is" \
	               "deprecated." >&2
	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
	shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
	$(am__post_remove_distdir)

dist-zip: distdir
	-rm -f $(distdir).zip
	zip -rq $(distdir).zip $(distdir)
	$(am__post_remove_distdir)

dist dist-all:
	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
	$(am__post_remove_distdir)

# This target untars the dist file and tries a VPATH configuration.  Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
	case '$(DIST_ARCHIVES)' in \
	*.tar.gz*) \
	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
	*.tar.bz2*) \
	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
	*.tar.lz*) \
	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
	*.tar.xz*) \
	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
	*.tar.Z*) \
	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
	*.shar.gz*) \
	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
	*.zip*) \
	  unzip $(distdir).zip ;;\
	*.tar.zst*) \
	  zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
	esac
	chmod -R a-w $(distdir)
	chmod u+w $(distdir)
	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
	chmod a-w $(distdir)
	test -d $(distdir)/_build || exit 0; \
	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
	  && am__cwd=`pwd` \
	  && $(am__cd) $(distdir)/_build/sub \
	  && ../../configure \
	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
	    $(DISTCHECK_CONFIGURE_FLAGS) \
	    --srcdir=../.. --prefix="$$dc_install_base" \
	  && $(MAKE) $(AM_MAKEFLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
	  && $(MAKE) $(AM_MAKEFLAGS) check \
	  && $(MAKE) $(AM_MAKEFLAGS) install \
	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
	        distuninstallcheck \
	  && chmod -R a-w "$$dc_install_base" \
	  && ({ \
	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
	  && rm -rf "$$dc_destdir" \
	  && $(MAKE) $(AM_MAKEFLAGS) dist \
	  && rm -rf $(DIST_ARCHIVES) \
	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
	  && cd "$$am__cwd" \
	  || exit 1
	$(am__post_remove_distdir)
	@(echo "$(distdir) archives ready for distribution: "; \
	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
	@test -n '$(distuninstallcheck_dir)' || { \
	  echo 'ERROR: trying to run $@ with an empty' \
	       '$$(distuninstallcheck_dir)' >&2; \
	  exit 1; \
	}; \
	$(am__cd) '$(distuninstallcheck_dir)' || { \
	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
	  exit 1; \
	}; \
	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
	   || { echo "ERROR: files left after uninstall:" ; \
	        if test -n "$(DESTDIR)"; then \
	          echo "  (check DESTDIR support)"; \
	        fi ; \
	        $(distuninstallcheck_listfiles) ; \
	        exit 1; } >&2
distcleancheck: distclean
	@if test '$(srcdir)' = . ; then \
	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
	  exit 1 ; \
	fi
	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
	  || { echo "ERROR: files left in build directory after distclean:" ; \
	       $(distcleancheck_listfiles) ; \
	       exit 1; } >&2
check-am: all-am
check: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(HEADERS) config.h
installdirs:
	for dir in "$(DESTDIR)$(baseheaddir)" "$(DESTDIR)$(ddkheaddir)" "$(DESTDIR)$(gdiplusheaddir)" "$(DESTDIR)$(glheaddir)" "$(DESTDIR)$(idlheaddir)" "$(DESTDIR)$(khrheaddir)" "$(DESTDIR)$(mingwhelperheaddir)" "$(DESTDIR)$(sdksheaddir)" "$(DESTDIR)$(secheaddir)" "$(DESTDIR)$(secsysheaddir)" "$(DESTDIR)$(sysheaddir)" "$(DESTDIR)$(wrlheaddir)" "$(DESTDIR)$(wrlwrappersheaddir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) 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:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

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)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am

clean-am: clean-generic mostlyclean-am

distclean: distclean-am
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-baseheadHEADERS install-ddkheadHEADERS \
	install-gdiplusheadHEADERS install-glheadHEADERS \
	install-idlheadHEADERS install-khrheadHEADERS \
	install-mingwhelperheadHEADERS install-nodist_sdksheadHEADERS \
	install-secheadHEADERS install-secsysheadHEADERS \
	install-sysheadHEADERS install-wrlheadHEADERS \
	install-wrlwrappersheadHEADERS

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

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 $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf $(top_srcdir)/autom4te.cache
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-generic

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-baseheadHEADERS uninstall-ddkheadHEADERS \
	uninstall-gdiplusheadHEADERS uninstall-glheadHEADERS \
	uninstall-idlheadHEADERS uninstall-khrheadHEADERS \
	uninstall-mingwhelperheadHEADERS \
	uninstall-nodist_sdksheadHEADERS uninstall-secheadHEADERS \
	uninstall-secsysheadHEADERS uninstall-sysheadHEADERS \
	uninstall-wrlheadHEADERS uninstall-wrlwrappersheadHEADERS

.MAKE: all check install install-am install-exec install-strip

.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \
	clean-cscope clean-generic cscope cscopelist-am ctags ctags-am \
	dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \
	dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \
	distclean distclean-generic distclean-hdr distclean-tags \
	distcleancheck distdir distuninstallcheck dvi dvi-am html \
	html-am info info-am install install-am \
	install-baseheadHEADERS install-data install-data-am \
	install-ddkheadHEADERS install-dvi install-dvi-am install-exec \
	install-exec-am install-gdiplusheadHEADERS \
	install-glheadHEADERS install-html install-html-am \
	install-idlheadHEADERS install-info install-info-am \
	install-khrheadHEADERS install-man \
	install-mingwhelperheadHEADERS install-nodist_sdksheadHEADERS \
	install-pdf install-pdf-am install-ps install-ps-am \
	install-secheadHEADERS install-secsysheadHEADERS install-strip \
	install-sysheadHEADERS install-wrlheadHEADERS \
	install-wrlwrappersheadHEADERS installcheck installcheck-am \
	installdirs maintainer-clean maintainer-clean-generic \
	mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
	tags-am uninstall uninstall-am uninstall-baseheadHEADERS \
	uninstall-ddkheadHEADERS uninstall-gdiplusheadHEADERS \
	uninstall-glheadHEADERS uninstall-idlheadHEADERS \
	uninstall-khrheadHEADERS uninstall-mingwhelperheadHEADERS \
	uninstall-nodist_sdksheadHEADERS uninstall-secheadHEADERS \
	uninstall-secsysheadHEADERS uninstall-sysheadHEADERS \
	uninstall-wrlheadHEADERS uninstall-wrlwrappersheadHEADERS

.PRECIOUS: Makefile


dist-hook:
	find $(distdir) -name ".svn" -type d -delete

@HAVE_WIDL_TRUE@%.h: %.idl crt/_mingw.h
@HAVE_WIDL_TRUE@	$(WIDL) -DBOOL=WINBOOL -I$(srcdir)/include -Icrt -I$(srcdir)/crt -h -o $@ $<

@HAVE_WIDL_TRUE@%.tlb: %.idl
@HAVE_WIDL_TRUE@	$(WIDL) -I$(srcdir)/include -L$(srcdir)/tlb -t -o $@ $<

@HAVE_WIDL_TRUE@%_i.c: %.idl crt/_mingw.h
@HAVE_WIDL_TRUE@	$(WIDL) -DBOOL=WINBOOL -I$(srcdir)/include -Icrt -I$(srcdir)/crt -u -o $@ $<

# following headers are not meant to be generated from IDLs, so override default rule
@HAVE_WIDL_TRUE@include/prsht.h: ;
@HAVE_WIDL_TRUE@include/wincrypt.h: ;

_mingw_ddk.h: $(srcdir)/crt/sdks/_mingw_ddk.h.in
	$(SED) s/MINGW_HAS_DDK$$/@MINGW_HAS_DDK@/ $< > $@

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