Home | History | Annotate | Download | only in lib
      1 #***************************************************************************
      2 #                                  _   _ ____  _
      3 #  Project                     ___| | | |  _ \| |
      4 #                             / __| | | | |_) | |
      5 #                            | (__| |_| |  _ <| |___
      6 #                             \___|\___/|_| \_\_____|
      7 #
      8 # Copyright (C) 1999 - 2016, 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 https://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 WINSSLLIBS   = crypt32.lib
    119 ZLIBLIBSDLL  = zdll.lib
    120 ZLIBLIBS     = zlib.lib
    121 WINLIBS      = ws2_32.lib wldap32.lib advapi32.lib
    122 CFLAGS       = $(CFLAGS)
    123 
    124 CFGSET       = FALSE
    125 
    126 !IFDEF WINDOWS_SSPI
    127 CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
    128 !ENDIF
    129 
    130 !IFDEF USE_IPV6
    131 CFLAGS = $(CFLAGS) /DUSE_IPV6
    132 !ENDIF
    133 
    134 !IFDEF USE_IDN
    135 CFLAGS = $(CFLAGS) /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES
    136 !ENDIF
    137 
    138 ##############################################################
    139 # Runtime library configuration
    140 
    141 RTLIB   = /MD
    142 RTLIBD  = /MDd
    143 
    144 !IF "$(RTLIBCFG)" == "static"
    145 RTLIB  = /MT
    146 RTLIBD = /MTd
    147 !ENDIF
    148 
    149 
    150 ######################
    151 # release
    152 
    153 !IF "$(CFG)" == "release"
    154 TARGET = $(LIBCURL_STA_LIB_REL)
    155 DIROBJ = $(CFG)
    156 LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
    157 CC     = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
    158 CFGSET = TRUE
    159 !ENDIF
    160 
    161 ######################
    162 # release-ssl
    163 
    164 !IF "$(CFG)" == "release-ssl"
    165 TARGET   = $(LIBCURL_STA_LIB_REL)
    166 DIROBJ   = $(CFG)
    167 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    168 LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
    169 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
    170 CFGSET   = TRUE
    171 !ENDIF
    172 
    173 ######################
    174 # release-winssl
    175 
    176 !IF "$(CFG)" == "release-winssl"
    177 TARGET   = $(LIBCURL_STA_LIB_REL)
    178 DIROBJ   = $(CFG)
    179 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    180 LNK      = $(LNKLIB) $(WINSSLLIBS) /out:$(DIROBJ)\$(TARGET)
    181 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSLIB)
    182 CFGSET   = TRUE
    183 !ENDIF
    184 
    185 ######################
    186 # release-zlib
    187 
    188 !IF "$(CFG)" == "release-zlib"
    189 TARGET   = $(LIBCURL_STA_LIB_REL)
    190 DIROBJ   = $(CFG)
    191 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    192 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    193 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
    194 CFGSET   = TRUE
    195 !ENDIF
    196 
    197 ######################
    198 # release-ssl-zlib
    199 
    200 !IF "$(CFG)" == "release-ssl-zlib"
    201 TARGET   = $(LIBCURL_STA_LIB_REL)
    202 DIROBJ   = $(CFG)
    203 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    204 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    205 LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    206 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    207 CFGSET   = TRUE
    208 !ENDIF
    209 
    210 ######################
    211 # release-winssl-zlib
    212 
    213 !IF "$(CFG)" == "release-winssl-zlib"
    214 TARGET   = $(LIBCURL_STA_LIB_REL)
    215 DIROBJ   = $(CFG)
    216 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    217 LNK      = $(LNKLIB) $(LFLAGSZLIB) $(WINSSLLIBS) /out:$(DIROBJ)\$(TARGET)
    218 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    219 CFGSET   = TRUE
    220 !ENDIF
    221 
    222 ######################
    223 # release-ssl-ssh2-zlib
    224 
    225 !IF "$(CFG)" == "release-ssl-ssh2-zlib"
    226 TARGET   = $(LIBCURL_STA_LIB_REL)
    227 DIROBJ   = $(CFG)
    228 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    229 LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
    230 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    231 LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    232 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
    233 CFGSET   = TRUE
    234 !ENDIF
    235 
    236 ######################
    237 # release-ssl-dll
    238 
    239 !IF "$(CFG)" == "release-ssl-dll"
    240 TARGET   = $(LIBCURL_STA_LIB_REL)
    241 DIROBJ   = $(CFG)
    242 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    243 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
    244 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
    245 CFGSET   = TRUE
    246 !ENDIF
    247 
    248 ######################
    249 # release-zlib-dll
    250 
    251 !IF "$(CFG)" == "release-zlib-dll"
    252 TARGET   = $(LIBCURL_STA_LIB_REL)
    253 DIROBJ   = $(CFG)
    254 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    255 LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    256 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
    257 CFGSET   = TRUE
    258 !ENDIF
    259 
    260 ######################
    261 # release-ssl-dll-zlib-dll
    262 
    263 !IF "$(CFG)" == "release-ssl-dll-zlib-dll"
    264 TARGET   = $(LIBCURL_STA_LIB_REL)
    265 DIROBJ   = $(CFG)
    266 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    267 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    268 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    269 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    270 CFGSET   = TRUE
    271 !ENDIF
    272 
    273 ######################
    274 # release-dll
    275 
    276 !IF "$(CFG)" == "release-dll"
    277 TARGET = $(LIBCURL_DYN_LIB_REL)
    278 DIROBJ = $(CFG)
    279 LNK    = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
    280 CC     = $(CCNODBG) $(RTLIB)
    281 CFGSET = TRUE
    282 RESOURCE = $(DIROBJ)\libcurl.res
    283 !ENDIF
    284 
    285 ######################
    286 # release-dll-ssl-dll
    287 
    288 !IF "$(CFG)" == "release-dll-ssl-dll"
    289 TARGET   = $(LIBCURL_DYN_LIB_REL)
    290 DIROBJ   = $(CFG)
    291 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    292 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
    293 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
    294 CFGSET   = TRUE
    295 RESOURCE = $(DIROBJ)\libcurl.res
    296 !ENDIF
    297 
    298 ######################
    299 # release-dll-zlib-dll
    300 
    301 !IF "$(CFG)" == "release-dll-zlib-dll"
    302 TARGET   = $(LIBCURL_DYN_LIB_REL)
    303 DIROBJ   = $(CFG)
    304 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    305 LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
    306 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
    307 CFGSET   = TRUE
    308 RESOURCE = $(DIROBJ)\libcurl.res
    309 !ENDIF
    310 
    311 ######################
    312 # release-dll-ssl-dll-zlib-dll
    313 
    314 !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
    315 TARGET   = $(LIBCURL_DYN_LIB_REL)
    316 DIROBJ   = $(CFG)
    317 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    318 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    319 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
    320 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
    321 CFGSET   = TRUE
    322 RESOURCE = $(DIROBJ)\libcurl.res
    323 !ENDIF
    324 
    325 ######################
    326 # debug
    327 
    328 !IF "$(CFG)" == "debug"
    329 TARGET = $(LIBCURL_STA_LIB_DBG)
    330 DIROBJ = $(CFG)
    331 LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
    332 CC     = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
    333 CFGSET = TRUE
    334 !ENDIF
    335 
    336 ######################
    337 # debug-ssl
    338 
    339 !IF "$(CFG)" == "debug-ssl"
    340 TARGET   = $(LIBCURL_STA_LIB_DBG)
    341 DIROBJ   = $(CFG)
    342 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    343 LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
    344 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
    345 CFGSET   = TRUE
    346 !ENDIF
    347 
    348 ######################
    349 # debug-zlib
    350 
    351 !IF "$(CFG)" == "debug-zlib"
    352 TARGET   = $(LIBCURL_STA_LIB_DBG)
    353 DIROBJ   = $(CFG)
    354 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    355 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    356 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
    357 CFGSET   = TRUE
    358 !ENDIF
    359 
    360 ######################
    361 # debug-ssl-zlib
    362 
    363 !IF "$(CFG)" == "debug-ssl-zlib"
    364 TARGET   = $(LIBCURL_STA_LIB_DBG)
    365 DIROBJ   = $(CFG)
    366 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    367 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    368 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    369 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    370 CFGSET   = TRUE
    371 !ENDIF
    372 
    373 ######################
    374 # debug-ssl-ssh2-zlib
    375 
    376 !IF "$(CFG)" == "debug-ssl-ssh2-zlib"
    377 TARGET   = $(LIBCURL_STA_LIB_DBG)
    378 DIROBJ   = $(CFG)
    379 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    380 LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
    381 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
    382 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    383 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
    384 CFGSET   = TRUE
    385 !ENDIF
    386 
    387 ######################
    388 # debug-ssl-dll
    389 
    390 !IF "$(CFG)" == "debug-ssl-dll"
    391 TARGET   = $(LIBCURL_STA_LIB_DBG)
    392 DIROBJ   = $(CFG)
    393 LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
    394 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
    395 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
    396 CFGSET   = TRUE
    397 !ENDIF
    398 
    399 ######################
    400 # debug-zlib-dll
    401 
    402 !IF "$(CFG)" == "debug-zlib-dll"
    403 TARGET   = $(LIBCURL_STA_LIB_DBG)
    404 DIROBJ   = $(CFG)
    405 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    406 LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    407 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
    408 CFGSET   = TRUE
    409 !ENDIF
    410 
    411 ######################
    412 # debug-ssl-dll-zlib-dll
    413 
    414 !IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
    415 TARGET   = $(LIBCURL_STA_LIB_DBG)
    416 DIROBJ   = $(CFG)
    417 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    418 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    419 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
    420 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
    421 CFGSET   = TRUE
    422 !ENDIF
    423 
    424 ######################
    425 # debug-dll
    426 
    427 !IF "$(CFG)" == "debug-dll"
    428 TARGET = $(LIBCURL_DYN_LIB_DBG)
    429 DIROBJ = $(CFG)
    430 LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
    431 CC     = $(CCDEBUG) $(RTLIBD)
    432 CFGSET = TRUE
    433 RESOURCE = $(DIROBJ)\libcurl.res
    434 !ENDIF
    435 
    436 ######################
    437 # debug-dll-ssl-dll
    438 
    439 !IF "$(CFG)" == "debug-dll-ssl-dll"
    440 TARGET   = $(LIBCURL_DYN_LIB_DBG)
    441 DIROBJ   = $(CFG)
    442 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    443 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
    444 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
    445 CFGSET   = TRUE
    446 RESOURCE = $(DIROBJ)\libcurl.res
    447 !ENDIF
    448 
    449 ######################
    450 # debug-dll-zlib-dll
    451 
    452 !IF "$(CFG)" == "debug-dll-zlib-dll"
    453 TARGET   = $(LIBCURL_DYN_LIB_DBG)
    454 DIROBJ   = $(CFG)
    455 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    456 LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
    457 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
    458 CFGSET   = TRUE
    459 RESOURCE = $(DIROBJ)\libcurl.res
    460 !ENDIF
    461 
    462 ######################
    463 # debug-dll-ssl-dll-zlib-dll
    464 
    465 !IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
    466 TARGET   = $(LIBCURL_DYN_LIB_DBG)
    467 DIROBJ   = $(CFG)
    468 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
    469 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
    470 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
    471 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
    472 CFGSET   = TRUE
    473 RESOURCE = $(DIROBJ)\libcurl.res
    474 !ENDIF
    475 
    476 #######################
    477 # Usage
    478 #
    479 !IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
    480 !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>
    481 !MESSAGE where <config> is one of:
    482 !MESSAGE   release                      - release static library
    483 !MESSAGE   release-ssl                  - release static library with ssl
    484 !MESSAGE   release-zlib                 - release static library with zlib
    485 !MESSAGE   release-ssl-zlib             - release static library with ssl and zlib
    486 !MESSAGE   release-ssl-ssh2-zlib        - release static library with ssl, ssh2 and zlib
    487 !MESSAGE   release-ssl-dll              - release static library with dynamic ssl
    488 !MESSAGE   release-zlib-dll             - release static library with dynamic zlib
    489 !MESSAGE   release-ssl-dll-zlib-dll     - release static library with dynamic ssl and dynamic zlib
    490 !MESSAGE   release-dll                  - release dynamic library
    491 !MESSAGE   release-dll-ssl-dll          - release dynamic library with dynamic ssl
    492 !MESSAGE   release-dll-zlib-dll         - release dynamic library with dynamic zlib
    493 !MESSAGE   release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
    494 !MESSAGE   debug                        - debug static library
    495 !MESSAGE   debug-ssl                    - debug static library with ssl
    496 !MESSAGE   debug-zlib                   - debug static library with zlib
    497 !MESSAGE   debug-ssl-zlib               - debug static library with ssl and zlib
    498 !MESSAGE   debug-ssl-ssh2-zlib          - debug static library with ssl, ssh2 and zlib
    499 !MESSAGE   debug-ssl-dll                - debug static library with dynamic ssl
    500 !MESSAGE   debug-zlib-dll               - debug static library with dynamic zlib
    501 !MESSAGE   debug-ssl-dll-zlib-dll       - debug static library with dynamic ssl and dynamic zlib
    502 !MESSAGE   debug-dll                    - debug dynamic library
    503 !MESSAGE   debug-dll-ssl-dll            - debug dynamic library with dynamic ssl
    504 !MESSAGE   debug-dll-zlib-dll           - debug dynamic library with dynamic zlib1
    505 !MESSAGE   debug-dll-ssl-dll-zlib-dll   - debug dynamic library with dynamic ssl and dynamic zlib
    506 !MESSAGE <target> can be left blank in which case all is assumed
    507 !ERROR please choose a valid configuration "$(CFG)"
    508 !ENDIF
    509 
    510 #######################
    511 # Only the clean target can be used if a config was not provided.
    512 #
    513 !IF "$(CFGSET)" == "FALSE"
    514 clean:
    515 	@-erase /s *.dll 2> NUL
    516 	@-erase /s *.exp 2> NUL
    517 	@-erase /s *.idb 2> NUL
    518 	@-erase /s *.lib 2> NUL
    519 	@-erase /s *.obj 2> NUL
    520 	@-erase /s *.pch 2> NUL
    521 	@-erase /s *.pdb 2> NUL
    522 	@-erase /s *.res 2> NUL
    523 !ELSE
    524 # A config was provided, so the library can be built.
    525 #
    526 X_OBJS= \
    527 	$(DIROBJ)\amigaos.obj \
    528 	$(DIROBJ)\asyn-ares.obj \
    529 	$(DIROBJ)\asyn-thread.obj \
    530 	$(DIROBJ)\axtls.obj \
    531 	$(DIROBJ)\base64.obj \
    532 	$(DIROBJ)\conncache.obj \
    533 	$(DIROBJ)\connect.obj \
    534 	$(DIROBJ)\content_encoding.obj \
    535 	$(DIROBJ)\cookie.obj \
    536 	$(DIROBJ)\curl_addrinfo.obj \
    537 	$(DIROBJ)\curl_des.obj \
    538 	$(DIROBJ)\curl_endian.obj \
    539 	$(DIROBJ)\curl_fnmatch.obj \
    540 	$(DIROBJ)\curl_gethostname.obj \
    541 	$(DIROBJ)\curl_gssapi.obj \
    542 	$(DIROBJ)\curl_memrchr.obj \
    543 	$(DIROBJ)\curl_multibyte.obj \
    544 	$(DIROBJ)\curl_ntlm_core.obj \
    545 	$(DIROBJ)\curl_ntlm_wb.obj \
    546 	$(DIROBJ)\curl_rtmp.obj \
    547 	$(DIROBJ)\curl_sasl.obj \
    548 	$(DIROBJ)\curl_sspi.obj \
    549 	$(DIROBJ)\curl_threads.obj \
    550 	$(DIROBJ)\cyassl.obj \
    551 	$(DIROBJ)\darwinssl.obj \
    552 	$(DIROBJ)\dict.obj \
    553 	$(DIROBJ)\dotdot.obj \
    554 	$(DIROBJ)\easy.obj \
    555 	$(DIROBJ)\escape.obj \
    556 	$(DIROBJ)\file.obj \
    557 	$(DIROBJ)\fileinfo.obj \
    558 	$(DIROBJ)\formdata.obj \
    559 	$(DIROBJ)\ftp.obj \
    560 	$(DIROBJ)\ftplistparser.obj \
    561 	$(DIROBJ)\getenv.obj \
    562 	$(DIROBJ)\getinfo.obj \
    563 	$(DIROBJ)\gopher.obj \
    564 	$(DIROBJ)\gtls.obj \
    565 	$(DIROBJ)\hash.obj \
    566 	$(DIROBJ)\hmac.obj \
    567 	$(DIROBJ)\hostasyn.obj \
    568 	$(DIROBJ)\hostcheck.obj \
    569 	$(DIROBJ)\hostip.obj \
    570 	$(DIROBJ)\hostip4.obj \
    571 	$(DIROBJ)\hostip6.obj \
    572 	$(DIROBJ)\hostsyn.obj \
    573 	$(DIROBJ)\http.obj \
    574 	$(DIROBJ)\http_chunks.obj \
    575 	$(DIROBJ)\http_digest.obj \
    576 	$(DIROBJ)\http_negotiate.obj \
    577 	$(DIROBJ)\http_ntlm.obj \
    578 	$(DIROBJ)\http_proxy.obj \
    579 	$(DIROBJ)\idn_win32.obj \
    580 	$(DIROBJ)\if2ip.obj \
    581 	$(DIROBJ)\imap.obj \
    582 	$(DIROBJ)\inet_ntop.obj \
    583 	$(DIROBJ)\inet_pton.obj \
    584 	$(DIROBJ)\krb5.obj \
    585 	$(DIROBJ)\ldap.obj \
    586 	$(DIROBJ)\llist.obj \
    587 	$(DIROBJ)\md4.obj \
    588 	$(DIROBJ)\md5.obj \
    589 	$(DIROBJ)\memdebug.obj \
    590 	$(DIROBJ)\mprintf.obj \
    591 	$(DIROBJ)\multi.obj \
    592 	$(DIROBJ)\netrc.obj \
    593 	$(DIROBJ)\non-ascii.obj \
    594 	$(DIROBJ)\nonblock.obj \
    595 	$(DIROBJ)\nss.obj \
    596 	$(DIROBJ)\openldap.obj \
    597 	$(DIROBJ)\parsedate.obj \
    598 	$(DIROBJ)\pingpong.obj \
    599 	$(DIROBJ)\pipeline.obj \
    600 	$(DIROBJ)\polarssl.obj \
    601 	$(DIROBJ)\polarssl_threadlock.obj \
    602 	$(DIROBJ)\pop3.obj \
    603 	$(DIROBJ)\progress.obj \
    604 	$(DIROBJ)\rawstr.obj \
    605 	$(DIROBJ)\rtsp.obj \
    606 	$(DIROBJ)\schannel.obj \
    607 	$(DIROBJ)\security.obj \
    608 	$(DIROBJ)\select.obj \
    609 	$(DIROBJ)\sendf.obj \
    610 	$(DIROBJ)\share.obj \
    611 	$(DIROBJ)\slist.obj \
    612 	$(DIROBJ)\smb.obj \
    613 	$(DIROBJ)\smtp.obj \
    614 	$(DIROBJ)\socks.obj \
    615 	$(DIROBJ)\socks_gssapi.obj \
    616 	$(DIROBJ)\socks_sspi.obj \
    617 	$(DIROBJ)\speedcheck.obj \
    618 	$(DIROBJ)\splay.obj \
    619 	$(DIROBJ)\ssh.obj \
    620 	$(DIROBJ)\system_win32.obj \
    621 	$(DIROBJ)\vauth.obj \
    622 	$(DIROBJ)\cleartext.obj \
    623 	$(DIROBJ)\cram.obj \
    624 	$(DIROBJ)\digest.obj \
    625 	$(DIROBJ)\digest_sspi.obj \
    626 	$(DIROBJ)\krb5_gssapi.obj \
    627 	$(DIROBJ)\krb5_sspi.obj \
    628 	$(DIROBJ)\ntlm.obj \
    629 	$(DIROBJ)\ntlm_sspi.obj \
    630 	$(DIROBJ)\oauth2.obj \
    631 	$(DIROBJ)\spnego_gssapi.obj \
    632 	$(DIROBJ)\spnego_sspi.obj \
    633 	$(DIROBJ)\vtls.obj \
    634 	$(DIROBJ)\openssl.obj \
    635 	$(DIROBJ)\strdup.obj \
    636 	$(DIROBJ)\strequal.obj \
    637 	$(DIROBJ)\strerror.obj \
    638 	$(DIROBJ)\strtok.obj \
    639 	$(DIROBJ)\strtoofft.obj \
    640 	$(DIROBJ)\telnet.obj \
    641 	$(DIROBJ)\tftp.obj \
    642 	$(DIROBJ)\timeval.obj \
    643 	$(DIROBJ)\transfer.obj \
    644 	$(DIROBJ)\url.obj \
    645 	$(DIROBJ)\version.obj \
    646 	$(DIROBJ)\warnless.obj \
    647 	$(DIROBJ)\wildcard.obj \
    648         $(DIROBJ)\x509asn1.obj \
    649 	$(RESOURCE)
    650 
    651 all : $(TARGET)
    652 
    653 $(TARGET): $(X_OBJS)
    654 	$(LNK) $(LFLAGS) $(X_OBJS)
    655 	-xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_REL) . /y
    656 	-xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_DBG) . /y
    657 	-xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_REL) . /y
    658 	-xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_DBG) . /y
    659 	-xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_REL) . /y
    660 	-xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) . /y
    661 	-xcopy $(DIROBJ)\*.exp                  . /y
    662 	-xcopy $(DIROBJ)\*.pdb                  . /y
    663 
    664 $(X_OBJS): $(DIROBJ)
    665 
    666 $(DIROBJ):
    667 	@if not exist "$(DIROBJ)" mkdir $(DIROBJ)
    668 
    669 .SUFFIXES: .c .obj .res
    670 
    671 {.\}.c{$(DIROBJ)\}.obj:
    672 	$(CC) $(CFLAGS) /Fo"$@"  $<
    673 
    674 {.\vauth\}.c{$(DIROBJ)\}.obj:
    675 	$(CC) $(CFLAGS) /Fo"$@"  $<
    676 
    677 {.\vtls\}.c{$(DIROBJ)\}.obj:
    678 	$(CC) $(CFLAGS) /Fo"$@"  $<
    679 
    680 debug-dll\libcurl.res \
    681 debug-dll-ssl-dll\libcurl.res \
    682 debug-dll-zlib-dll\libcurl.res \
    683 debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
    684 	rc /dDEBUGBUILD=1 /Fo $@ libcurl.rc
    685 
    686 release-dll\libcurl.res \
    687 release-dll-ssl-dll\libcurl.res \
    688 release-dll-zlib-dll\libcurl.res \
    689 release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
    690 	rc /dDEBUGBUILD=0 /Fo $@ libcurl.rc
    691 !ENDIF  # End of case where a config was provided.
    692