mirror of
https://github.com/moparisthebest/curl
synced 2024-11-15 22:15:13 -05:00
98fb0ef73e
For modularity purposes, huge chunks of NTLM existing code is transformed into functions to allow future internal code reuse. Resulting three new libcurl private functions: - Curl_ntlm_create_type1_message() - Curl_ntlm_create_type3_message() - Curl_ntlm_decode_type2_message() Changing static ntlm_sspi_cleanup() into non-static Curl_ntlm_sspi_cleanup() This 'refactoring' has been prepared by previous commits to allow that this specific one does not introduce any change to existing code. All existing goodness and badness previous to this commit should remain the same once it is applied, the only difference should be that existing code is moved into functions. Given the quite big portions of code being moved around, and the importance of change traceability, this commit has been done in such a way that it is possible to perform a three-way diff from initial http_ntlm.[ch] to resulting http_ntlm.[ch] and curl_ntlm.[ch] to actually verify that no functional change is introduced here. Notice that Steve Holme has provided several patches, but these included this refactoring along with 'extra' fixes. I really wanted this 'clean' refactoring done first, in order to allow discussion or committing of 'extra' fixes on a case by case basis, so, I had to bite the bullet ;-) Comments, line adjustments, compiler warning fixes, whatever, may follow afterwards.
589 lines
18 KiB
Makefile
589 lines
18 KiB
Makefile
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) 1999 - 2011, 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.
|
|
#
|
|
#***************************************************************************
|
|
|
|
# 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
|
|
# fiels 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 ..\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 /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
|
|
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)\asyn-ares.obj \
|
|
$(DIROBJ)\asyn-thread.obj \
|
|
$(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_ntlm.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)\gopher.obj \
|
|
$(DIROBJ)\gtls.obj \
|
|
$(DIROBJ)\hash.obj \
|
|
$(DIROBJ)\hmac.obj \
|
|
$(DIROBJ)\hostasyn.obj \
|
|
$(DIROBJ)\hostip4.obj \
|
|
$(DIROBJ)\hostip6.obj \
|
|
$(DIROBJ)\hostip.obj \
|
|
$(DIROBJ)\hostsyn.obj \
|
|
$(DIROBJ)\http_chunks.obj \
|
|
$(DIROBJ)\http_digest.obj \
|
|
$(DIROBJ)\http_negotiate.obj \
|
|
$(DIROBJ)\http_negotiate_sspi.obj \
|
|
$(DIROBJ)\http_ntlm.obj \
|
|
$(DIROBJ)\http.obj \
|
|
$(DIROBJ)\http_proxy.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.
|