smtp: use the upload buffer size for scratch buffer malloc
[platform/upstream/curl.git] / Makefile.in
index 0818741..d83029e 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# 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,
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
+# are also available at https://curl.haxx.se/docs/copyright.html.
 #
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
 # copies of the Software, and permit persons to whom the Software is
 #
 ###########################################################################
 
-# ./lib/Makefile.inc
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+# ./src/Makefile.inc
 # Using the backslash as line continuation character might be problematic
 # with some make flavours, as Watcom's wmake showed us already. If we
 # ever want to change this in a portable manner then we should consider
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+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 \
       ?) ;; \
@@ -110,14 +142,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(srcdir)/lib/Makefile.inc $(srcdir)/Makefile.in \
-       $(srcdir)/Makefile.am $(top_srcdir)/configure \
-       $(am__configure_deps) mkinstalldirs $(srcdir)/curl-config.in \
-       $(srcdir)/libcurl.pc.in COPYING README compile config.guess \
-       config.sub depcomp install-sh missing ltmain.sh
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+       $(top_srcdir)/m4/curl-compilers.m4 \
        $(top_srcdir)/m4/curl-confopts.m4 \
        $(top_srcdir)/m4/curl-functions.m4 \
        $(top_srcdir)/m4/curl-openssl.m4 \
@@ -136,11 +164,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
        $(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) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
-       $(top_builddir)/include/curl/curlbuild.h
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h
 CONFIG_CLEAN_FILES = curl-config libcurl.pc
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -228,6 +257,10 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/curl-config.in \
+       $(srcdir)/lib/Makefile.inc $(srcdir)/libcurl.pc.in \
+       $(srcdir)/src/Makefile.inc COPYING README compile config.guess \
+       config.sub depcomp install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -284,6 +317,12 @@ CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
 CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
+CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
 CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
@@ -302,13 +341,16 @@ CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
 CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
 CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
 CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
+CURL_DISABLE_SMB = @CURL_DISABLE_SMB@
 CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
 CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
 CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
 CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
 CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@
 CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@
+CURL_WITH_MULTI_SSL = @CURL_WITH_MULTI_SSL@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_SSL_BACKEND = @DEFAULT_SSL_BACKEND@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -322,12 +364,14 @@ ENABLE_SHARED = @ENABLE_SHARED@
 ENABLE_STATIC = @ENABLE_STATIC@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
 GREP = @GREP@
+HAVE_BROTLI = @HAVE_BROTLI@
 HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
 HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
 HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_NSS_INITCONTEXT = @HAVE_NSS_INITCONTEXT@
-HAVE_SSLEAY_SRP = @HAVE_SSLEAY_SRP@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
 IDN_ENABLED = @IDN_ENABLED@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -335,7 +379,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 IPV6_ENABLED = @IPV6_ENABLED@
-KRB4_ENABLED = @KRB4_ENABLED@
+LCOV = @LCOV@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBCURL_LIBS = @LIBCURL_LIBS@
@@ -348,6 +392,7 @@ LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -356,6 +401,7 @@ MKDIR_P = @MKDIR_P@
 NM = @NM@
 NMEDIT = @NMEDIT@
 NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OTOOL = @OTOOL@
@@ -379,7 +425,9 @@ REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
+SSL_BACKENDS = @SSL_BACKENDS@
 SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
 STRIP = @STRIP@
 SUPPORT_FEATURES = @SUPPORT_FEATURES@
 SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
@@ -390,16 +438,20 @@ USE_DARWINSSL = @USE_DARWINSSL@
 USE_GNUTLS = @USE_GNUTLS@
 USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
 USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH = @USE_LIBSSH@
 USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
 USE_NSS = @USE_NSS@
 USE_OPENLDAP = @USE_OPENLDAP@
 USE_POLARSSL = @USE_POLARSSL@
 USE_SCHANNEL = @USE_SCHANNEL@
-USE_SSLEAY = @USE_SSLEAY@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
 USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
 VERSION = @VERSION@
 VERSIONNUM = @VERSIONNUM@
 ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -445,6 +497,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -456,97 +509,311 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AUTOMAKE_OPTIONS = foreign
 ACLOCAL_AMFLAGS = -I m4
-CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in             \
-CMake/CurlCheckCSourceCompiles.cmake CMake/CurlCheckCSourceRuns.cmake  \
-CMake/CurlTests.c CMake/FindOpenSSL.cmake CMake/FindZLIB.cmake         \
-CMake/OtherTests.cmake CMake/Platforms/WindowsCache.cmake              \
-CMake/Utilities.cmake include/curl/curlbuild.h.cmake
-
-VC6LIBDSP = vs/vc6/lib/vc6libcurl.dsp
-VC6LIBDSPHEAD = vs/t/lib/vc6_libcurl_dsp.head
-VC6LIBDSPFOOT = vs/t/lib/vc6_libcurl_dsp.foot
-VC8LIBPRJ = vs/vc8/lib/vc8libcurl.vcproj
-VC8LIBPRJHEAD = vs/t/lib/vc8_libcurl_prj.head
-VC8LIBPRJFOOT = vs/t/lib/vc8_libcurl_prj.foot
-VC_DIST = \
- vs/t/README \
- $(VC6LIBDSP) $(VC6LIBDSPHEAD) $(VC6LIBDSPFOOT) \
- $(VC8LIBPRJ) $(VC8LIBPRJHEAD) $(VC8LIBPRJFOOT) \
- vs/vc6/vc6curl.dsw \
- vs/vc6/lib/vc6libcurl.dsw \
- vs/vc6/src/vc6curltool.dsw \
- vs/vc6/src/vc6curltool.dsp
-
-VC6LIBDSP_DEPS = $(VC6LIBDSPHEAD) $(VC6LIBDSPFOOT) \
- Makefile.am lib/Makefile.inc
-
-VC8LIBPRJ_DEPS = $(VC8LIBPRJHEAD) $(VC8LIBPRJFOOT) \
- Makefile.am lib/Makefile.inc
+CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in      \
+ CMake/CurlTests.c CMake/FindGSS.cmake CMake/OtherTests.cmake   \
+ CMake/Platforms/WindowsCache.cmake CMake/Utilities.cmake       \
+ CMake/Macros.cmake              \
+ CMake/CurlSymbolHiding.cmake CMake/FindCARES.cmake             \
+ CMake/FindLibSSH2.cmake CMake/FindNGHTTP2.cmake                \
+ CMake/FindMbedTLS.cmake CMake/cmake_uninstall.cmake.in         \
+ CMake/curl-config.cmake
+
+VC6_LIBTMPL = projects/Windows/VC6/lib/libcurl.tmpl
+VC6_LIBDSP = projects/Windows/VC6/lib/libcurl.dsp.dist
+VC6_LIBDSP_DEPS = $(VC6_LIBTMPL) Makefile.am lib/Makefile.inc
+VC6_SRCTMPL = projects/Windows/VC6/src/curl.tmpl
+VC6_SRCDSP = projects/Windows/VC6/src/curl.dsp.dist
+VC6_SRCDSP_DEPS = $(VC6_SRCTMPL) Makefile.am src/Makefile.inc
+VC7_LIBTMPL = projects/Windows/VC7/lib/libcurl.tmpl
+VC7_LIBVCPROJ = projects/Windows/VC7/lib/libcurl.vcproj.dist
+VC7_LIBVCPROJ_DEPS = $(VC7_LIBTMPL) Makefile.am lib/Makefile.inc
+VC7_SRCTMPL = projects/Windows/VC7/src/curl.tmpl
+VC7_SRCVCPROJ = projects/Windows/VC7/src/curl.vcproj.dist
+VC7_SRCVCPROJ_DEPS = $(VC7_SRCTMPL) Makefile.am src/Makefile.inc
+VC71_LIBTMPL = projects/Windows/VC7.1/lib/libcurl.tmpl
+VC71_LIBVCPROJ = projects/Windows/VC7.1/lib/libcurl.vcproj.dist
+VC71_LIBVCPROJ_DEPS = $(VC71_LIBTMPL) Makefile.am lib/Makefile.inc
+VC71_SRCTMPL = projects/Windows/VC7.1/src/curl.tmpl
+VC71_SRCVCPROJ = projects/Windows/VC7.1/src/curl.vcproj.dist
+VC71_SRCVCPROJ_DEPS = $(VC71_SRCTMPL) Makefile.am src/Makefile.inc
+VC8_LIBTMPL = projects/Windows/VC8/lib/libcurl.tmpl
+VC8_LIBVCPROJ = projects/Windows/VC8/lib/libcurl.vcproj.dist
+VC8_LIBVCPROJ_DEPS = $(VC8_LIBTMPL) Makefile.am lib/Makefile.inc
+VC8_SRCTMPL = projects/Windows/VC8/src/curl.tmpl
+VC8_SRCVCPROJ = projects/Windows/VC8/src/curl.vcproj.dist
+VC8_SRCVCPROJ_DEPS = $(VC8_SRCTMPL) Makefile.am src/Makefile.inc
+VC9_LIBTMPL = projects/Windows/VC9/lib/libcurl.tmpl
+VC9_LIBVCPROJ = projects/Windows/VC9/lib/libcurl.vcproj.dist
+VC9_LIBVCPROJ_DEPS = $(VC9_LIBTMPL) Makefile.am lib/Makefile.inc
+VC9_SRCTMPL = projects/Windows/VC9/src/curl.tmpl
+VC9_SRCVCPROJ = projects/Windows/VC9/src/curl.vcproj.dist
+VC9_SRCVCPROJ_DEPS = $(VC9_SRCTMPL) Makefile.am src/Makefile.inc
+VC10_LIBTMPL = projects/Windows/VC10/lib/libcurl.tmpl
+VC10_LIBVCXPROJ = projects/Windows/VC10/lib/libcurl.vcxproj.dist
+VC10_LIBVCXPROJ_DEPS = $(VC10_LIBTMPL) Makefile.am lib/Makefile.inc
+VC10_SRCTMPL = projects/Windows/VC10/src/curl.tmpl
+VC10_SRCVCXPROJ = projects/Windows/VC10/src/curl.vcxproj.dist
+VC10_SRCVCXPROJ_DEPS = $(VC10_SRCTMPL) Makefile.am src/Makefile.inc
+VC11_LIBTMPL = projects/Windows/VC11/lib/libcurl.tmpl
+VC11_LIBVCXPROJ = projects/Windows/VC11/lib/libcurl.vcxproj.dist
+VC11_LIBVCXPROJ_DEPS = $(VC11_LIBTMPL) Makefile.am lib/Makefile.inc
+VC11_SRCTMPL = projects/Windows/VC11/src/curl.tmpl
+VC11_SRCVCXPROJ = projects/Windows/VC11/src/curl.vcxproj.dist
+VC11_SRCVCXPROJ_DEPS = $(VC11_SRCTMPL) Makefile.am src/Makefile.inc
+VC12_LIBTMPL = projects/Windows/VC12/lib/libcurl.tmpl
+VC12_LIBVCXPROJ = projects/Windows/VC12/lib/libcurl.vcxproj.dist
+VC12_LIBVCXPROJ_DEPS = $(VC12_LIBTMPL) Makefile.am lib/Makefile.inc
+VC12_SRCTMPL = projects/Windows/VC12/src/curl.tmpl
+VC12_SRCVCXPROJ = projects/Windows/VC12/src/curl.vcxproj.dist
+VC12_SRCVCXPROJ_DEPS = $(VC12_SRCTMPL) Makefile.am src/Makefile.inc
+VC14_LIBTMPL = projects/Windows/VC14/lib/libcurl.tmpl
+VC14_LIBVCXPROJ = projects/Windows/VC14/lib/libcurl.vcxproj.dist
+VC14_LIBVCXPROJ_DEPS = $(VC14_LIBTMPL) Makefile.am lib/Makefile.inc
+VC14_SRCTMPL = projects/Windows/VC14/src/curl.tmpl
+VC14_SRCVCXPROJ = projects/Windows/VC14/src/curl.vcxproj.dist
+VC14_SRCVCXPROJ_DEPS = $(VC14_SRCTMPL) Makefile.am src/Makefile.inc
+VC15_LIBTMPL = projects/Windows/VC15/lib/libcurl.tmpl
+VC15_LIBVCXPROJ = projects/Windows/VC15/lib/libcurl.vcxproj.dist
+VC15_LIBVCXPROJ_DEPS = $(VC15_LIBTMPL) Makefile.am lib/Makefile.inc
+VC15_SRCTMPL = projects/Windows/VC15/src/curl.tmpl
+VC15_SRCVCXPROJ = projects/Windows/VC15/src/curl.vcxproj.dist
+VC15_SRCVCXPROJ_DEPS = $(VC15_SRCTMPL) Makefile.am src/Makefile.inc
+VC_DIST = projects/README                           \
+ projects/build-openssl.bat                         \
+ projects/build-wolfssl.bat                         \
+ projects/checksrc.bat                              \
+ projects/Windows/VC6/curl-all.dsw                  \
+ projects/Windows/VC6/lib/libcurl.dsw               \
+ projects/Windows/VC6/src/curl.dsw                  \
+ projects/Windows/VC7/curl-all.sln                  \
+ projects/Windows/VC7/lib/libcurl.sln               \
+ projects/Windows/VC7/src/curl.sln                  \
+ projects/Windows/VC7.1/curl-all.sln                \
+ projects/Windows/VC7.1/lib/libcurl.sln             \
+ projects/Windows/VC7.1/src/curl.sln                \
+ projects/Windows/VC8/curl-all.sln                  \
+ projects/Windows/VC8/lib/libcurl.sln               \
+ projects/Windows/VC8/src/curl.sln                  \
+ projects/Windows/VC9/curl-all.sln                  \
+ projects/Windows/VC9/lib/libcurl.sln               \
+ projects/Windows/VC9/src/curl.sln                  \
+ projects/Windows/VC10/curl-all.sln                 \
+ projects/Windows/VC10/lib/libcurl.sln              \
+ projects/Windows/VC10/lib/libcurl.vcxproj.filters  \
+ projects/Windows/VC10/src/curl.sln                 \
+ projects/Windows/VC10/src/curl.vcxproj.filters     \
+ projects/Windows/VC11/curl-all.sln                 \
+ projects/Windows/VC11/lib/libcurl.sln              \
+ projects/Windows/VC11/lib/libcurl.vcxproj.filters  \
+ projects/Windows/VC11/src/curl.sln                 \
+ projects/Windows/VC11/src/curl.vcxproj.filters     \
+ projects/Windows/VC12/curl-all.sln                 \
+ projects/Windows/VC12/lib/libcurl.sln              \
+ projects/Windows/VC12/lib/libcurl.vcxproj.filters  \
+ projects/Windows/VC12/src/curl.sln                 \
+ projects/Windows/VC12/src/curl.vcxproj.filters     \
+ projects/Windows/VC14/curl-all.sln                 \
+ projects/Windows/VC14/lib/libcurl.sln              \
+ projects/Windows/VC14/lib/libcurl.vcxproj.filters  \
+ projects/Windows/VC14/src/curl.sln                 \
+ projects/Windows/VC14/src/curl.vcxproj.filters     \
+ projects/Windows/VC15/curl-all.sln                 \
+ projects/Windows/VC15/lib/libcurl.sln              \
+ projects/Windows/VC15/lib/libcurl.vcxproj.filters  \
+ projects/Windows/VC15/src/curl.sln                 \
+ projects/Windows/VC15/src/curl.vcxproj.filters     \
+ projects/generate.bat                              \
+ projects/wolfssl_options.h                         \
+ projects/wolfssl_override.props
 
 WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat  \
- winbuild/MakefileBuild.vc winbuild/Makefile.vc                                \
- winbuild/Makefile.msvc.names
+ winbuild/MakefileBuild.vc winbuild/Makefile.vc
 
 EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in      \
- RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework        \
- $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST) lib/libcurl.vers.in
+ RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework scripts/zsh.pl \
+ scripts/updatemanpages.pl $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST)   \
+ lib/libcurl.vers.in buildconf.bat scripts/coverage.sh
+
+CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP) $(VC7_LIBVCPROJ) $(VC7_SRCVCPROJ)     \
+ $(VC71_LIBVCPROJ) $(VC71_SRCVCPROJ) $(VC8_LIBVCPROJ) $(VC8_SRCVCPROJ) \
+ $(VC9_LIBVCPROJ) $(VC9_SRCVCPROJ) $(VC10_LIBVCXPROJ) $(VC10_SRCVCXPROJ)       \
+ $(VC11_LIBVCXPROJ) $(VC11_SRCVCXPROJ) $(VC12_LIBVCXPROJ) $(VC12_SRCVCXPROJ)   \
+ $(VC14_LIBVCXPROJ) $(VC14_SRCVCXPROJ) $(VC15_LIBVCXPROJ) $(VC15_SRCVCXPROJ)
 
-CLEANFILES = $(VC6LIBDSP) $(VC8LIBPRJ)
 bin_SCRIPTS = curl-config
-SUBDIRS = lib src include
-DIST_SUBDIRS = $(SUBDIRS) tests packages docs
+SUBDIRS = lib src
+DIST_SUBDIRS = $(SUBDIRS) tests packages scripts include docs
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libcurl.pc
-CSOURCES = file.c timeval.c base64.c hostip.c progress.c formdata.c    \
-  cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c      \
-  ldap.c ssluse.c version.c getenv.c escape.c mprintf.c telnet.c       \
-  netrc.c getinfo.c transfer.c strequal.c easy.c security.c krb4.c     \
-  curl_fnmatch.c fileinfo.c ftplistparser.c wildcard.c krb5.c          \
-  memdebug.c http_chunks.c strtok.c connect.c llist.c hash.c multi.c   \
-  content_encoding.c share.c http_digest.c md4.c md5.c \
-  http_negotiate.c inet_pton.c strtoofft.c strerror.c amigaos.c                \
-  hostasyn.c hostip4.c hostip6.c hostsyn.c inet_ntop.c parsedate.c     \
-  select.c gtls.c sslgen.c tftp.c splay.c strdup.c socks.c ssh.c nss.c \
-  qssl.c rawstr.c curl_addrinfo.c socks_gssapi.c socks_sspi.c          \
-  curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c   \
-  pingpong.c rtsp.c curl_threads.c warnless.c hmac.c polarssl.c                \
-  polarssl_threadlock.c curl_rtmp.c openldap.c curl_gethostname.c      \
-  gopher.c axtls.c idn_win32.c http_negotiate_sspi.c cyassl.c          \
-  http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c     \
-  curl_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_ntlm_msgs.c         \
-  curl_sasl.c curl_schannel.c curl_multibyte.c curl_darwinssl.c                \
-  hostcheck.c bundles.c conncache.c pipeline.c dotdot.c x509asn1.c      \
-  gskit.c
-
-HHEADERS = arpa_telnet.h netrc.h file.h timeval.h qssl.h hostip.h      \
-  progress.h formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h     \
-  if2ip.h speedcheck.h urldata.h curl_ldap.h ssluse.h escape.h telnet.h        \
-  getinfo.h strequal.h krb4.h memdebug.h http_chunks.h \
-  curl_fnmatch.h wildcard.h fileinfo.h ftplistparser.h strtok.h                \
-  connect.h llist.h hash.h content_encoding.h share.h curl_md4.h       \
-  curl_md5.h http_digest.h http_negotiate.h inet_pton.h amigaos.h      \
-  strtoofft.h strerror.h inet_ntop.h curlx.h curl_memory.h curl_setup.h        \
-  transfer.h select.h easyif.h multiif.h parsedate.h sslgen.h gtls.h   \
-  tftp.h sockaddr.h splay.h strdup.h socks.h ssh.h nssg.h curl_base64.h        \
-  rawstr.h curl_addrinfo.h curl_sspi.h slist.h nonblock.h              \
-  curl_memrchr.h imap.h pop3.h smtp.h pingpong.h rtsp.h curl_threads.h \
-  warnless.h curl_hmac.h polarssl.h polarssl_threadlock.h curl_rtmp.h  \
-  curl_gethostname.h gopher.h axtls.h cyassl.h http_proxy.h non-ascii.h        \
-  asyn.h curl_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h     \
-  curl_ntlm_msgs.h curl_sasl.h curl_schannel.h curl_multibyte.h                \
-  curl_darwinssl.h hostcheck.h bundles.h conncache.h curl_setup_once.h \
-  multihandle.h setup-vms.h pipeline.h dotdot.h x509asn1.h gskit.h
-
-
-# List of libcurl source files required to generate VC IDE dsp and prj files
-WIN32SOURCES = $(CSOURCES)
-WIN32HEADERS = $(HHEADERS) config-win32.h
+LIB_VAUTH_CFILES = vauth/vauth.c vauth/cleartext.c vauth/cram.c         \
+  vauth/digest.c vauth/digest_sspi.c vauth/krb5_gssapi.c                \
+  vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c       \
+  vauth/spnego_gssapi.c vauth/spnego_sspi.c
+
+LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h
+LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c     \
+  vtls/polarssl.c vtls/polarssl_threadlock.c vtls/axtls.c               \
+  vtls/cyassl.c vtls/schannel.c vtls/darwinssl.c vtls/gskit.c           \
+  vtls/mbedtls.c
+
+LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h                \
+  vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h vtls/axtls.h   \
+  vtls/cyassl.h vtls/schannel.h vtls/darwinssl.h vtls/gskit.h           \
+  vtls/mbedtls.h
+
+LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c   \
+  cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c       \
+  ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c         \
+  getinfo.c transfer.c strcase.c easy.c security.c curl_fnmatch.c       \
+  fileinfo.c ftplistparser.c wildcard.c krb5.c memdebug.c http_chunks.c \
+  strtok.c connect.c llist.c hash.c multi.c content_encoding.c share.c  \
+  http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c    \
+  strerror.c amigaos.c hostasyn.c hostip4.c hostip6.c hostsyn.c         \
+  inet_ntop.c parsedate.c select.c tftp.c splay.c strdup.c socks.c      \
+  ssh.c ssh-libssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c        \
+  curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c    \
+  pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c        \
+  openldap.c curl_gethostname.c gopher.c idn_win32.c                    \
+  http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c      \
+  http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c        \
+  curl_multibyte.c hostcheck.c conncache.c pipeline.c dotdot.c          \
+  x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c      \
+  mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c
+
+LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \
+  formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h         \
+  speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h        \
+  strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h          \
+  wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h      \
+  hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \
+  http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h         \
+  inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h    \
+  easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h     \
+  socks.h ssh.h curl_base64.h curl_addrinfo.h curl_sspi.h      \
+  slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h     \
+  rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h              \
+  curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h           \
+  http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h             \
+  curl_sasl.h curl_multibyte.h hostcheck.h conncache.h                  \
+  curl_setup_once.h multihandle.h setup-vms.h pipeline.h dotdot.h       \
+  x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h           \
+  curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h     \
+  curl_path.h curl_ctype.h curl_range.h
+
+LIB_RCFILES = libcurl.rc
+CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES)
+HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES)
+
+# libcurl has sources that provide functions named curlx_* that aren't part of
+# the official API, but we re-use the code here to avoid duplication.
+CURLX_CFILES = \
+       ../lib/strtoofft.c \
+       ../lib/nonblock.c \
+       ../lib/warnless.c \
+        ../lib/curl_ctype.c
+
+CURLX_HFILES = \
+       ../lib/curl_setup.h \
+       ../lib/strtoofft.h \
+       ../lib/nonblock.h \
+       ../lib/warnless.h \
+        ../lib/curl_ctype.h
+
+CURL_CFILES = \
+       slist_wc.c \
+       tool_binmode.c \
+       tool_bname.c \
+       tool_cb_dbg.c \
+       tool_cb_hdr.c \
+       tool_cb_prg.c \
+       tool_cb_rea.c \
+       tool_cb_see.c \
+       tool_cb_wrt.c \
+       tool_cfgable.c \
+       tool_convert.c \
+       tool_dirhie.c \
+       tool_doswin.c \
+       tool_easysrc.c \
+       tool_filetime.c \
+       tool_formparse.c \
+       tool_getparam.c \
+       tool_getpass.c \
+       tool_help.c \
+       tool_helpers.c \
+       tool_homedir.c \
+       tool_hugehelp.c \
+       tool_libinfo.c \
+       tool_main.c \
+       tool_metalink.c \
+       tool_msgs.c \
+       tool_operate.c \
+       tool_operhlp.c \
+       tool_panykey.c \
+       tool_paramhlp.c \
+       tool_parsecfg.c \
+       tool_strdup.c \
+       tool_setopt.c \
+       tool_sleep.c \
+       tool_urlglob.c \
+       tool_util.c \
+       tool_vms.c \
+       tool_writeout.c \
+       tool_xattr.c
+
+CURL_HFILES = \
+       slist_wc.h \
+       tool_binmode.h \
+       tool_bname.h \
+       tool_cb_dbg.h \
+       tool_cb_hdr.h \
+       tool_cb_prg.h \
+       tool_cb_rea.h \
+       tool_cb_see.h \
+       tool_cb_wrt.h \
+       tool_cfgable.h \
+       tool_convert.h \
+       tool_dirhie.h \
+       tool_doswin.h \
+       tool_easysrc.h \
+       tool_filetime.h \
+       tool_formparse.h \
+       tool_getparam.h \
+       tool_getpass.h \
+       tool_help.h \
+       tool_helpers.h \
+       tool_homedir.h \
+       tool_hugehelp.h \
+       tool_libinfo.h \
+       tool_main.h \
+       tool_metalink.h \
+       tool_msgs.h \
+       tool_operate.h \
+       tool_operhlp.h \
+       tool_panykey.h \
+       tool_paramhlp.h \
+       tool_parsecfg.h \
+       tool_sdecls.h \
+       tool_setopt.h \
+       tool_setup.h \
+       tool_sleep.h \
+       tool_strdup.h \
+       tool_urlglob.h \
+       tool_util.h \
+       tool_version.h \
+       tool_vms.h \
+       tool_writeout.h \
+       tool_xattr.h
+
+CURL_RCFILES = curl.rc
+
+# curl_SOURCES is special and gets assigned in src/Makefile.am
+CURL_FILES = $(CURL_CFILES) $(CURLX_CFILES) $(CURL_HFILES)
 all: all-recursive
 
 .SUFFIXES:
 am--refresh: Makefile
        @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/lib/Makefile.inc $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/lib/Makefile.inc $(srcdir)/src/Makefile.inc $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -559,7 +826,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/li
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
@@ -569,7 +835,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
        esac;
-$(srcdir)/lib/Makefile.inc:
+$(srcdir)/lib/Makefile.inc $(srcdir)/src/Makefile.inc $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        $(SHELL) ./config.status --recheck
@@ -823,7 +1089,7 @@ distdir: $(DISTFILES)
          ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
        || chmod -R a+r "$(distdir)"
 dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
        $(am__post_remove_distdir)
 
 dist-bzip2: distdir
@@ -839,11 +1105,17 @@ dist-xz: distdir
        $(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
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       @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
@@ -861,7 +1133,7 @@ dist dist-all:
 distcheck: dist
        case '$(DIST_ARCHIVES)' in \
        *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
        *.tar.lz*) \
@@ -871,22 +1143,23 @@ distcheck: dist
        *.tar.Z*) \
          uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
        *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
        chmod -R a-w $(distdir)
        chmod u+w $(distdir)
-       mkdir $(distdir)/_build $(distdir)/_inst
+       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 \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+         && $(am__cd) $(distdir)/_build/sub \
+         && ../../configure \
            $(AM_DISTCHECK_CONFIGURE_FLAGS) \
            $(DISTCHECK_CONFIGURE_FLAGS) \
+           --srcdir=../.. --prefix="$$dc_install_base" \
          && $(MAKE) $(AM_MAKEFLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) dvi \
          && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -980,7 +1253,7 @@ maintainer-clean-generic:
        @echo "it deletes files that may require special tools to rebuild."
 clean: clean-recursive
 
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+clean-am: clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -1051,9 +1324,9 @@ uninstall-am: uninstall-binSCRIPTS uninstall-pkgconfigDATA
 
 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
        am--refresh check check-am clean clean-cscope clean-generic \
-       clean-libtool clean-local 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 distcheck distclean \
+       clean-libtool 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 distcheck distclean \
        distclean-generic distclean-libtool distclean-tags \
        distcleancheck distdir distuninstallcheck dvi dvi-am html \
        html-am info info-am install install-am install-binSCRIPTS \
@@ -1068,6 +1341,10 @@ uninstall-am: uninstall-binSCRIPTS uninstall-pkgconfigDATA
        uninstall-am uninstall-binSCRIPTS uninstall-hook \
        uninstall-pkgconfigDATA
 
+.PRECIOUS: Makefile
+
+
+# List of files required to generate VC IDE .dsp, .vcproj and .vcxproj files
 
 dist-hook:
        rm -rf $(top_builddir)/tests/log
@@ -1075,16 +1352,16 @@ dist-hook:
        (distit=`find $(srcdir) -name "*.dist" | grep -v ./ares/`; \
        for file in $$distit; do \
          strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
-         cp $$file $(distdir)$$strip; \
+         cp -p $$file $(distdir)$$strip; \
        done)
 
 html:
-       cd docs; make html
+       cd docs && $(MAKE) html
 
 pdf:
-       cd docs; make pdf
+       cd docs && $(MAKE) pdf
 
-check: test examples
+check: test examples check-docs
 
 @CROSSCOMPILING_TRUE@test-full: test
 @CROSSCOMPILING_TRUE@test-torture: test
@@ -1098,24 +1375,24 @@ check: test examples
 @CROSSCOMPILING_FALSE@test-full:
 @CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all full-test)
 
+@CROSSCOMPILING_FALSE@test-nonflaky:
+@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all nonflaky-test)
+
 @CROSSCOMPILING_FALSE@test-torture:
 @CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all torture-test)
 
+@CROSSCOMPILING_FALSE@test-event:
+@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all event-test)
+
 @CROSSCOMPILING_FALSE@test-am:
 @CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all am-test)
 
 examples:
        @(cd docs/examples; $(MAKE) check)
 
-# This is a hook to have 'make clean' also clean up the docs and the tests
-# dir. The extra check for the Makefiles being present is necessary because
-# 'make distcheck' will make clean first in these directories _before_ it runs
-# this hook.
-clean-local:
-       @(if test -f tests/Makefile; then cd tests; $(MAKE) clean; fi)
-       @(if test -f docs/Makefile; then cd docs; $(MAKE) clean; fi)
+check-docs:
+       @(cd docs/libcurl; $(MAKE) check)
 
-#
 # Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
 # must contain the following line:
 # %_topdir /home/loic/local/rpm
@@ -1150,10 +1427,10 @@ rpm:
 # pkgadd -d ./HAXXcurl-*
 #
 
-# gak - libtool requires an absoulte directory, hence the pwd below...
+# gak - libtool requires an absolute directory, hence the pwd below...
 pkgadd:
        umask 022 ; \
-       make install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
+       $(MAKE) install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
        cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
        cd $(srcdir)/packages/Solaris && $(MAKE) package
 
@@ -1167,105 +1444,368 @@ cygwinbin:
 install-data-hook:
        cd include && $(MAKE) install
        cd docs && $(MAKE) install
+       cd docs/libcurl && $(MAKE) install
 
 # We extend the standard uninstall with a custom hook:
 uninstall-hook:
        cd include && $(MAKE) uninstall
        cd docs && $(MAKE) uninstall
+       cd docs/libcurl && $(MAKE) uninstall
 
 ca-bundle: lib/mk-ca-bundle.pl
-       @echo "generate a fresh ca-bundle.crt"
+       @echo "generating a fresh ca-bundle.crt"
        @perl $< -b -l -u lib/ca-bundle.crt
 
 ca-firefox: lib/firefox-db2pem.sh
-       @echo "generate a fresh ca-bundle.crt"
+       @echo "generating a fresh ca-bundle.crt"
        ./lib/firefox-db2pem.sh lib/ca-bundle.crt
 
 checksrc:
        cd lib && $(MAKE) checksrc
        cd src && $(MAKE) checksrc
-
-.PHONY: vc6-ide
-
-vc6-ide:
-       $(MAKE) $(VC6LIBDSP)
-
-$(VC6LIBDSP): $(VC6LIBDSP_DEPS)
-       @(echo "generating '$(VC6LIBDSP)'"; \
+       cd tests && $(MAKE) checksrc
+       cd include/curl && $(MAKE) checksrc
+       cd docs/examples && $(MAKE) checksrc
+
+.PHONY: vc-ide
+
+vc-ide: $(VC6_LIBDSP_DEPS) $(VC6_SRCDSP_DEPS) $(VC7_LIBVCPROJ_DEPS)    \
+ $(VC7_SRCVCPROJ_DEPS) $(VC71_LIBVCPROJ_DEPS) $(VC71_SRCVCPROJ_DEPS)   \
+ $(VC8_LIBVCPROJ_DEPS) $(VC8_SRCVCPROJ_DEPS) $(VC9_LIBVCPROJ_DEPS)     \
+ $(VC9_SRCVCPROJ_DEPS) $(VC10_LIBVCXPROJ_DEPS) $(VC10_SRCVCXPROJ_DEPS) \
+ $(VC11_LIBVCXPROJ_DEPS) $(VC11_SRCVCXPROJ_DEPS) $(VC12_LIBVCXPROJ_DEPS)       \
+ $(VC12_SRCVCXPROJ_DEPS) $(VC14_LIBVCXPROJ_DEPS) $(VC14_SRCVCXPROJ_DEPS)       \
+ $(VC15_LIBVCXPROJ_DEPS) $(VC15_SRCVCXPROJ_DEPS)
+       @(win32_lib_srcs='$(LIB_CFILES)'; \
+       win32_lib_hdrs='$(LIB_HFILES) config-win32.h'; \
+       win32_lib_rc='$(LIB_RCFILES)'; \
+       win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \
+       win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \
+       win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \
+       win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \
+       win32_src_srcs='$(CURL_CFILES)'; \
+       win32_src_hdrs='$(CURL_HFILES)'; \
+       win32_src_rc='$(CURL_RCFILES)'; \
+       win32_src_x_srcs='$(CURLX_CFILES)'; \
+       win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \
        \
-       for dir in 'vs' 'vs/vc6' 'vs/vc6/lib'; do \
-         test -d "$$dir" || mkdir "$$dir" || exit 1; \
-       done; \
+       sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \
+       sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \
+       sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \
+       sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \
+       sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \
+       sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \
+       sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \
+       sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \
+       sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \
+       sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \
        \
-       dir='..\..\..\lib\'; \
-       body='$(VC6LIBDSP)'.body; \
-       win32_srcs='$(WIN32SOURCES)'; \
-       win32_hdrs='$(WIN32HEADERS)'; \
-       sorted_srcs=`for file in $$win32_srcs; do echo $$file; done | sort`; \
-       sorted_hdrs=`for file in $$win32_hdrs; do echo $$file; done | sort`; \
+       awk_code='\
+function gen_element(type, dir, file)\
+{\
+  sub(/vauth\//, "", file);\
+  sub(/vtls\//, "", file);\
+\
+  spaces="    ";\
+  if(dir == "lib\\vauth" || dir == "lib\\vtls")\
+    tabs="                             ";\
+  else\
+    tabs="                     ";\
+\
+  if(type == "dsp") {\
+    printf("# Begin Source File\r\n");\
+    printf("\r\n");\
+    printf("SOURCE=..\\..\\..\\..\\%s\\%s\r\n", dir, file);\
+    printf("# End Source File\r\n");\
+  }\
+  else if(type == "vcproj1") {\
+    printf("%s<File\r\n", tabs);\
+    printf("%s RelativePath=\"..\\..\\..\\..\\%s\\%s\">\r\n",\
+           tabs, dir, file);\
+    printf("%s</File>\r\n", tabs);\
+  }\
+  else if(type == "vcproj2") {\
+    printf("%s<File\r\n", tabs);\
+    printf("%s RelativePath=\"..\\..\\..\\..\\%s\\%s\"\r\n",\
+           tabs, dir, file);\
+    printf("%s>\r\n", tabs);\
+    printf("%s</File>\r\n", tabs);\
+  }\
+  else if(type == "vcxproj") {\
+    i = index(file, ".");\
+    ext = substr(file, i == 0 ? 0 : i + 1);\
+\
+    if(ext == "c")\
+      printf("%s<ClCompile Include=\"..\\..\\..\\..\\%s\\%s\" />\r\n",\
+             spaces, dir, file);\
+    else if(ext == "h")\
+      printf("%s<ClInclude Include=\"..\\..\\..\\..\\%s\\%s\" />\r\n",\
+             spaces, dir, file);\
+    else if(ext == "rc")\
+      printf("%s<ResourceCompile Include=\"..\\..\\..\\..\\%s\\%s\" />\r\n",\
+      spaces, dir, file);\
+  }\
+}\
+\
+{\
+\
+  if($$0 == "CURL_LIB_C_FILES") {\
+    split(lib_srcs, arr);\
+    for(val in arr) gen_element(proj_type, "lib", arr[val]);\
+  }\
+  else if($$0 == "CURL_LIB_H_FILES") {\
+    split(lib_hdrs, arr);\
+    for(val in arr) gen_element(proj_type, "lib", arr[val]);\
+  }\
+  else if($$0 == "CURL_LIB_RC_FILES") {\
+    split(lib_rc, arr);\
+    for(val in arr) gen_element(proj_type, "lib", arr[val]);\
+  }\
+  else if($$0 == "CURL_LIB_VAUTH_C_FILES") {\
+    split(lib_vauth_srcs, arr);\
+    for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
+  }\
+  else if($$0 == "CURL_LIB_VAUTH_H_FILES") {\
+    split(lib_vauth_hdrs, arr);\
+    for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
+  }\
+  else if($$0 == "CURL_LIB_VTLS_C_FILES") {\
+    split(lib_vtls_srcs, arr);\
+    for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
+  }\
+  else if($$0 == "CURL_LIB_VTLS_H_FILES") {\
+    split(lib_vtls_hdrs, arr);\
+    for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
+  }\
+  else if($$0 == "CURL_SRC_C_FILES") {\
+    split(src_srcs, arr);\
+    for(val in arr) gen_element(proj_type, "src", arr[val]);\
+  }\
+  else if($$0 == "CURL_SRC_H_FILES") {\
+    split(src_hdrs, arr);\
+    for(val in arr) gen_element(proj_type, "src", arr[val]);\
+  }\
+  else if($$0 == "CURL_SRC_RC_FILES") {\
+    split(src_rc, arr);\
+    for(val in arr) gen_element(proj_type, "src", arr[val]);\
+  }\
+  else if($$0 == "CURL_SRC_X_C_FILES") {\
+    split(src_x_srcs, arr);\
+    for(val in arr) {\
+      sub(/..\/lib\//, "", arr[val]);\
+      gen_element(proj_type, "lib", arr[val]);\
+    }\
+  }\
+  else if($$0 == "CURL_SRC_X_H_FILES") {\
+    split(src_x_hdrs, arr);\
+    for(val in arr) {\
+      sub(/..\/lib\//, "", arr[val]);\
+      gen_element(proj_type, "lib", arr[val]);\
+    }\
+  }\
+  else\
+    printf("%s\r\n", $$0);\
+}';\
        \
-       echo "# Begin Group \"Source Files\""  > $$body; \
-       echo ""                               >> $$body; \
-       echo "# PROP Default_Filter \"\""     >> $$body; \
-       for file in $$sorted_srcs; do \
-         echo "# Begin Source File"          >> $$body; \
-         echo ""                             >> $$body; \
-         echo "SOURCE="$$dir$$file           >> $$body; \
-         echo "# End Source File"            >> $$body; \
-       done; \
-       echo "# End Group"                    >> $$body; \
-       echo "# Begin Group \"Header Files\"" >> $$body; \
-       echo ""                               >> $$body; \
-       echo "# PROP Default_Filter \"\""     >> $$body; \
-       for file in $$sorted_hdrs; do \
-         echo "# Begin Source File"          >> $$body; \
-         echo ""                             >> $$body; \
-         echo "SOURCE="$$dir$$file           >> $$body; \
-         echo "# End Source File"            >> $$body; \
-       done; \
-       echo "# End Group"                    >> $$body; \
+       echo "generating '$(VC6_LIBDSP)'"; \
+       awk -v proj_type=dsp \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC6_LIBTMPL) > $(VC6_LIBDSP) || { exit 1; }; \
        \
-       awk '{ printf("%s\r\n", $$0); }' \
-         $(srcdir)/$(VC6LIBDSPHEAD) $$body $(srcdir)/$(VC6LIBDSPFOOT) \
-         > $(VC6LIBDSP) || { rm -f $$body; exit 1; }; \
+       echo "generating '$(VC6_SRCDSP)'"; \
+       awk -v proj_type=dsp \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC6_SRCTMPL) > $(VC6_SRCDSP) || { exit 1; }; \
        \
-       rm -f $$body)
-
-.PHONY: vc8-ide
-
-vc8-ide:
-       $(MAKE) $(VC8LIBPRJ)
-
-$(VC8LIBPRJ): $(VC8LIBPRJ_DEPS)
-       @(echo "generating '$(VC8LIBPRJ)'"; \
+       echo "generating '$(VC7_LIBVCPROJ)'"; \
+       awk -v proj_type=vcproj1 \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC7_LIBTMPL) > $(VC7_LIBVCPROJ) || { exit 1; }; \
        \
-       for dir in 'vs' 'vs/vc8' 'vs/vc8/lib'; do \
-         test -d "$$dir" || mkdir "$$dir" || exit 1; \
-       done; \
+       echo "generating '$(VC7_SRCVCPROJ)'"; \
+       awk -v proj_type=vcproj1 \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC7_SRCTMPL) > $(VC7_SRCVCPROJ) || { exit 1; }; \
        \
-       dir='..\..\..\lib\'; \
-       body='$(VC8LIBPRJ)'.body; \
-       win32_srcs='$(WIN32SOURCES)'; \
-       win32_hdrs='$(WIN32HEADERS)'; \
-       sorted_srcs=`for file in $$win32_srcs; do echo $$file; done | sort`; \
-       sorted_hdrs=`for file in $$win32_hdrs; do echo $$file; done | sort`; \
+       echo "generating '$(VC71_LIBVCPROJ)'"; \
+       awk -v proj_type=vcproj1 \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC71_LIBTMPL) > $(VC71_LIBVCPROJ) || { exit 1; }; \
        \
-       echo "%tab%%tab%<Filter Name=\"Source Files\">"  > $$body; \
-       for file in $$sorted_srcs; do \
-         echo "%tab%%tab%%tab%<File RelativePath=\""$$dir$$file"\"></File>" >> $$body; \
-       done; \
-       echo "%tab%%tab%</Filter>"                      >> $$body; \
-       echo "%tab%%tab%<Filter Name=\"Header Files\">" >> $$body; \
-       for file in $$sorted_hdrs; do \
-         echo "%tab%%tab%%tab%<File RelativePath=\""$$dir$$file"\"></File>" >> $$body; \
-       done; \
-       echo "%tab%%tab%</Filter>"                      >> $$body; \
+       echo "generating '$(VC71_SRCVCPROJ)'"; \
+       awk -v proj_type=vcproj1 \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC71_SRCTMPL) > $(VC71_SRCVCPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC8_LIBVCPROJ)'"; \
+       awk -v proj_type=vcproj2 \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC8_LIBTMPL) > $(VC8_LIBVCPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC8_SRCVCPROJ)'"; \
+       awk -v proj_type=vcproj2 \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC8_SRCTMPL) > $(VC8_SRCVCPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC9_LIBVCPROJ)'"; \
+       awk -v proj_type=vcproj2 \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC9_LIBTMPL) > $(VC9_LIBVCPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC9_SRCVCPROJ)'"; \
+       awk -v proj_type=vcproj2 \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC9_SRCTMPL) > $(VC9_SRCVCPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC10_LIBVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC10_LIBTMPL) > $(VC10_LIBVCXPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC10_SRCVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC11_LIBVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC11_LIBTMPL) > $(VC11_LIBVCXPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC11_SRCVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC12_LIBVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC12_LIBTMPL) > $(VC12_LIBVCXPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC12_SRCVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC14_LIBVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \
+       \
+       echo "generating '$(VC14_SRCVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC14_SRCTMPL) > $(VC14_SRCVCXPROJ) || { exit 1; }; \
        \
-       awk '{ gsub(/%tab%/, "\t"); printf("%s\r\n", $$0); }' \
-         $(srcdir)/$(VC8LIBPRJHEAD) $$body $(srcdir)/$(VC8LIBPRJFOOT) \
-         > $(VC8LIBPRJ) || { rm -f $$body; exit 1; }; \
+       echo "generating '$(VC15_LIBVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v lib_srcs="$$sorted_lib_srcs" \
+               -v lib_hdrs="$$sorted_lib_hdrs" \
+               -v lib_rc="$$win32_lib_rc" \
+               -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
+               -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
+               -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
+               -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC15_LIBTMPL) > $(VC15_LIBVCXPROJ) || { exit 1; }; \
        \
-       rm -f $$body)
+       echo "generating '$(VC15_SRCVCXPROJ)'"; \
+       awk -v proj_type=vcxproj \
+               -v src_srcs="$$sorted_src_srcs" \
+               -v src_hdrs="$$sorted_src_hdrs" \
+               -v src_rc="$$win32_src_rc" \
+               -v src_x_srcs="$$sorted_src_x_srcs" \
+               -v src_x_hdrs="$$sorted_src_x_hdrs" \
+               "$$awk_code" $(srcdir)/$(VC15_SRCTMPL) > $(VC15_SRCVCXPROJ) || { exit 1; };)
 
 # 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.