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

# Copyright (C) 1994-2017 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@

#***************************************************************************
#                                  _   _ ____  _
#  Project                     ___| | | |  _ \| |
#                             / __| | | | |_) | |
#                            | (__| |_| |  _ <| |___
#                             \___|\___/|_| \_\_____|
#
# 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 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.
#
###########################################################################

# Shared between Makefile.am and CMakeLists.txt
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 = docs/libcurl/opts
ACLOCAL_M4 = $(top_srcdir)/aclocal.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 \
	$(top_srcdir)/m4/curl-override.m4 \
	$(top_srcdir)/m4/curl-reentrant.m4 $(top_srcdir)/m4/libtool.m4 \
	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
	$(top_srcdir)/m4/xc-am-iface.m4 \
	$(top_srcdir)/m4/xc-cc-check.m4 \
	$(top_srcdir)/m4/xc-lt-iface.m4 \
	$(top_srcdir)/m4/xc-translit.m4 \
	$(top_srcdir)/m4/xc-val-flgs.m4 \
	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/lib/curl_config.h
CONFIG_CLEAN_FILES =
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 = 
depcomp =
am__depfiles_maybe =
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; }; \
  }
man3dir = $(mandir)/man3
am__installdirs = "$(DESTDIR)$(man3dir)"
MANS = $(man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.inc
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
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@
CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
CURLVERSION = @CURLVERSION@
CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@
CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
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@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_SHARED = @ENABLE_SHARED@
ENABLE_STATIC = @ENABLE_STATIC@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GCOV = @GCOV@
GENHTML = @GENHTML@
GREP = @GREP@
HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
HAVE_LIBZ = @HAVE_LIBZ@
HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
IDN_ENABLED = @IDN_ENABLED@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
IPV6_ENABLED = @IPV6_ENABLED@
LCOV = @LCOV@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
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@
MANOPT = @MANOPT@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
NROFF = @NROFF@
NSS_LIBS = @NSS_LIBS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKGADD_NAME = @PKGADD_NAME@
PKGADD_PKG = @PKGADD_PKG@
PKGADD_VENDOR = @PKGADD_VENDOR@
PKGCONFIG = @PKGCONFIG@
RANDOM_FILE = @RANDOM_FILE@
RANLIB = @RANLIB@
REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SSL_ENABLED = @SSL_ENABLED@
SSL_LIBS = @SSL_LIBS@
STRIP = @STRIP@
SUPPORT_FEATURES = @SUPPORT_FEATURES@
SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
USE_ARES = @USE_ARES@
USE_AXTLS = @USE_AXTLS@
USE_CYASSL = @USE_CYASSL@
USE_DARWINSSL = @USE_DARWINSSL@
USE_GNUTLS = @USE_GNUTLS@
USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
USE_LIBRTMP = @USE_LIBRTMP@
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_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@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
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@
libext = @libext@
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@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign no-dependencies
man_MANS = \
  CURLINFO_ACTIVESOCKET.3                       \
  CURLINFO_APPCONNECT_TIME.3                    \
  CURLINFO_CERTINFO.3                           \
  CURLINFO_CONDITION_UNMET.3                    \
  CURLINFO_CONNECT_TIME.3                       \
  CURLINFO_CONTENT_LENGTH_DOWNLOAD.3            \
  CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3          \
  CURLINFO_CONTENT_LENGTH_UPLOAD.3              \
  CURLINFO_CONTENT_LENGTH_UPLOAD_T.3            \
  CURLINFO_CONTENT_TYPE.3                       \
  CURLINFO_COOKIELIST.3                         \
  CURLINFO_EFFECTIVE_URL.3                      \
  CURLINFO_FILETIME.3                           \
  CURLINFO_FTP_ENTRY_PATH.3                     \
  CURLINFO_HEADER_SIZE.3                        \
  CURLINFO_HTTPAUTH_AVAIL.3                     \
  CURLINFO_HTTP_CONNECTCODE.3                   \
  CURLINFO_HTTP_VERSION.3                       \
  CURLINFO_LASTSOCKET.3                         \
  CURLINFO_LOCAL_IP.3                           \
  CURLINFO_LOCAL_PORT.3                         \
  CURLINFO_NAMELOOKUP_TIME.3                    \
  CURLINFO_NUM_CONNECTS.3                       \
  CURLINFO_OS_ERRNO.3                           \
  CURLINFO_PRETRANSFER_TIME.3                   \
  CURLINFO_PRIMARY_IP.3                         \
  CURLINFO_PRIMARY_PORT.3                       \
  CURLINFO_PRIVATE.3                            \
  CURLINFO_PROTOCOL.3                           \
  CURLINFO_PROXYAUTH_AVAIL.3                    \
  CURLINFO_PROXY_SSL_VERIFYRESULT.3             \
  CURLINFO_REDIRECT_COUNT.3                     \
  CURLINFO_REDIRECT_TIME.3                      \
  CURLINFO_REDIRECT_URL.3                       \
  CURLINFO_REQUEST_SIZE.3                       \
  CURLINFO_RESPONSE_CODE.3                      \
  CURLINFO_RTSP_CLIENT_CSEQ.3                   \
  CURLINFO_RTSP_CSEQ_RECV.3                     \
  CURLINFO_RTSP_SERVER_CSEQ.3                   \
  CURLINFO_RTSP_SESSION_ID.3                    \
  CURLINFO_SCHEME.3                             \
  CURLINFO_SIZE_DOWNLOAD.3                      \
  CURLINFO_SIZE_DOWNLOAD_T.3                    \
  CURLINFO_SIZE_UPLOAD.3                        \
  CURLINFO_SIZE_UPLOAD_T.3                      \
  CURLINFO_SPEED_DOWNLOAD.3                     \
  CURLINFO_SPEED_DOWNLOAD_T.3                   \
  CURLINFO_SPEED_UPLOAD.3                       \
  CURLINFO_SPEED_UPLOAD_T.3                     \
  CURLINFO_SSL_ENGINES.3                        \
  CURLINFO_SSL_VERIFYRESULT.3                   \
  CURLINFO_STARTTRANSFER_TIME.3                 \
  CURLINFO_TLS_SESSION.3                        \
  CURLINFO_TLS_SSL_PTR.3                        \
  CURLINFO_TOTAL_TIME.3                         \
  CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3          \
  CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3        \
  CURLMOPT_MAXCONNECTS.3                        \
  CURLMOPT_MAX_HOST_CONNECTIONS.3               \
  CURLMOPT_MAX_PIPELINE_LENGTH.3                \
  CURLMOPT_MAX_TOTAL_CONNECTIONS.3              \
  CURLMOPT_PIPELINING.3                         \
  CURLMOPT_PIPELINING_SERVER_BL.3               \
  CURLMOPT_PIPELINING_SITE_BL.3                 \
  CURLMOPT_PUSHDATA.3                           \
  CURLMOPT_PUSHFUNCTION.3                       \
  CURLMOPT_SOCKETDATA.3                         \
  CURLMOPT_SOCKETFUNCTION.3                     \
  CURLMOPT_TIMERDATA.3                          \
  CURLMOPT_TIMERFUNCTION.3                      \
  CURLOPT_ABSTRACT_UNIX_SOCKET.3                \
  CURLOPT_ACCEPTTIMEOUT_MS.3                    \
  CURLOPT_ACCEPT_ENCODING.3                     \
  CURLOPT_ADDRESS_SCOPE.3                       \
  CURLOPT_APPEND.3                              \
  CURLOPT_AUTOREFERER.3                         \
  CURLOPT_BUFFERSIZE.3                          \
  CURLOPT_CAINFO.3                              \
  CURLOPT_CAPATH.3                              \
  CURLOPT_CERTINFO.3                            \
  CURLOPT_CHUNK_BGN_FUNCTION.3                  \
  CURLOPT_CHUNK_DATA.3                          \
  CURLOPT_CHUNK_END_FUNCTION.3                  \
  CURLOPT_CLOSESOCKETDATA.3                     \
  CURLOPT_CLOSESOCKETFUNCTION.3                 \
  CURLOPT_CONNECTTIMEOUT.3                      \
  CURLOPT_CONNECTTIMEOUT_MS.3                   \
  CURLOPT_CONNECT_ONLY.3                        \
  CURLOPT_CONNECT_TO.3                          \
  CURLOPT_CONV_FROM_NETWORK_FUNCTION.3          \
  CURLOPT_CONV_FROM_UTF8_FUNCTION.3             \
  CURLOPT_CONV_TO_NETWORK_FUNCTION.3            \
  CURLOPT_COOKIE.3                              \
  CURLOPT_COOKIEFILE.3                          \
  CURLOPT_COOKIEJAR.3                           \
  CURLOPT_COOKIELIST.3                          \
  CURLOPT_COOKIESESSION.3                       \
  CURLOPT_COPYPOSTFIELDS.3                      \
  CURLOPT_CRLF.3                                \
  CURLOPT_CRLFILE.3                             \
  CURLOPT_CUSTOMREQUEST.3                       \
  CURLOPT_DEBUGDATA.3                           \
  CURLOPT_DEBUGFUNCTION.3                       \
  CURLOPT_DEFAULT_PROTOCOL.3                    \
  CURLOPT_DIRLISTONLY.3                         \
  CURLOPT_DNS_CACHE_TIMEOUT.3                   \
  CURLOPT_DNS_INTERFACE.3                       \
  CURLOPT_DNS_LOCAL_IP4.3                       \
  CURLOPT_DNS_LOCAL_IP6.3                       \
  CURLOPT_DNS_SERVERS.3                         \
  CURLOPT_DNS_USE_GLOBAL_CACHE.3                \
  CURLOPT_EGDSOCKET.3                           \
  CURLOPT_ERRORBUFFER.3                         \
  CURLOPT_EXPECT_100_TIMEOUT_MS.3               \
  CURLOPT_FAILONERROR.3                         \
  CURLOPT_FILETIME.3                            \
  CURLOPT_FNMATCH_DATA.3                        \
  CURLOPT_FNMATCH_FUNCTION.3                    \
  CURLOPT_FOLLOWLOCATION.3                      \
  CURLOPT_FORBID_REUSE.3                        \
  CURLOPT_FRESH_CONNECT.3                       \
  CURLOPT_FTPPORT.3                             \
  CURLOPT_FTPSSLAUTH.3                          \
  CURLOPT_FTP_ACCOUNT.3                         \
  CURLOPT_FTP_ALTERNATIVE_TO_USER.3             \
  CURLOPT_FTP_CREATE_MISSING_DIRS.3             \
  CURLOPT_FTP_FILEMETHOD.3                      \
  CURLOPT_FTP_RESPONSE_TIMEOUT.3                \
  CURLOPT_FTP_SKIP_PASV_IP.3                    \
  CURLOPT_FTP_SSL_CCC.3                         \
  CURLOPT_FTP_USE_EPRT.3                        \
  CURLOPT_FTP_USE_EPSV.3                        \
  CURLOPT_FTP_USE_PRET.3                        \
  CURLOPT_GSSAPI_DELEGATION.3                   \
  CURLOPT_HEADER.3                              \
  CURLOPT_HEADERDATA.3                          \
  CURLOPT_HEADERFUNCTION.3                      \
  CURLOPT_HEADEROPT.3                           \
  CURLOPT_HTTP200ALIASES.3                      \
  CURLOPT_HTTPAUTH.3                            \
  CURLOPT_HTTPGET.3                             \
  CURLOPT_HTTPHEADER.3                          \
  CURLOPT_HTTPPOST.3                            \
  CURLOPT_HTTPPROXYTUNNEL.3                     \
  CURLOPT_HTTP_CONTENT_DECODING.3               \
  CURLOPT_HTTP_TRANSFER_DECODING.3              \
  CURLOPT_HTTP_VERSION.3                        \
  CURLOPT_IGNORE_CONTENT_LENGTH.3               \
  CURLOPT_INFILESIZE.3                          \
  CURLOPT_INFILESIZE_LARGE.3                    \
  CURLOPT_INTERFACE.3                           \
  CURLOPT_INTERLEAVEDATA.3                      \
  CURLOPT_INTERLEAVEFUNCTION.3                  \
  CURLOPT_IOCTLDATA.3                           \
  CURLOPT_IOCTLFUNCTION.3                       \
  CURLOPT_IPRESOLVE.3                           \
  CURLOPT_ISSUERCERT.3                          \
  CURLOPT_KEEP_SENDING_ON_ERROR.3               \
  CURLOPT_KEYPASSWD.3                           \
  CURLOPT_KRBLEVEL.3                            \
  CURLOPT_LOCALPORT.3                           \
  CURLOPT_LOCALPORTRANGE.3                      \
  CURLOPT_LOGIN_OPTIONS.3                       \
  CURLOPT_LOW_SPEED_LIMIT.3                     \
  CURLOPT_LOW_SPEED_TIME.3                      \
  CURLOPT_MAIL_AUTH.3                           \
  CURLOPT_MAIL_FROM.3                           \
  CURLOPT_MAIL_RCPT.3                           \
  CURLOPT_MAXCONNECTS.3                         \
  CURLOPT_MAXFILESIZE.3                         \
  CURLOPT_MAXFILESIZE_LARGE.3                   \
  CURLOPT_MAXREDIRS.3                           \
  CURLOPT_MAX_RECV_SPEED_LARGE.3                \
  CURLOPT_MAX_SEND_SPEED_LARGE.3                \
  CURLOPT_NETRC.3                               \
  CURLOPT_NETRC_FILE.3                          \
  CURLOPT_NEW_DIRECTORY_PERMS.3                 \
  CURLOPT_NEW_FILE_PERMS.3                      \
  CURLOPT_NOBODY.3                              \
  CURLOPT_NOPROGRESS.3                          \
  CURLOPT_NOPROXY.3                             \
  CURLOPT_NOSIGNAL.3                            \
  CURLOPT_OPENSOCKETDATA.3                      \
  CURLOPT_OPENSOCKETFUNCTION.3                  \
  CURLOPT_PASSWORD.3                            \
  CURLOPT_PATH_AS_IS.3                          \
  CURLOPT_PINNEDPUBLICKEY.3                     \
  CURLOPT_PIPEWAIT.3                            \
  CURLOPT_PORT.3                                \
  CURLOPT_POST.3                                \
  CURLOPT_POSTFIELDS.3                          \
  CURLOPT_POSTFIELDSIZE.3                       \
  CURLOPT_POSTFIELDSIZE_LARGE.3                 \
  CURLOPT_POSTQUOTE.3                           \
  CURLOPT_POSTREDIR.3                           \
  CURLOPT_PREQUOTE.3                            \
  CURLOPT_PRE_PROXY.3                           \
  CURLOPT_PRIVATE.3                             \
  CURLOPT_PROGRESSDATA.3                        \
  CURLOPT_PROGRESSFUNCTION.3                    \
  CURLOPT_PROTOCOLS.3                           \
  CURLOPT_PROXY.3                               \
  CURLOPT_PROXYAUTH.3                           \
  CURLOPT_PROXYHEADER.3                         \
  CURLOPT_PROXYPASSWORD.3                       \
  CURLOPT_PROXYPORT.3                           \
  CURLOPT_PROXYTYPE.3                           \
  CURLOPT_PROXYUSERNAME.3                       \
  CURLOPT_PROXYUSERPWD.3                        \
  CURLOPT_PROXY_CAINFO.3                        \
  CURLOPT_PROXY_CAPATH.3                        \
  CURLOPT_PROXY_CRLFILE.3                       \
  CURLOPT_PROXY_KEYPASSWD.3                     \
  CURLOPT_PROXY_PINNEDPUBLICKEY.3               \
  CURLOPT_PROXY_SERVICE_NAME.3                  \
  CURLOPT_PROXY_SSLCERT.3                       \
  CURLOPT_PROXY_SSLCERTTYPE.3                   \
  CURLOPT_PROXY_SSLKEY.3                        \
  CURLOPT_PROXY_SSLKEYTYPE.3                    \
  CURLOPT_PROXY_SSLVERSION.3                    \
  CURLOPT_PROXY_SSL_CIPHER_LIST.3               \
  CURLOPT_PROXY_SSL_OPTIONS.3                   \
  CURLOPT_PROXY_SSL_VERIFYHOST.3                \
  CURLOPT_PROXY_SSL_VERIFYPEER.3                \
  CURLOPT_PROXY_TLSAUTH_PASSWORD.3              \
  CURLOPT_PROXY_TLSAUTH_TYPE.3                  \
  CURLOPT_PROXY_TLSAUTH_USERNAME.3              \
  CURLOPT_PROXY_TRANSFER_MODE.3                 \
  CURLOPT_PUT.3                                 \
  CURLOPT_QUOTE.3                               \
  CURLOPT_RANDOM_FILE.3                         \
  CURLOPT_RANGE.3                               \
  CURLOPT_READDATA.3                            \
  CURLOPT_READFUNCTION.3                        \
  CURLOPT_REDIR_PROTOCOLS.3                     \
  CURLOPT_REFERER.3                             \
  CURLOPT_REQUEST_TARGET.3                      \
  CURLOPT_RESOLVE.3                             \
  CURLOPT_RESUME_FROM.3                         \
  CURLOPT_RESUME_FROM_LARGE.3                   \
  CURLOPT_RTSP_CLIENT_CSEQ.3                    \
  CURLOPT_RTSP_REQUEST.3                        \
  CURLOPT_RTSP_SERVER_CSEQ.3                    \
  CURLOPT_RTSP_SESSION_ID.3                     \
  CURLOPT_RTSP_STREAM_URI.3                     \
  CURLOPT_RTSP_TRANSPORT.3                      \
  CURLOPT_SASL_IR.3                             \
  CURLOPT_SEEKDATA.3                            \
  CURLOPT_SEEKFUNCTION.3                        \
  CURLOPT_SERVICE_NAME.3                        \
  CURLOPT_SHARE.3                               \
  CURLOPT_SOCKOPTDATA.3                         \
  CURLOPT_SOCKOPTFUNCTION.3                     \
  CURLOPT_SOCKS5_AUTH.3                         \
  CURLOPT_SOCKS5_GSSAPI_NEC.3                   \
  CURLOPT_SOCKS5_GSSAPI_SERVICE.3               \
  CURLOPT_SSH_AUTH_TYPES.3                      \
  CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3             \
  CURLOPT_SSH_KEYDATA.3                         \
  CURLOPT_SSH_KEYFUNCTION.3                     \
  CURLOPT_SSH_KNOWNHOSTS.3                      \
  CURLOPT_SSH_PRIVATE_KEYFILE.3                 \
  CURLOPT_SSH_PUBLIC_KEYFILE.3                  \
  CURLOPT_SSLCERT.3                             \
  CURLOPT_SSLCERTTYPE.3                         \
  CURLOPT_SSLENGINE.3                           \
  CURLOPT_SSLENGINE_DEFAULT.3                   \
  CURLOPT_SSLKEY.3                              \
  CURLOPT_SSLKEYTYPE.3                          \
  CURLOPT_SSLVERSION.3                          \
  CURLOPT_SSL_CIPHER_LIST.3                     \
  CURLOPT_SSL_CTX_DATA.3                        \
  CURLOPT_SSL_CTX_FUNCTION.3                    \
  CURLOPT_SSL_ENABLE_ALPN.3                     \
  CURLOPT_SSL_ENABLE_NPN.3                      \
  CURLOPT_SSL_FALSESTART.3                      \
  CURLOPT_SSL_OPTIONS.3                         \
  CURLOPT_SSL_SESSIONID_CACHE.3                 \
  CURLOPT_SSL_VERIFYHOST.3                      \
  CURLOPT_SSL_VERIFYPEER.3                      \
  CURLOPT_SSL_VERIFYSTATUS.3                    \
  CURLOPT_STDERR.3                              \
  CURLOPT_STREAM_DEPENDS.3                      \
  CURLOPT_STREAM_DEPENDS_E.3                    \
  CURLOPT_STREAM_WEIGHT.3                       \
  CURLOPT_SUPPRESS_CONNECT_HEADERS.3            \
  CURLOPT_TCP_FASTOPEN.3                        \
  CURLOPT_TCP_KEEPALIVE.3                       \
  CURLOPT_TCP_KEEPIDLE.3                        \
  CURLOPT_TCP_KEEPINTVL.3                       \
  CURLOPT_TCP_NODELAY.3                         \
  CURLOPT_TELNETOPTIONS.3                       \
  CURLOPT_TFTP_BLKSIZE.3                        \
  CURLOPT_TFTP_NO_OPTIONS.3                     \
  CURLOPT_TIMECONDITION.3                       \
  CURLOPT_TIMEOUT.3                             \
  CURLOPT_TIMEOUT_MS.3                          \
  CURLOPT_TIMEVALUE.3                           \
  CURLOPT_TLSAUTH_PASSWORD.3                    \
  CURLOPT_TLSAUTH_TYPE.3                        \
  CURLOPT_TLSAUTH_USERNAME.3                    \
  CURLOPT_TRANSFERTEXT.3                        \
  CURLOPT_TRANSFER_ENCODING.3                   \
  CURLOPT_UNIX_SOCKET_PATH.3                    \
  CURLOPT_UNRESTRICTED_AUTH.3                   \
  CURLOPT_UPLOAD.3                              \
  CURLOPT_URL.3                                 \
  CURLOPT_USERAGENT.3                           \
  CURLOPT_USERNAME.3                            \
  CURLOPT_USERPWD.3                             \
  CURLOPT_USE_SSL.3                             \
  CURLOPT_VERBOSE.3                             \
  CURLOPT_WILDCARDMATCH.3                       \
  CURLOPT_WRITEDATA.3                           \
  CURLOPT_WRITEFUNCTION.3                       \
  CURLOPT_XFERINFODATA.3                        \
  CURLOPT_XFERINFOFUNCTION.3                    \
  CURLOPT_XOAUTH2_BEARER.3

man_DISTMANS = $(man_MANS:.3=.3.dist)
HTMLPAGES = $(man_MANS:.3=.html)
PDFPAGES = $(man_MANS:.3=.pdf)
CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(man_DISTMANS)
EXTRA_DIST = $(man_MANS) CMakeLists.txt
MAN2HTML = roffit --mandir=. $< >$@
SUFFIXES = .3 .html
all: all-am

.SUFFIXES:
.SUFFIXES: .3 .html .pdf
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/libcurl/opts/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign docs/libcurl/opts/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;
$(srcdir)/Makefile.inc $(am__empty):

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
install-man3: $(man_MANS)
	@$(NORMAL_INSTALL)
	@list1=''; \
	list2='$(man_MANS)'; \
	test -n "$(man3dir)" \
	  && test -n "`echo $$list1$$list2`" \
	  || exit 0; \
	echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \
	$(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \
	{ for i in $$list1; do echo "$$i"; done;  \
	if test -n "$$list2"; then \
	  for i in $$list2; do echo "$$i"; done \
	    | sed -n '/\.3[a-z]*$$/p'; \
	fi; \
	} | while read p; do \
	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; echo "$$p"; \
	done | \
	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
	sed 'N;N;s,\n, ,g' | { \
	list=; while read file base inst; do \
	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
	  fi; \
	done; \
	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
	while read files; do \
	  test -z "$$files" || { \
	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
	done; }

uninstall-man3:
	@$(NORMAL_UNINSTALL)
	@list=''; test -n "$(man3dir)" || exit 0; \
	files=`{ for i in $$list; do echo "$$i"; done; \
	l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
	  sed -n '/\.3[a-z]*$$/p'; \
	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
	dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
tags TAGS:

ctags CTAGS:

cscope cscopelist:


distdir: $(DISTFILES)
	@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
check-am: all-am
check: check-am
all-am: Makefile $(MANS)
installdirs:
	for dir in "$(DESTDIR)$(man3dir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:
	-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."
clean: clean-am

clean-am: clean-generic clean-libtool mostlyclean-am

distclean: distclean-am
	-rm -f Makefile
distclean-am: clean-am distclean-generic

dvi: dvi-am

dvi-am:

html-am:

info: info-am

info-am:

install-data-am: install-man

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-man3

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-generic mostlyclean-libtool

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-man

uninstall-man: uninstall-man3

.MAKE: install-am install-strip

.PHONY: all all-am check check-am clean clean-generic clean-libtool \
	cscopelist-am ctags-am distclean distclean-generic \
	distclean-libtool distdir dvi dvi-am html html-am info info-am \
	install install-am install-data install-data-am install-dvi \
	install-dvi-am install-exec install-exec-am install-html \
	install-html-am install-info install-info-am install-man \
	install-man3 install-pdf install-pdf-am install-ps \
	install-ps-am install-strip installcheck installcheck-am \
	installdirs maintainer-clean maintainer-clean-generic \
	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
	ps ps-am tags-am uninstall uninstall-am uninstall-man \
	uninstall-man3

.PRECIOUS: Makefile


html: $(HTMLPAGES)

.3.html:
	$(MAN2HTML)

pdf: $(PDFPAGES)

.3.pdf:
	@(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
	groff -Tps -man $< >$$foo.ps; \
	ps2pdf $$foo.ps $@; \
	rm $$foo.ps; \
	echo "converted $< to $@")

mancheck:
	@cd $(top_srcdir)/docs/libcurl/opts && ls `awk -F, '!/OBSOLETE/ && /^  CINIT/ { a=substr($$1, 9); print "CURLOPT_" a ".3"}' $(top_srcdir)/include/curl/curl.h`
	rm -f in_temp
	@(for a in $(man_MANS); do echo $$a >>in_temp; done)
	sort in_temp > in_makefile
	ls CURL*.3 > in_directory
	-diff -u in_makefile in_directory
	rm in_temp in_directory in_makefile

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