#***************************************************************************
#                                  _   _ ____  _
#  Project                     ___| | | |  _ \| |
#                             / __| | | | |_) | |
#                            | (__| |_| |  _ <| |___
#                             \___|\___/|_| \_\_____|
#
# Copyright (C) 1999 - 2016, 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.
#
#***************************************************************************

# All files in the Makefile.vc* series are generated automatically from the
# one made for MSVC version 6. Alas, if you want to do changes to any of the
# files and send back to the project, edit the version six, make your diff and
# mail curl-library.

###########################################################################
#
# Makefile for building libcurl with MSVC6
#
# Usage: see usage message below
#        Should be invoked from \lib directory
#        Edit the paths and desired library name
#        SSL path is only required if you intend compiling
#        with SSL.
#
# This make file leaves the result either a .lib or .dll file
# in the \lib directory. It should be called from the \lib
# directory.
#
# An option would have been to allow the source directory to
# be specified, but I saw no requirement.
#
# Another option would have been to leave the .lib and .dll
# files in the "cfg" directory, but then the make file
# in \src would need to be changed.
#
##############################################################

# ----------------------------------------------
# Verify that current subdir is libcurl's 'lib'
# ----------------------------------------------

!IF ! EXIST(.\curl_addrinfo.c)
!  MESSAGE Can not process this makefile from outside of libcurl's 'lib' subdirectory.
!  MESSAGE Change to libcurl's 'lib' subdirectory, and try again.
!  ERROR   See previous message.
!ENDIF

# ------------------------------------------------
# Makefile.msvc.names provides libcurl file names
# ------------------------------------------------

!INCLUDE ..\winbuild\Makefile.msvc.names

!IFNDEF OPENSSL_PATH
OPENSSL_PATH   = ../../openssl-1.0.2a
!ENDIF

!IFNDEF LIBSSH2_PATH
LIBSSH2_PATH   = ../../libssh2-1.5.0
!ENDIF

!IFNDEF ZLIB_PATH
ZLIB_PATH  = ../../zlib-1.2.8
!ENDIF

!IFNDEF MACHINE
MACHINE  = X86
!ENDIF

# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
# without an openssl installation and offers the ability to authenticate
# using the "current logged in user". Since at least with MSVC6 the sspi.h
# header is broken it is either required to install the Windows SDK,
# or to fix sspi.h with adding this define at the beginning of sspi.h:
# #define FreeCredentialHandle FreeCredentialsHandle
#
# If, for some reason the Windows SDK is installed but not installed
# in the default location, you can specify WINDOWS_SDK_PATH.
# It can be downloaded from:
# https://msdn.microsoft.com/windows/bb980924.aspx

# WINDOWS_SSPI = 1

!IFDEF WINDOWS_SSPI
!IFNDEF WINDOWS_SDK_PATH
WINDOWS_SDK_PATH = "$(PROGRAMFILES)\Microsoft SDK"
!ENDIF
!ENDIF

#############################################################
## Nothing more to do below this line!

CCNODBG      = cl.exe /O2 /DNDEBUG
CCDEBUG      = cl.exe /Od /Gm /Zi /D_DEBUG /GZ
CFLAGSSSL    = /DUSE_OPENSSL /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
CFLAGSWINSSL = /DUSE_SCHANNEL
CFLAGSSSH2   = /DUSE_LIBSSH2 /DCURL_DISABLE_LDAP /DHAVE_LIBSSH2 /DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /I "$(LIBSSH2_PATH)/include"
CFLAGSZLIB   = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
CFLAGS       = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL /D_BIND_TO_CURRENT_VCLIBS_VERSION=1
CFLAGSLIB    = /DCURL_STATICLIB
LNKDLL       = link.exe /DLL
LNKLIB       = link.exe /lib
LFLAGS       = /nologo /machine:$(MACHINE)
SSLLIBS      = libeay32.lib ssleay32.lib
WINSSLLIBS   = crypt32.lib
ZLIBLIBSDLL  = zdll.lib
ZLIBLIBS     = zlib.lib
WINLIBS      = ws2_32.lib wldap32.lib advapi32.lib
CFLAGS       = $(CFLAGS)

CFGSET       = FALSE

!IFDEF WINDOWS_SSPI
CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
!ENDIF

!IFDEF USE_IPV6
CFLAGS = $(CFLAGS) /DUSE_IPV6
!ENDIF

!IFDEF USE_IDN
CFLAGS = $(CFLAGS) /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES
!ENDIF

##############################################################
# Runtime library configuration

RTLIB   = /MD
RTLIBD  = /MDd

!IF "$(RTLIBCFG)" == "static"
RTLIB  = /MT
RTLIBD = /MTd
!ENDIF


######################
# release

!IF "$(CFG)" == "release"
TARGET = $(LIBCURL_STA_LIB_REL)
DIROBJ = $(CFG)
LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
CC     = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
CFGSET = TRUE
!ENDIF

######################
# release-ssl

!IF "$(CFG)" == "release-ssl"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-winssl

!IF "$(CFG)" == "release-winssl"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKLIB) $(WINSSLLIBS) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-zlib

!IF "$(CFG)" == "release-zlib"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-ssl-zlib

!IF "$(CFG)" == "release-ssl-zlib"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-winssl-zlib

!IF "$(CFG)" == "release-winssl-zlib"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKLIB) $(LFLAGSZLIB) $(WINSSLLIBS) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-ssl-ssh2-zlib

!IF "$(CFG)" == "release-ssl-ssh2-zlib"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-ssl-dll

!IF "$(CFG)" == "release-ssl-dll"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-zlib-dll

!IF "$(CFG)" == "release-zlib-dll"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-ssl-dll-zlib-dll

!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
TARGET   = $(LIBCURL_STA_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# release-dll

!IF "$(CFG)" == "release-dll"
TARGET = $(LIBCURL_DYN_LIB_REL)
DIROBJ = $(CFG)
LNK    = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
CC     = $(CCNODBG) $(RTLIB)
CFGSET = TRUE
RESOURCE = $(DIROBJ)\libcurl.res
!ENDIF

######################
# release-dll-ssl-dll

!IF "$(CFG)" == "release-dll-ssl-dll"
TARGET   = $(LIBCURL_DYN_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
CFGSET   = TRUE
RESOURCE = $(DIROBJ)\libcurl.res
!ENDIF

######################
# release-dll-zlib-dll

!IF "$(CFG)" == "release-dll-zlib-dll"
TARGET   = $(LIBCURL_DYN_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
CFGSET   = TRUE
RESOURCE = $(DIROBJ)\libcurl.res
!ENDIF

######################
# release-dll-ssl-dll-zlib-dll

!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
TARGET   = $(LIBCURL_DYN_LIB_REL)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
CFGSET   = TRUE
RESOURCE = $(DIROBJ)\libcurl.res
!ENDIF

######################
# debug

!IF "$(CFG)" == "debug"
TARGET = $(LIBCURL_STA_LIB_DBG)
DIROBJ = $(CFG)
LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
CC     = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
CFGSET = TRUE
!ENDIF

######################
# debug-ssl

!IF "$(CFG)" == "debug-ssl"
TARGET   = $(LIBCURL_STA_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# debug-zlib

!IF "$(CFG)" == "debug-zlib"
TARGET   = $(LIBCURL_STA_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# debug-ssl-zlib

!IF "$(CFG)" == "debug-ssl-zlib"
TARGET   = $(LIBCURL_STA_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# debug-ssl-ssh2-zlib

!IF "$(CFG)" == "debug-ssl-ssh2-zlib"
TARGET   = $(LIBCURL_STA_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# debug-ssl-dll

!IF "$(CFG)" == "debug-ssl-dll"
TARGET   = $(LIBCURL_STA_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# debug-zlib-dll

!IF "$(CFG)" == "debug-zlib-dll"
TARGET   = $(LIBCURL_STA_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# debug-ssl-dll-zlib-dll

!IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
TARGET   = $(LIBCURL_STA_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
CFGSET   = TRUE
!ENDIF

######################
# debug-dll

!IF "$(CFG)" == "debug-dll"
TARGET = $(LIBCURL_DYN_LIB_DBG)
DIROBJ = $(CFG)
LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
CC     = $(CCDEBUG) $(RTLIBD)
CFGSET = TRUE
RESOURCE = $(DIROBJ)\libcurl.res
!ENDIF

######################
# debug-dll-ssl-dll

!IF "$(CFG)" == "debug-dll-ssl-dll"
TARGET   = $(LIBCURL_DYN_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
CFGSET   = TRUE
RESOURCE = $(DIROBJ)\libcurl.res
!ENDIF

######################
# debug-dll-zlib-dll

!IF "$(CFG)" == "debug-dll-zlib-dll"
TARGET   = $(LIBCURL_DYN_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
CFGSET   = TRUE
RESOURCE = $(DIROBJ)\libcurl.res
!ENDIF

######################
# debug-dll-ssl-dll-zlib-dll

!IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
TARGET   = $(LIBCURL_DYN_LIB_DBG)
DIROBJ   = $(CFG)
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
CFGSET   = TRUE
RESOURCE = $(DIROBJ)\libcurl.res
!ENDIF

#######################
# Usage
#
!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
!MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>
!MESSAGE where <config> is one of:
!MESSAGE   release                      - release static library
!MESSAGE   release-ssl                  - release static library with ssl
!MESSAGE   release-zlib                 - release static library with zlib
!MESSAGE   release-ssl-zlib             - release static library with ssl and zlib
!MESSAGE   release-ssl-ssh2-zlib        - release static library with ssl, ssh2 and zlib
!MESSAGE   release-ssl-dll              - release static library with dynamic ssl
!MESSAGE   release-zlib-dll             - release static library with dynamic zlib
!MESSAGE   release-ssl-dll-zlib-dll     - release static library with dynamic ssl and dynamic zlib
!MESSAGE   release-dll                  - release dynamic library
!MESSAGE   release-dll-ssl-dll          - release dynamic library with dynamic ssl
!MESSAGE   release-dll-zlib-dll         - release dynamic library with dynamic zlib
!MESSAGE   release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
!MESSAGE   debug                        - debug static library
!MESSAGE   debug-ssl                    - debug static library with ssl
!MESSAGE   debug-zlib                   - debug static library with zlib
!MESSAGE   debug-ssl-zlib               - debug static library with ssl and zlib
!MESSAGE   debug-ssl-ssh2-zlib          - debug static library with ssl, ssh2 and zlib
!MESSAGE   debug-ssl-dll                - debug static library with dynamic ssl
!MESSAGE   debug-zlib-dll               - debug static library with dynamic zlib
!MESSAGE   debug-ssl-dll-zlib-dll       - debug static library with dynamic ssl and dynamic zlib
!MESSAGE   debug-dll                    - debug dynamic library
!MESSAGE   debug-dll-ssl-dll            - debug dynamic library with dynamic ssl
!MESSAGE   debug-dll-zlib-dll           - debug dynamic library with dynamic zlib1
!MESSAGE   debug-dll-ssl-dll-zlib-dll   - debug dynamic library with dynamic ssl and dynamic zlib
!MESSAGE <target> can be left blank in which case all is assumed
!ERROR please choose a valid configuration "$(CFG)"
!ENDIF

#######################
# Only the clean target can be used if a config was not provided.
#
!IF "$(CFGSET)" == "FALSE"
clean:
	@-erase /s *.dll 2> NUL
	@-erase /s *.exp 2> NUL
	@-erase /s *.idb 2> NUL
	@-erase /s *.lib 2> NUL
	@-erase /s *.obj 2> NUL
	@-erase /s *.pch 2> NUL
	@-erase /s *.pdb 2> NUL
	@-erase /s *.res 2> NUL
!ELSE
# A config was provided, so the library can be built.
#
X_OBJS= \
	$(DIROBJ)\amigaos.obj \
	$(DIROBJ)\asyn-ares.obj \
	$(DIROBJ)\asyn-thread.obj \
	$(DIROBJ)\axtls.obj \
	$(DIROBJ)\base64.obj \
	$(DIROBJ)\conncache.obj \
	$(DIROBJ)\connect.obj \
	$(DIROBJ)\content_encoding.obj \
	$(DIROBJ)\cookie.obj \
	$(DIROBJ)\curl_addrinfo.obj \
	$(DIROBJ)\curl_des.obj \
	$(DIROBJ)\curl_endian.obj \
	$(DIROBJ)\curl_fnmatch.obj \
	$(DIROBJ)\curl_gethostname.obj \
	$(DIROBJ)\curl_gssapi.obj \
	$(DIROBJ)\curl_memrchr.obj \
	$(DIROBJ)\curl_multibyte.obj \
	$(DIROBJ)\curl_ntlm_core.obj \
	$(DIROBJ)\curl_ntlm_wb.obj \
	$(DIROBJ)\curl_rtmp.obj \
	$(DIROBJ)\curl_sasl.obj \
	$(DIROBJ)\curl_sspi.obj \
	$(DIROBJ)\curl_threads.obj \
	$(DIROBJ)\cyassl.obj \
	$(DIROBJ)\darwinssl.obj \
	$(DIROBJ)\dict.obj \
	$(DIROBJ)\dotdot.obj \
	$(DIROBJ)\easy.obj \
	$(DIROBJ)\escape.obj \
	$(DIROBJ)\file.obj \
	$(DIROBJ)\fileinfo.obj \
	$(DIROBJ)\formdata.obj \
	$(DIROBJ)\ftp.obj \
	$(DIROBJ)\ftplistparser.obj \
	$(DIROBJ)\getenv.obj \
	$(DIROBJ)\getinfo.obj \
	$(DIROBJ)\gopher.obj \
	$(DIROBJ)\gtls.obj \
	$(DIROBJ)\hash.obj \
	$(DIROBJ)\hmac.obj \
	$(DIROBJ)\hostasyn.obj \
	$(DIROBJ)\hostcheck.obj \
	$(DIROBJ)\hostip.obj \
	$(DIROBJ)\hostip4.obj \
	$(DIROBJ)\hostip6.obj \
	$(DIROBJ)\hostsyn.obj \
	$(DIROBJ)\http.obj \
	$(DIROBJ)\http_chunks.obj \
	$(DIROBJ)\http_digest.obj \
	$(DIROBJ)\http_negotiate.obj \
	$(DIROBJ)\http_ntlm.obj \
	$(DIROBJ)\http_proxy.obj \
	$(DIROBJ)\idn_win32.obj \
	$(DIROBJ)\if2ip.obj \
	$(DIROBJ)\imap.obj \
	$(DIROBJ)\inet_ntop.obj \
	$(DIROBJ)\inet_pton.obj \
	$(DIROBJ)\krb5.obj \
	$(DIROBJ)\ldap.obj \
	$(DIROBJ)\llist.obj \
	$(DIROBJ)\md4.obj \
	$(DIROBJ)\md5.obj \
	$(DIROBJ)\memdebug.obj \
	$(DIROBJ)\mprintf.obj \
	$(DIROBJ)\multi.obj \
	$(DIROBJ)\netrc.obj \
	$(DIROBJ)\non-ascii.obj \
	$(DIROBJ)\nonblock.obj \
	$(DIROBJ)\nss.obj \
	$(DIROBJ)\openldap.obj \
	$(DIROBJ)\parsedate.obj \
	$(DIROBJ)\pingpong.obj \
	$(DIROBJ)\pipeline.obj \
	$(DIROBJ)\polarssl.obj \
	$(DIROBJ)\polarssl_threadlock.obj \
	$(DIROBJ)\pop3.obj \
	$(DIROBJ)\progress.obj \
	$(DIROBJ)\rawstr.obj \
	$(DIROBJ)\rtsp.obj \
	$(DIROBJ)\schannel.obj \
	$(DIROBJ)\security.obj \
	$(DIROBJ)\select.obj \
	$(DIROBJ)\sendf.obj \
	$(DIROBJ)\share.obj \
	$(DIROBJ)\slist.obj \
	$(DIROBJ)\smb.obj \
	$(DIROBJ)\smtp.obj \
	$(DIROBJ)\socks.obj \
	$(DIROBJ)\socks_gssapi.obj \
	$(DIROBJ)\socks_sspi.obj \
	$(DIROBJ)\speedcheck.obj \
	$(DIROBJ)\splay.obj \
	$(DIROBJ)\ssh.obj \
	$(DIROBJ)\system_win32.obj \
	$(DIROBJ)\vauth.obj \
	$(DIROBJ)\cleartext.obj \
	$(DIROBJ)\cram.obj \
	$(DIROBJ)\digest.obj \
	$(DIROBJ)\digest_sspi.obj \
	$(DIROBJ)\krb5_gssapi.obj \
	$(DIROBJ)\krb5_sspi.obj \
	$(DIROBJ)\ntlm.obj \
	$(DIROBJ)\ntlm_sspi.obj \
	$(DIROBJ)\oauth2.obj \
	$(DIROBJ)\spnego_gssapi.obj \
	$(DIROBJ)\spnego_sspi.obj \
	$(DIROBJ)\vtls.obj \
	$(DIROBJ)\openssl.obj \
	$(DIROBJ)\strdup.obj \
	$(DIROBJ)\strequal.obj \
	$(DIROBJ)\strerror.obj \
	$(DIROBJ)\strtok.obj \
	$(DIROBJ)\strtoofft.obj \
	$(DIROBJ)\telnet.obj \
	$(DIROBJ)\tftp.obj \
	$(DIROBJ)\timeval.obj \
	$(DIROBJ)\transfer.obj \
	$(DIROBJ)\url.obj \
	$(DIROBJ)\version.obj \
	$(DIROBJ)\warnless.obj \
	$(DIROBJ)\wildcard.obj \
        $(DIROBJ)\x509asn1.obj \
	$(RESOURCE)

all : $(TARGET)

$(TARGET): $(X_OBJS)
	$(LNK) $(LFLAGS) $(X_OBJS)
	-xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_REL) . /y
	-xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_DBG) . /y
	-xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_REL) . /y
	-xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_DBG) . /y
	-xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_REL) . /y
	-xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) . /y
	-xcopy $(DIROBJ)\*.exp                  . /y
	-xcopy $(DIROBJ)\*.pdb                  . /y

$(X_OBJS): $(DIROBJ)

$(DIROBJ):
	@if not exist "$(DIROBJ)" mkdir $(DIROBJ)

.SUFFIXES: .c .obj .res

{.\}.c{$(DIROBJ)\}.obj:
	$(CC) $(CFLAGS) /Fo"$@"  $<

{.\vauth\}.c{$(DIROBJ)\}.obj:
	$(CC) $(CFLAGS) /Fo"$@"  $<

{.\vtls\}.c{$(DIROBJ)\}.obj:
	$(CC) $(CFLAGS) /Fo"$@"  $<

debug-dll\libcurl.res \
debug-dll-ssl-dll\libcurl.res \
debug-dll-zlib-dll\libcurl.res \
debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
	rc /dDEBUGBUILD=1 /Fo $@ libcurl.rc

release-dll\libcurl.res \
release-dll-ssl-dll\libcurl.res \
release-dll-zlib-dll\libcurl.res \
release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
	rc /dDEBUGBUILD=0 /Fo $@ libcurl.rc
!ENDIF  # End of case where a config was provided.
