#***************************************************************************
#                                  _   _ ____  _
#  Project                     ___| | | |  _ \| |
#                             / __| | | | |_) | |
#                            | (__| |_| |  _ <| |___
#                             \___|\___/|_| \_\_____|
#
# Copyright (C) 1999 - 2010, 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.
#
# 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.
#
#***************************************************************************

###########################################################################
#
# 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 ..\Makefile.msvc.names




!IFNDEF OPENSSL_PATH
OPENSSL_PATH   = ../../openssl-0.9.8r
!ENDIF

!IFNDEF ZLIB_PATH
ZLIB_PATH  = ../../zlib-1.2.5
!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:
# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

# 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_SSLEAY /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
CFLAGS     = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL
CFLAGSLIB  = /DCURL_STATICLIB
LNKDLL     = link.exe /DLL
LNKLIB     = link.exe /lib
LFLAGS     = /nologo /machine:$(MACHINE)
SSLLIBS    = libeay32.lib ssleay32.lib
ZLIBLIBSDLL= zdll.lib
ZLIBLIBS   = zlib.lib
WINLIBS    = ws2_32.lib wldap32.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

##############################################################
# 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-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-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-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-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-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)\base64.obj \
	$(DIROBJ)\connect.obj \
	$(DIROBJ)\content_encoding.obj \
	$(DIROBJ)\cookie.obj \
	$(DIROBJ)\curl_addrinfo.obj \
	$(DIROBJ)\curl_fnmatch.obj \
	$(DIROBJ)\curl_gethostname.obj \
	$(DIROBJ)\curl_memrchr.obj \
	$(DIROBJ)\curl_rand.obj \
	$(DIROBJ)\curl_rtmp.obj \
	$(DIROBJ)\curl_sspi.obj \
	$(DIROBJ)\curl_threads.obj \
	$(DIROBJ)\dict.obj \
	$(DIROBJ)\easy.obj \
	$(DIROBJ)\escape.obj \
	$(DIROBJ)\fileinfo.obj \
	$(DIROBJ)\file.obj \
	$(DIROBJ)\formdata.obj \
	$(DIROBJ)\ftplistparser.obj \
	$(DIROBJ)\ftp.obj \
	$(DIROBJ)\getenv.obj \
	$(DIROBJ)\getinfo.obj \
	$(DIROBJ)\gtls.obj \
	$(DIROBJ)\gopher.obj \
	$(DIROBJ)\hash.obj \
	$(DIROBJ)\hmac.obj \
	$(DIROBJ)\hostares.obj \
	$(DIROBJ)\hostasyn.obj \
	$(DIROBJ)\hostip4.obj \
	$(DIROBJ)\hostip6.obj \
	$(DIROBJ)\hostip.obj \
	$(DIROBJ)\hostsyn.obj \
	$(DIROBJ)\hostthre.obj \
	$(DIROBJ)\http_chunks.obj \
	$(DIROBJ)\http_digest.obj \
	$(DIROBJ)\http_negotiate.obj \
	$(DIROBJ)\http_ntlm.obj \
	$(DIROBJ)\http.obj \
	$(DIROBJ)\if2ip.obj \
	$(DIROBJ)\imap.obj \
	$(DIROBJ)\inet_ntop.obj \
	$(DIROBJ)\inet_pton.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)\nonblock.obj \
	$(DIROBJ)\openldap.obj \
	$(DIROBJ)\parsedate.obj \
	$(DIROBJ)\pingpong.obj \
	$(DIROBJ)\polarssl.obj \
	$(DIROBJ)\pop3.obj \
	$(DIROBJ)\progress.obj \
	$(DIROBJ)\rawstr.obj \
	$(DIROBJ)\rtsp.obj \
	$(DIROBJ)\select.obj \
	$(DIROBJ)\sendf.obj \
	$(DIROBJ)\share.obj \
	$(DIROBJ)\slist.obj \
	$(DIROBJ)\smtp.obj \
	$(DIROBJ)\socks_gssapi.obj \
	$(DIROBJ)\socks.obj \
	$(DIROBJ)\socks_sspi.obj \
	$(DIROBJ)\speedcheck.obj \
	$(DIROBJ)\splay.obj \
	$(DIROBJ)\ssh.obj \
	$(DIROBJ)\sslgen.obj \
	$(DIROBJ)\ssluse.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 \
	$(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"$@"  $<

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.
