523 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			523 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
#############################################################
 | 
						|
# $Id: Makefile.vc8,v 1.19 2004/11/14 13:48:15 giva Exp $
 | 
						|
#
 | 
						|
# Makefile for building libcurl with MSVC8
 | 
						|
#
 | 
						|
# 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.
 | 
						|
#
 | 
						|
##############################################################
 | 
						|
 | 
						|
#
 | 
						|
# Stem for static libs and DLLs
 | 
						|
#
 | 
						|
LIB_NAME       = libcurl
 | 
						|
LIB_NAME_DEBUG = libcurld
 | 
						|
 | 
						|
#
 | 
						|
# Stem for DLL import libs
 | 
						|
#
 | 
						|
IMPLIB_NAME       = libcurl_imp
 | 
						|
IMPLIB_NAME_DEBUG = libcurld_imp
 | 
						|
 | 
						|
!IFNDEF OPENSSL_PATH
 | 
						|
OPENSSL_PATH   = ../../openssl-0.9.8g
 | 
						|
!ENDIF
 | 
						|
 | 
						|
!IFNDEF ZLIB_PATH
 | 
						|
ZLIB_PATH  = ../../zlib-1.2.3
 | 
						|
!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 MSVC8 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 = "C:\Program Files\Microsoft SDK"
 | 
						|
!ENDIF
 | 
						|
!ENDIF
 | 
						|
 | 
						|
#############################################################
 | 
						|
## Nothing more to do below this line!
 | 
						|
 | 
						|
CCNODBG    = cl.exe /O2 /DNDEBUG
 | 
						|
CCDEBUG    = cl.exe /Od /Gm /Zi /D_DEBUG /RTC1
 | 
						|
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 /EHsc /DWIN32 /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    = wsock32.lib bufferoverflowu.lib wldap32.lib
 | 
						|
CFLAGS     = $(CFLAGS)
 | 
						|
 | 
						|
CFGSET     = FALSE
 | 
						|
 | 
						|
!IFDEF WINDOWS_SSPI
 | 
						|
CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
 | 
						|
!ENDIF
 | 
						|
 | 
						|
##############################################################
 | 
						|
# Runtime library configuration
 | 
						|
 | 
						|
RTLIB   = /MD
 | 
						|
RTLIBD  = /MDd
 | 
						|
 | 
						|
!IF "$(RTLIBCFG)" == "static"
 | 
						|
RTLIB  = /MT
 | 
						|
RTLIBD = /MTd
 | 
						|
!ENDIF
 | 
						|
 | 
						|
 | 
						|
######################
 | 
						|
# release
 | 
						|
 | 
						|
!IF "$(CFG)" == "release"
 | 
						|
TARGET = $(LIB_NAME).lib
 | 
						|
DIROBJ = $(CFG)
 | 
						|
LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
 | 
						|
CC     = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
 | 
						|
CFGSET = TRUE
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# release-zlib
 | 
						|
 | 
						|
!IF "$(CFG)" == "release-zlib"
 | 
						|
TARGET   = $(LIB_NAME).lib
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 | 
						|
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 | 
						|
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
 | 
						|
CFGSET   = TRUE
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# release-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "release-dll"
 | 
						|
TARGET = $(LIB_NAME).dll
 | 
						|
DIROBJ = $(CFG)
 | 
						|
LNK    = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
 | 
						|
CC     = $(CCNODBG) $(RTLIB)
 | 
						|
CFGSET = TRUE
 | 
						|
RESOURCE = $(DIROBJ)\libcurl.res
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# release-ssl
 | 
						|
 | 
						|
!IF "$(CFG)" == "release-ssl"
 | 
						|
TARGET   = $(LIB_NAME).lib
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
 | 
						|
LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
 | 
						|
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
 | 
						|
CFGSET   = TRUE
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# release-ssl-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "release-ssl-dll"
 | 
						|
TARGET   = $(LIB_NAME).lib
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 | 
						|
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
 | 
						|
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
 | 
						|
CFGSET   = TRUE
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# release-ssl-zlib
 | 
						|
 | 
						|
!IF "$(CFG)" == "release-ssl-zlib"
 | 
						|
TARGET   = $(LIB_NAME).lib
 | 
						|
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-dll-ssl-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "release-dll-ssl-dll"
 | 
						|
TARGET   = $(LIB_NAME).dll
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 | 
						|
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
 | 
						|
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
 | 
						|
CFGSET   = TRUE
 | 
						|
RESOURCE = $(DIROBJ)\libcurl.res
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# release-zlib-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "release-zlib-dll"
 | 
						|
TARGET   = $(LIB_NAME).lib
 | 
						|
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   = $(LIB_NAME).lib
 | 
						|
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-zlib-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "release-dll-zlib-dll"
 | 
						|
TARGET   = $(LIB_NAME).dll
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 | 
						|
LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
 | 
						|
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   = $(LIB_NAME).dll
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 | 
						|
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 | 
						|
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
 | 
						|
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
 | 
						|
CFGSET   = TRUE
 | 
						|
RESOURCE = $(DIROBJ)\libcurl.res
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# debug
 | 
						|
 | 
						|
!IF "$(CFG)" == "debug"
 | 
						|
TARGET = $(LIB_NAME_DEBUG).lib
 | 
						|
DIROBJ = $(CFG)
 | 
						|
LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
 | 
						|
CC     = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
 | 
						|
CFGSET = TRUE
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# debug-ssl
 | 
						|
 | 
						|
!IF "$(CFG)" == "debug-ssl"
 | 
						|
TARGET   = $(LIB_NAME_DEBUG).lib
 | 
						|
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   = $(LIB_NAME_DEBUG).lib
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 | 
						|
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 | 
						|
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
 | 
						|
CFGSET   = TRUE
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# debug-ssl-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "debug-ssl-dll"
 | 
						|
TARGET   = $(LIB_NAME_DEBUG).lib
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
 | 
						|
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
 | 
						|
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
 | 
						|
CFGSET   = TRUE
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# debug-ssl-zlib
 | 
						|
 | 
						|
!IF "$(CFG)" == "debug-ssl-zlib"
 | 
						|
TARGET   = $(LIB_NAME_DEBUG).lib
 | 
						|
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-zlib-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "debug-zlib-dll"
 | 
						|
TARGET   = $(LIB_NAME_DEBUG).lib
 | 
						|
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   = $(LIB_NAME_DEBUG).lib
 | 
						|
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 = $(LIB_NAME_DEBUG).dll
 | 
						|
DIROBJ = $(CFG)
 | 
						|
LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
 | 
						|
CC     = $(CCDEBUG) $(RTLIBD) 
 | 
						|
CFGSET = TRUE
 | 
						|
RESOURCE = $(DIROBJ)\libcurl.res
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# debug-dll-ssl-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "debug-dll-ssl-dll"
 | 
						|
TARGET   = $(LIB_NAME_DEBUG).dll
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 | 
						|
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
 | 
						|
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
 | 
						|
CFGSET   = TRUE
 | 
						|
RESOURCE = $(DIROBJ)\libcurl.res
 | 
						|
!ENDIF
 | 
						|
 | 
						|
######################
 | 
						|
# debug-dll-zlib-dll
 | 
						|
 | 
						|
!IF "$(CFG)" == "debug-dll-zlib-dll"
 | 
						|
TARGET   = $(LIB_NAME_DEBUG).dll
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 | 
						|
LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).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   = $(LIB_NAME_DEBUG).dll
 | 
						|
DIROBJ   = $(CFG)
 | 
						|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 | 
						|
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 | 
						|
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
 | 
						|
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
 | 
						|
CFGSET   = TRUE
 | 
						|
RESOURCE = $(DIROBJ)\libcurl.res
 | 
						|
!ENDIF
 | 
						|
 | 
						|
#######################
 | 
						|
# Usage
 | 
						|
#
 | 
						|
!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
 | 
						|
!MESSAGE Usage: nmake /f makefile.vc8 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)\dict.obj \
 | 
						|
	$(DIROBJ)\easy.obj \
 | 
						|
	$(DIROBJ)\escape.obj \
 | 
						|
	$(DIROBJ)\file.obj \
 | 
						|
	$(DIROBJ)\formdata.obj \
 | 
						|
	$(DIROBJ)\ftp.obj \
 | 
						|
	$(DIROBJ)\getenv.obj \
 | 
						|
	$(DIROBJ)\getinfo.obj \
 | 
						|
	$(DIROBJ)\gtls.obj \
 | 
						|
	$(DIROBJ)\hash.obj \
 | 
						|
	$(DIROBJ)\hostares.obj \
 | 
						|
	$(DIROBJ)\hostasyn.obj \
 | 
						|
	$(DIROBJ)\hostip.obj \
 | 
						|
	$(DIROBJ)\hostip4.obj \
 | 
						|
	$(DIROBJ)\hostip6.obj \
 | 
						|
	$(DIROBJ)\hostsyn.obj \
 | 
						|
	$(DIROBJ)\hostthre.obj \
 | 
						|
	$(DIROBJ)\http.obj \
 | 
						|
	$(DIROBJ)\http_chunks.obj \
 | 
						|
	$(DIROBJ)\http_digest.obj \
 | 
						|
	$(DIROBJ)\http_negotiate.obj \
 | 
						|
	$(DIROBJ)\http_ntlm.obj \
 | 
						|
	$(DIROBJ)\if2ip.obj \
 | 
						|
	$(DIROBJ)\inet_ntop.obj \
 | 
						|
	$(DIROBJ)\inet_pton.obj \
 | 
						|
	$(DIROBJ)\ldap.obj \
 | 
						|
	$(DIROBJ)\llist.obj \
 | 
						|
	$(DIROBJ)\md5.obj \
 | 
						|
	$(DIROBJ)\memdebug.obj \
 | 
						|
	$(DIROBJ)\mprintf.obj \
 | 
						|
	$(DIROBJ)\multi.obj \
 | 
						|
	$(DIROBJ)\netrc.obj \
 | 
						|
	$(DIROBJ)\parsedate.obj \
 | 
						|
	$(DIROBJ)\progress.obj \
 | 
						|
	$(DIROBJ)\rawstr.obj \
 | 
						|
	$(DIROBJ)\select.obj \
 | 
						|
	$(DIROBJ)\sendf.obj \
 | 
						|
	$(DIROBJ)\share.obj \
 | 
						|
	$(DIROBJ)\socks.obj \
 | 
						|
	$(DIROBJ)\speedcheck.obj \
 | 
						|
	$(DIROBJ)\splay.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 \
 | 
						|
	$(RESOURCE)
 | 
						|
 | 
						|
all : $(TARGET)
 | 
						|
 | 
						|
$(TARGET): $(X_OBJS)
 | 
						|
	$(LNK) $(LFLAGS) $(X_OBJS)
 | 
						|
	-xcopy $(DIROBJ)\$(LIB_NAME).dll       . /y
 | 
						|
	-xcopy $(DIROBJ)\$(LIB_NAME).lib       . /y
 | 
						|
	-xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).dll . /y
 | 
						|
	-xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).lib . /y
 | 
						|
	-xcopy $(DIROBJ)\$(IMPLIB_NAME).lib    . /y
 | 
						|
	-xcopy $(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib . /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 /dCURLDEBUG=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 /dCURLDEBUG=0 /Fo $@ libcurl.rc
 | 
						|
!ENDIF  # End of case where a config was provided.
 |