678 lines
21 KiB
Makefile
Executable File
678 lines
21 KiB
Makefile
Executable File
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) 1999 - 2015, 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 https://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
|
|
# files and send back to the project, edit the version six, make your diff and
|
|
# mail curl-library.
|
|
|
|
###########################################################################
|
|
#
|
|
# Makefile for building libcurl with MSVC10
|
|
#
|
|
# 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 ..\winbuild\Makefile.msvc.names
|
|
|
|
!IFNDEF OPENSSL_PATH
|
|
OPENSSL_PATH = ../../openssl-1.0.2a
|
|
!ENDIF
|
|
|
|
!IFNDEF LIBSSH2_PATH
|
|
LIBSSH2_PATH = ../../libssh2-1.5.0
|
|
!ENDIF
|
|
|
|
!IFNDEF ZLIB_PATH
|
|
ZLIB_PATH = ../../zlib-1.2.8
|
|
!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 MSVC10 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:
|
|
# https://msdn.microsoft.com/windows/bb980924.aspx
|
|
|
|
# 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 /RTC1
|
|
CFLAGSSSL = /DUSE_OPENSSL /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
|
|
CFLAGSWINSSL = /DUSE_SCHANNEL
|
|
CFLAGSSSH2 = /DUSE_LIBSSH2 /DCURL_DISABLE_LDAP /DHAVE_LIBSSH2 /DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /I "$(LIBSSH2_PATH)/include"
|
|
CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
|
|
CFLAGS = /I. /I../include /nologo /W3 /EHsc /DWIN32 /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 advapi32.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
|
|
|
|
!IFDEF USE_IDN
|
|
CFLAGS = $(CFLAGS) /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES
|
|
!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-winssl
|
|
|
|
!IF "$(CFG)" == "release-winssl"
|
|
TARGET = $(LIBCURL_STA_LIB_REL)
|
|
DIROBJ = $(CFG)
|
|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
|
|
LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
|
|
CC = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(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-winssl-zlib
|
|
|
|
!IF "$(CFG)" == "release-winssl-zlib"
|
|
TARGET = $(LIBCURL_STA_LIB_REL)
|
|
DIROBJ = $(CFG)
|
|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
|
|
LNK = $(LNKLIB) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
|
|
CC = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
|
|
CFGSET = TRUE
|
|
!ENDIF
|
|
|
|
######################
|
|
# release-ssl-ssh2-zlib
|
|
|
|
!IF "$(CFG)" == "release-ssl-ssh2-zlib"
|
|
TARGET = $(LIBCURL_STA_LIB_REL)
|
|
DIROBJ = $(CFG)
|
|
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
|
|
LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
|
|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
|
|
LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
|
|
CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSSSH2) $(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-ssh2-zlib
|
|
|
|
!IF "$(CFG)" == "debug-ssl-ssh2-zlib"
|
|
TARGET = $(LIBCURL_STA_LIB_DBG)
|
|
DIROBJ = $(CFG)
|
|
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
|
|
LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
|
|
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
|
|
LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
|
|
CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSSSH2) $(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.vc10 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-ssh2-zlib - release static library with ssl, ssh2 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-ssh2-zlib - debug static library with ssl, ssh2 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)\amigaos.obj \
|
|
$(DIROBJ)\asyn-ares.obj \
|
|
$(DIROBJ)\asyn-thread.obj \
|
|
$(DIROBJ)\axtls.obj \
|
|
$(DIROBJ)\base64.obj \
|
|
$(DIROBJ)\conncache.obj \
|
|
$(DIROBJ)\connect.obj \
|
|
$(DIROBJ)\content_encoding.obj \
|
|
$(DIROBJ)\cookie.obj \
|
|
$(DIROBJ)\curl_addrinfo.obj \
|
|
$(DIROBJ)\curl_des.obj \
|
|
$(DIROBJ)\curl_endian.obj \
|
|
$(DIROBJ)\curl_fnmatch.obj \
|
|
$(DIROBJ)\curl_gethostname.obj \
|
|
$(DIROBJ)\curl_gssapi.obj \
|
|
$(DIROBJ)\curl_memrchr.obj \
|
|
$(DIROBJ)\curl_multibyte.obj \
|
|
$(DIROBJ)\curl_ntlm.obj \
|
|
$(DIROBJ)\curl_ntlm_core.obj \
|
|
$(DIROBJ)\curl_ntlm_msgs.obj \
|
|
$(DIROBJ)\curl_ntlm_wb.obj \
|
|
$(DIROBJ)\curl_rtmp.obj \
|
|
$(DIROBJ)\curl_sasl.obj \
|
|
$(DIROBJ)\curl_sasl_gssapi.obj \
|
|
$(DIROBJ)\curl_sasl_sspi.obj \
|
|
$(DIROBJ)\curl_sspi.obj \
|
|
$(DIROBJ)\curl_threads.obj \
|
|
$(DIROBJ)\cyassl.obj \
|
|
$(DIROBJ)\darwinssl.obj \
|
|
$(DIROBJ)\dict.obj \
|
|
$(DIROBJ)\dotdot.obj \
|
|
$(DIROBJ)\easy.obj \
|
|
$(DIROBJ)\escape.obj \
|
|
$(DIROBJ)\file.obj \
|
|
$(DIROBJ)\fileinfo.obj \
|
|
$(DIROBJ)\formdata.obj \
|
|
$(DIROBJ)\ftp.obj \
|
|
$(DIROBJ)\ftplistparser.obj \
|
|
$(DIROBJ)\getenv.obj \
|
|
$(DIROBJ)\getinfo.obj \
|
|
$(DIROBJ)\gopher.obj \
|
|
$(DIROBJ)\gtls.obj \
|
|
$(DIROBJ)\hash.obj \
|
|
$(DIROBJ)\hmac.obj \
|
|
$(DIROBJ)\hostasyn.obj \
|
|
$(DIROBJ)\hostcheck.obj \
|
|
$(DIROBJ)\hostip.obj \
|
|
$(DIROBJ)\hostip4.obj \
|
|
$(DIROBJ)\hostip6.obj \
|
|
$(DIROBJ)\hostsyn.obj \
|
|
$(DIROBJ)\http.obj \
|
|
$(DIROBJ)\http_chunks.obj \
|
|
$(DIROBJ)\http_digest.obj \
|
|
$(DIROBJ)\http_negotiate.obj \
|
|
$(DIROBJ)\http_negotiate_sspi.obj \
|
|
$(DIROBJ)\http_proxy.obj \
|
|
$(DIROBJ)\idn_win32.obj \
|
|
$(DIROBJ)\if2ip.obj \
|
|
$(DIROBJ)\imap.obj \
|
|
$(DIROBJ)\inet_ntop.obj \
|
|
$(DIROBJ)\inet_pton.obj \
|
|
$(DIROBJ)\krb5.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)\non-ascii.obj \
|
|
$(DIROBJ)\nonblock.obj \
|
|
$(DIROBJ)\nss.obj \
|
|
$(DIROBJ)\openldap.obj \
|
|
$(DIROBJ)\parsedate.obj \
|
|
$(DIROBJ)\pingpong.obj \
|
|
$(DIROBJ)\pipeline.obj \
|
|
$(DIROBJ)\polarssl.obj \
|
|
$(DIROBJ)\polarssl_threadlock.obj \
|
|
$(DIROBJ)\pop3.obj \
|
|
$(DIROBJ)\progress.obj \
|
|
$(DIROBJ)\rawstr.obj \
|
|
$(DIROBJ)\rtsp.obj \
|
|
$(DIROBJ)\schannel.obj \
|
|
$(DIROBJ)\security.obj \
|
|
$(DIROBJ)\select.obj \
|
|
$(DIROBJ)\sendf.obj \
|
|
$(DIROBJ)\share.obj \
|
|
$(DIROBJ)\slist.obj \
|
|
$(DIROBJ)\smb.obj \
|
|
$(DIROBJ)\smtp.obj \
|
|
$(DIROBJ)\socks.obj \
|
|
$(DIROBJ)\socks_gssapi.obj \
|
|
$(DIROBJ)\socks_sspi.obj \
|
|
$(DIROBJ)\speedcheck.obj \
|
|
$(DIROBJ)\splay.obj \
|
|
$(DIROBJ)\ssh.obj \
|
|
$(DIROBJ)\vtls.obj \
|
|
$(DIROBJ)\openssl.obj \
|
|
$(DIROBJ)\strdup.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"$@" $<
|
|
|
|
{.\vtls\}.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.
|