Home | History | Annotate | Download | only in lib
      1 #***************************************************************************
      2 #                                  _   _ ____  _
      3 #  Project                     ___| | | |  _ \| |
      4 #                             / __| | | | |_) | |
      5 #                            | (__| |_| |  _ <| |___
      6 #                             \___|\___/|_| \_\_____|
      7 #
      8 # Copyright (C) 1999 - 2015, Daniel Stenberg, <daniel (a] haxx.se>, et al.
      9 #
     10 # This software is licensed as described in the file COPYING, which
     11 # you should have received as part of this distribution. The terms
     12 # are also available at http://curl.haxx.se/docs/copyright.html.
     13 #
     14 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
     15 # copies of the Software, and permit persons to whom the Software is
     16 # furnished to do so, under the terms of the COPYING file.
     17 #
     18 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
     19 # KIND, either express or implied.
     20 #
     21 #***************************************************************************
     22 
     23 # All files in the Makefile.vc* series are generated automatically from the
     24 # one made for MSVC version 6. Alas, if you want to do changes to any of the
     25 # files and send back to the project, edit the version six, make your diff and
     26 # mail curl-library.
     27 
     28 ###########################################################################
     29 #
     30 # Makefile for building libcurl with MSVC6
     31 #
     32 # Usage: see usage message below
     33 #        Should be invoked from \lib directory
     34 #        Edit the paths and desired library name
     35 #        SSL path is only required if you intend compiling
     36 #        with SSL.
     37 #
     38 # This make file leaves the result either a .lib or .dll file
     39 # in the \lib directory. It should be called from the \lib
     40 # directory.
     41 #
     42 # An option would have been to allow the source directory to
     43 # be specified, but I saw no requirement.
     44 #
     45 # Another option would have been to leave the .lib and .dll
     46 # files in the "cfg" directory, but then the make file
     47 # in \src would need to be changed.
     48 #
     49 ##############################################################
     50 
     51 # ----------------------------------------------
     52 # Verify that current subdir is libcurl's 'lib'
     53 # ----------------------------------------------
     54 
     55 !IF ! EXIST(.\curl_addrinfo.c)
     56 !  MESSAGE Can not process this makefile from outside of libcurl's 'lib' subdirectory.
     57 !  MESSAGE Change to libcurl's 'lib' subdirectory, and try again.
     58 !  ERROR   See previous message.
     59 !ENDIF
     60 
     61 # ------------------------------------------------
     62 # Makefile.msvc.names provides libcurl file names
     63 # ------------------------------------------------
     64 
     65 !INCLUDE ..\winbuild\Makefile.msvc.names
     66 
     67 !IFNDEF OPENSSL_PATH
     68 OPENSSL_PATH   = ../../openssl-1.0.2a
     69 !ENDIF
     70 
     71 !IFNDEF LIBSSH2_PATH
     72 LIBSSH2_PATH   = ../../libssh2-1.5.0
     73 !ENDIF
     74 
     75 !IFNDEF ZLIB_PATH
     76 ZLIB_PATH  = ../../zlib-1.2.8
     77 !ENDIF
     78 
     79 !IFNDEF MACHINE
     80 MACHINE  = X86
     81 !ENDIF
     82 
     83 # USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
     84 # without an openssl installation and offers the ability to authenticate
     85 # using the "current logged in user". Since at least with MSVC6 the sspi.h
     86 # header is broken it is either required to install the Windows SDK,
     87 # or to fix sspi.h with adding this define at the beginning of sspi.h:
     88 # #define FreeCredentialHandle FreeCredentialsHandle
     89 #
     90 # If, for some reason the Windows SDK is installed but not installed
     91 # in the default location, you can specify WINDOWS_SDK_PATH.
     92 # It can be downloaded from:
     93 # https://msdn.microsoft.com/windows/bb980924.aspx
     94 
     95 # WINDOWS_SSPI = 1
     96 
     97 !IFDEF WINDOWS_SSPI
     98 !IFNDEF WINDOWS_SDK_PATH
     99 WINDOWS_SDK_PATH = "$(PROGRAMFILES)\Microsoft SDK"
    100 !ENDIF
    101 !ENDIF
    102 
    103 #############################################################
    104 ## Nothing more to do below this line!
    105 
    106 CCNODBG      = cl.exe /O2 /DNDEBUG
    107 CCDEBUG      = cl.exe /Od /Gm /Zi /D_DEBUG /GZ
    108 CFLAGSSSL    = /DUSE_OPENSSL /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
    109 CFLAGSWINSSL = /DUSE_SCHANNEL
    110 CFLAGSSSH2   = /DUSE_LIBSSH2 /DCURL_DISABLE_LDAP /DHAVE_LIBSSH2 /DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /I "$(LIBSSH2_PATH)/include"
    111 CFLAGSZLIB   = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
    112 CFLAGS       = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL /D_BIND_TO_CURRENT_VCLIBS_VERSION=1
    113 CFLAGSLIB    = /DCURL_STATICLIB
    114 LNKDLL       = link.exe /DLL
    115 LNKLIB       = link.exe /lib
    116 LFLAGS       = /nologo /machine:$(MACHINE)
    117 SSLLIBS      = libeay32.lib ssleay32.lib
    118 ZLIBLIBSDLL  = zdll.lib
    119 ZLIBLIBS     = zlib.lib
    120 WINLIBS      = ws2_32.lib wldap32.lib advapi32.lib
    121 CFLAGS       = $(CFLAGS)
    122 
    123 CFGSET       = FALSE
    124 
    125 !IFDEF WINDOWS_SSPI
    126 CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
    127 !ENDIF
    128 
    129 !IFDEF USE_IPV6
    130 CFLAGS = $(CFLAGS) /DUSE_IPV6
    131 !ENDIF
    132 
    133 !IFDEF USE_IDN
    134 CFLAGS = $(CFLAGS) /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES
    135 !ENDIF
    136 
    137 ##############################################################
    138 # Runtime library configuration
    139 
    140 RTLIB   = /MD
    141 RTLIBD  = /MDd
    142 
    143 !IF "$(RTLIBCFG)" == "static"
    144 RTLIB  = /MT
    145 RTLIBD = /MTd
    146 !ENDIF
    147 
    148 
    149 ######################
    150 # release
    151 
    152 !IF "$(CFG)" == "release"
    153 TARGET = $(LIBCURL_STA_LIB_REL)
    154 DIROBJ = $(CFG)
    155 LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
    156 CC     = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
    157 CFGSET = TRUE
    158 !ENDIF
    159 
    160 ######################
    161 # release-ssl
    162 
    163 !IF "$(CFG)" == "release-ssl"
    164 TARGET   = $(LIBCURL_STA_LIB_REL)
    165 DIROBJ   = $(CFG)
    166 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    167 LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
    168 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
    169 CFGSET   = TRUE
    170 !ENDIF
    171 
    172 ######################
    173 # release-winssl
    174 
    175 !IF "$(CFG)" == "release-winssl"
    176 TARGET   = $(LIBCURL_STA_LIB_REL)
    177 DIROBJ   = $(CFG)
    178 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    179 LNK      = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
    180 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSLIB)
    181 CFGSET   = TRUE
    182 !ENDIF
    183 
    184 ######################
    185 # release-zlib
    186 
    187 !IF "$(CFG)" == "release-zlib"
    188 TARGET   = $(LIBCURL_STA_LIB_REL)
    189 DIROBJ   = $(CFG)
    190 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    191 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    192 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
    193 CFGSET   = TRUE
    194 !ENDIF
    195 
    196 ######################
    197 # release-ssl-zlib
    198 
    199 !IF "$(CFG)" == "release-ssl-zlib"
    200 TARGET   = $(LIBCURL_STA_LIB_REL)
    201 DIROBJ   = $(CFG)
    202 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    203 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    204 LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    205 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    206 CFGSET   = TRUE
    207 !ENDIF
    208 
    209 ######################
    210 # release-winssl-zlib
    211 
    212 !IF "$(CFG)" == "release-winssl-zlib"
    213 TARGET   = $(LIBCURL_STA_LIB_REL)
    214 DIROBJ   = $(CFG)
    215 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    216 LNK      = $(LNKLIB) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    217 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    218 CFGSET   = TRUE
    219 !ENDIF
    220 
    221 ######################
    222 # release-ssl-ssh2-zlib
    223 
    224 !IF "$(CFG)" == "release-ssl-ssh2-zlib"
    225 TARGET   = $(LIBCURL_STA_LIB_REL)
    226 DIROBJ   = $(CFG)
    227 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    228 LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
    229 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    230 LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    231 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
    232 CFGSET   = TRUE
    233 !ENDIF
    234 
    235 ######################
    236 # release-ssl-dll
    237 
    238 !IF "$(CFG)" == "release-ssl-dll"
    239 TARGET   = $(LIBCURL_STA_LIB_REL)
    240 DIROBJ   = $(CFG)
    241 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    242 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
    243 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
    244 CFGSET   = TRUE
    245 !ENDIF
    246 
    247 ######################
    248 # release-zlib-dll
    249 
    250 !IF "$(CFG)" == "release-zlib-dll"
    251 TARGET   = $(LIBCURL_STA_LIB_REL)
    252 DIROBJ   = $(CFG)
    253 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    254 LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    255 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
    256 CFGSET   = TRUE
    257 !ENDIF
    258 
    259 ######################
    260 # release-ssl-dll-zlib-dll
    261 
    262 !IF "$(CFG)" == "release-ssl-dll-zlib-dll"
    263 TARGET   = $(LIBCURL_STA_LIB_REL)
    264 DIROBJ   = $(CFG)
    265 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    266 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    267 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    268 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    269 CFGSET   = TRUE
    270 !ENDIF
    271 
    272 ######################
    273 # release-dll
    274 
    275 !IF "$(CFG)" == "release-dll"
    276 TARGET = $(LIBCURL_DYN_LIB_REL)
    277 DIROBJ = $(CFG)
    278 LNK    = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
    279 CC     = $(CCNODBG) $(RTLIB)
    280 CFGSET = TRUE
    281 RESOURCE = $(DIROBJ)\libcurl.res
    282 !ENDIF
    283 
    284 ######################
    285 # release-dll-ssl-dll
    286 
    287 !IF "$(CFG)" == "release-dll-ssl-dll"
    288 TARGET   = $(LIBCURL_DYN_LIB_REL)
    289 DIROBJ   = $(CFG)
    290 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    291 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
    292 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
    293 CFGSET   = TRUE
    294 RESOURCE = $(DIROBJ)\libcurl.res
    295 !ENDIF
    296 
    297 ######################
    298 # release-dll-zlib-dll
    299 
    300 !IF "$(CFG)" == "release-dll-zlib-dll"
    301 TARGET   = $(LIBCURL_DYN_LIB_REL)
    302 DIROBJ   = $(CFG)
    303 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    304 LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
    305 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
    306 CFGSET   = TRUE
    307 RESOURCE = $(DIROBJ)\libcurl.res
    308 !ENDIF
    309 
    310 ######################
    311 # release-dll-ssl-dll-zlib-dll
    312 
    313 !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
    314 TARGET   = $(LIBCURL_DYN_LIB_REL)
    315 DIROBJ   = $(CFG)
    316 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    317 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    318 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
    319 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
    320 CFGSET   = TRUE
    321 RESOURCE = $(DIROBJ)\libcurl.res
    322 !ENDIF
    323 
    324 ######################
    325 # debug
    326 
    327 !IF "$(CFG)" == "debug"
    328 TARGET = $(LIBCURL_STA_LIB_DBG)
    329 DIROBJ = $(CFG)
    330 LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
    331 CC     = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
    332 CFGSET = TRUE
    333 !ENDIF
    334 
    335 ######################
    336 # debug-ssl
    337 
    338 !IF "$(CFG)" == "debug-ssl"
    339 TARGET   = $(LIBCURL_STA_LIB_DBG)
    340 DIROBJ   = $(CFG)
    341 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    342 LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
    343 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
    344 CFGSET   = TRUE
    345 !ENDIF
    346 
    347 ######################
    348 # debug-zlib
    349 
    350 !IF "$(CFG)" == "debug-zlib"
    351 TARGET   = $(LIBCURL_STA_LIB_DBG)
    352 DIROBJ   = $(CFG)
    353 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    354 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    355 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
    356 CFGSET   = TRUE
    357 !ENDIF
    358 
    359 ######################
    360 # debug-ssl-zlib
    361 
    362 !IF "$(CFG)" == "debug-ssl-zlib"
    363 TARGET   = $(LIBCURL_STA_LIB_DBG)
    364 DIROBJ   = $(CFG)
    365 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    366 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    367 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    368 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    369 CFGSET   = TRUE
    370 !ENDIF
    371 
    372 ######################
    373 # debug-ssl-ssh2-zlib
    374 
    375 !IF "$(CFG)" == "debug-ssl-ssh2-zlib"
    376 TARGET   = $(LIBCURL_STA_LIB_DBG)
    377 DIROBJ   = $(CFG)
    378 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    379 LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
    380 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    381 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    382 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
    383 CFGSET   = TRUE
    384 !ENDIF
    385 
    386 ######################
    387 # debug-ssl-dll
    388 
    389 !IF "$(CFG)" == "debug-ssl-dll"
    390 TARGET   = $(LIBCURL_STA_LIB_DBG)
    391 DIROBJ   = $(CFG)
    392 LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
    393 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
    394 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
    395 CFGSET   = TRUE
    396 !ENDIF
    397 
    398 ######################
    399 # debug-zlib-dll
    400 
    401 !IF "$(CFG)" == "debug-zlib-dll"
    402 TARGET   = $(LIBCURL_STA_LIB_DBG)
    403 DIROBJ   = $(CFG)
    404 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    405 LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    406 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
    407 CFGSET   = TRUE
    408 !ENDIF
    409 
    410 ######################
    411 # debug-ssl-dll-zlib-dll
    412 
    413 !IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
    414 TARGET   = $(LIBCURL_STA_LIB_DBG)
    415 DIROBJ   = $(CFG)
    416 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    417 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    418 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    419 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    420 CFGSET   = TRUE
    421 !ENDIF
    422 
    423 ######################
    424 # debug-dll
    425 
    426 !IF "$(CFG)" == "debug-dll"
    427 TARGET = $(LIBCURL_DYN_LIB_DBG)
    428 DIROBJ = $(CFG)
    429 LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
    430 CC     = $(CCDEBUG) $(RTLIBD)
    431 CFGSET = TRUE
    432 RESOURCE = $(DIROBJ)\libcurl.res
    433 !ENDIF
    434 
    435 ######################
    436 # debug-dll-ssl-dll
    437 
    438 !IF "$(CFG)" == "debug-dll-ssl-dll"
    439 TARGET   = $(LIBCURL_DYN_LIB_DBG)
    440 DIROBJ   = $(CFG)
    441 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    442 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
    443 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
    444 CFGSET   = TRUE
    445 RESOURCE = $(DIROBJ)\libcurl.res
    446 !ENDIF
    447 
    448 ######################
    449 # debug-dll-zlib-dll
    450 
    451 !IF "$(CFG)" == "debug-dll-zlib-dll"
    452 TARGET   = $(LIBCURL_DYN_LIB_DBG)
    453 DIROBJ   = $(CFG)
    454 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    455 LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
    456 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
    457 CFGSET   = TRUE
    458 RESOURCE = $(DIROBJ)\libcurl.res
    459 !ENDIF
    460 
    461 ######################
    462 # debug-dll-ssl-dll-zlib-dll
    463 
    464 !IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
    465 TARGET   = $(LIBCURL_DYN_LIB_DBG)
    466 DIROBJ   = $(CFG)
    467 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    468 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    469 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
    470 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
    471 CFGSET   = TRUE
    472 RESOURCE = $(DIROBJ)\libcurl.res
    473 !ENDIF
    474 
    475 #######################
    476 # Usage
    477 #
    478 !IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
    479 !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>
    480 !MESSAGE where <config> is one of:
    481 !MESSAGE   release                      - release static library
    482 !MESSAGE   release-ssl                  - release static library with ssl
    483 !MESSAGE   release-zlib                 - release static library with zlib
    484 !MESSAGE   release-ssl-zlib             - release static library with ssl and zlib
    485 !MESSAGE   release-ssl-ssh2-zlib        - release static library with ssl, ssh2 and zlib
    486 !MESSAGE   release-ssl-dll              - release static library with dynamic ssl
    487 !MESSAGE   release-zlib-dll             - release static library with dynamic zlib
    488 !MESSAGE   release-ssl-dll-zlib-dll     - release static library with dynamic ssl and dynamic zlib
    489 !MESSAGE   release-dll                  - release dynamic library
    490 !MESSAGE   release-dll-ssl-dll          - release dynamic library with dynamic ssl
    491 !MESSAGE   release-dll-zlib-dll         - release dynamic library with dynamic zlib
    492 !MESSAGE   release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
    493 !MESSAGE   debug                        - debug static library
    494 !MESSAGE   debug-ssl                    - debug static library with ssl
    495 !MESSAGE   debug-zlib                   - debug static library with zlib
    496 !MESSAGE   debug-ssl-zlib               - debug static library with ssl and zlib
    497 !MESSAGE   debug-ssl-ssh2-zlib          - debug static library with ssl, ssh2 and zlib
    498 !MESSAGE   debug-ssl-dll                - debug static library with dynamic ssl
    499 !MESSAGE   debug-zlib-dll               - debug static library with dynamic zlib
    500 !MESSAGE   debug-ssl-dll-zlib-dll       - debug static library with dynamic ssl and dynamic zlib
    501 !MESSAGE   debug-dll                    - debug dynamic library
    502 !MESSAGE   debug-dll-ssl-dll            - debug dynamic library with dynamic ssl
    503 !MESSAGE   debug-dll-zlib-dll           - debug dynamic library with dynamic zlib1
    504 !MESSAGE   debug-dll-ssl-dll-zlib-dll   - debug dynamic library with dynamic ssl and dynamic zlib
    505 !MESSAGE <target> can be left blank in which case all is assumed
    506 !ERROR please choose a valid configuration "$(CFG)"
    507 !ENDIF
    508 
    509 #######################
    510 # Only the clean target can be used if a config was not provided.
    511 #
    512 !IF "$(CFGSET)" == "FALSE"
    513 clean:
    514 	@-erase /s *.dll 2> NUL
    515 	@-erase /s *.exp 2> NUL
    516 	@-erase /s *.idb 2> NUL
    517 	@-erase /s *.lib 2> NUL
    518 	@-erase /s *.obj 2> NUL
    519 	@-erase /s *.pch 2> NUL
    520 	@-erase /s *.pdb 2> NUL
    521 	@-erase /s *.res 2> NUL
    522 !ELSE
    523 # A config was provided, so the library can be built.
    524 #
    525 X_OBJS= \
    526 	$(DIROBJ)\amigaos.obj \
    527 	$(DIROBJ)\asyn-ares.obj \
    528 	$(DIROBJ)\asyn-thread.obj \
    529 	$(DIROBJ)\axtls.obj \
    530 	$(DIROBJ)\base64.obj \
    531 	$(DIROBJ)\conncache.obj \
    532 	$(DIROBJ)\connect.obj \
    533 	$(DIROBJ)\content_encoding.obj \
    534 	$(DIROBJ)\cookie.obj \
    535 	$(DIROBJ)\curl_addrinfo.obj \
    536 	$(DIROBJ)\curl_des.obj \
    537 	$(DIROBJ)\curl_endian.obj \
    538 	$(DIROBJ)\curl_fnmatch.obj \
    539 	$(DIROBJ)\curl_gethostname.obj \
    540 	$(DIROBJ)\curl_gssapi.obj \
    541 	$(DIROBJ)\curl_memrchr.obj \
    542 	$(DIROBJ)\curl_multibyte.obj \
    543 	$(DIROBJ)\curl_ntlm.obj \
    544 	$(DIROBJ)\curl_ntlm_core.obj \
    545 	$(DIROBJ)\curl_ntlm_msgs.obj \
    546 	$(DIROBJ)\curl_ntlm_wb.obj \
    547 	$(DIROBJ)\curl_rtmp.obj \
    548 	$(DIROBJ)\curl_sasl.obj \
    549 	$(DIROBJ)\curl_sasl_gssapi.obj \
    550 	$(DIROBJ)\curl_sasl_sspi.obj \
    551 	$(DIROBJ)\curl_sspi.obj \
    552 	$(DIROBJ)\curl_threads.obj \
    553 	$(DIROBJ)\cyassl.obj \
    554 	$(DIROBJ)\darwinssl.obj \
    555 	$(DIROBJ)\dict.obj \
    556 	$(DIROBJ)\dotdot.obj \
    557 	$(DIROBJ)\easy.obj \
    558 	$(DIROBJ)\escape.obj \
    559 	$(DIROBJ)\file.obj \
    560 	$(DIROBJ)\fileinfo.obj \
    561 	$(DIROBJ)\formdata.obj \
    562 	$(DIROBJ)\ftp.obj \
    563 	$(DIROBJ)\ftplistparser.obj \
    564 	$(DIROBJ)\getenv.obj \
    565 	$(DIROBJ)\getinfo.obj \
    566 	$(DIROBJ)\gopher.obj \
    567 	$(DIROBJ)\gtls.obj \
    568 	$(DIROBJ)\hash.obj \
    569 	$(DIROBJ)\hmac.obj \
    570 	$(DIROBJ)\hostasyn.obj \
    571 	$(DIROBJ)\hostcheck.obj \
    572 	$(DIROBJ)\hostip.obj \
    573 	$(DIROBJ)\hostip4.obj \
    574 	$(DIROBJ)\hostip6.obj \
    575 	$(DIROBJ)\hostsyn.obj \
    576 	$(DIROBJ)\http.obj \
    577 	$(DIROBJ)\http_chunks.obj \
    578 	$(DIROBJ)\http_digest.obj \
    579 	$(DIROBJ)\http_negotiate.obj \
    580 	$(DIROBJ)\http_negotiate_sspi.obj \
    581 	$(DIROBJ)\http_proxy.obj \
    582 	$(DIROBJ)\idn_win32.obj \
    583 	$(DIROBJ)\if2ip.obj \
    584 	$(DIROBJ)\imap.obj \
    585 	$(DIROBJ)\inet_ntop.obj \
    586 	$(DIROBJ)\inet_pton.obj \
    587 	$(DIROBJ)\krb5.obj \
    588 	$(DIROBJ)\ldap.obj \
    589 	$(DIROBJ)\llist.obj \
    590 	$(DIROBJ)\md4.obj \
    591 	$(DIROBJ)\md5.obj \
    592 	$(DIROBJ)\memdebug.obj \
    593 	$(DIROBJ)\mprintf.obj \
    594 	$(DIROBJ)\multi.obj \
    595 	$(DIROBJ)\netrc.obj \
    596 	$(DIROBJ)\non-ascii.obj \
    597 	$(DIROBJ)\nonblock.obj \
    598 	$(DIROBJ)\nss.obj \
    599 	$(DIROBJ)\openldap.obj \
    600 	$(DIROBJ)\parsedate.obj \
    601 	$(DIROBJ)\pingpong.obj \
    602 	$(DIROBJ)\pipeline.obj \
    603 	$(DIROBJ)\polarssl.obj \
    604 	$(DIROBJ)\polarssl_threadlock.obj \
    605 	$(DIROBJ)\pop3.obj \
    606 	$(DIROBJ)\progress.obj \
    607 	$(DIROBJ)\rawstr.obj \
    608 	$(DIROBJ)\rtsp.obj \
    609 	$(DIROBJ)\schannel.obj \
    610 	$(DIROBJ)\security.obj \
    611 	$(DIROBJ)\select.obj \
    612 	$(DIROBJ)\sendf.obj \
    613 	$(DIROBJ)\share.obj \
    614 	$(DIROBJ)\slist.obj \
    615 	$(DIROBJ)\smb.obj \
    616 	$(DIROBJ)\smtp.obj \
    617 	$(DIROBJ)\socks.obj \
    618 	$(DIROBJ)\socks_gssapi.obj \
    619 	$(DIROBJ)\socks_sspi.obj \
    620 	$(DIROBJ)\speedcheck.obj \
    621 	$(DIROBJ)\splay.obj \
    622 	$(DIROBJ)\ssh.obj \
    623 	$(DIROBJ)\vtls.obj \
    624 	$(DIROBJ)\openssl.obj \
    625 	$(DIROBJ)\strdup.obj \
    626 	$(DIROBJ)\strequal.obj \
    627 	$(DIROBJ)\strerror.obj \
    628 	$(DIROBJ)\strtok.obj \
    629 	$(DIROBJ)\strtoofft.obj \
    630 	$(DIROBJ)\telnet.obj \
    631 	$(DIROBJ)\tftp.obj \
    632 	$(DIROBJ)\timeval.obj \
    633 	$(DIROBJ)\transfer.obj \
    634 	$(DIROBJ)\url.obj \
    635 	$(DIROBJ)\version.obj \
    636 	$(DIROBJ)\warnless.obj \
    637 	$(DIROBJ)\wildcard.obj \
    638 	$(RESOURCE)
    639 
    640 all : $(TARGET)
    641 
    642 $(TARGET): $(X_OBJS)
    643 	$(LNK) $(LFLAGS) $(X_OBJS)
    644 	-xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_REL) . /y
    645 	-xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_DBG) . /y
    646 	-xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_REL) . /y
    647 	-xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_DBG) . /y
    648 	-xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_REL) . /y
    649 	-xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) . /y
    650 	-xcopy $(DIROBJ)\*.exp                  . /y
    651 	-xcopy $(DIROBJ)\*.pdb                  . /y
    652 
    653 $(X_OBJS): $(DIROBJ)
    654 
    655 $(DIROBJ):
    656 	@if not exist "$(DIROBJ)" mkdir $(DIROBJ)
    657 
    658 .SUFFIXES: .c .obj .res
    659 
    660 {.\}.c{$(DIROBJ)\}.obj:
    661 	$(CC) $(CFLAGS) /Fo"$@"  $<
    662 
    663 {.\vtls\}.c{$(DIROBJ)\}.obj:
    664 	$(CC) $(CFLAGS) /Fo"$@"  $<
    665 
    666 debug-dll\libcurl.res \
    667 debug-dll-ssl-dll\libcurl.res \
    668 debug-dll-zlib-dll\libcurl.res \
    669 debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
    670 	rc /dDEBUGBUILD=1 /Fo $@ libcurl.rc
    671 
    672 release-dll\libcurl.res \
    673 release-dll-ssl-dll\libcurl.res \
    674 release-dll-zlib-dll\libcurl.res \
    675 release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
    676 	rc /dDEBUGBUILD=0 /Fo $@ libcurl.rc
    677 !ENDIF  # End of case where a config was provided.
    678