2011-01-29 00:19:44 +03:00
|
|
|
!IF "$(MODE)"=="static"
|
|
|
|
TARGET = $(LIB_NAME_STATIC)
|
|
|
|
AS_DLL = false
|
|
|
|
CFGSET=true
|
|
|
|
!ELSEIF "$(MODE)"=="dll"
|
|
|
|
TARGET = $(LIB_NAME_DLL)
|
|
|
|
AS_DLL = true
|
|
|
|
CFGSET=true
|
|
|
|
!ELSE
|
|
|
|
!MESSAGE Invalid mode: $(MODE)
|
|
|
|
|
|
|
|
#######################
|
|
|
|
# Usage
|
|
|
|
#
|
|
|
|
|
|
|
|
!MESSAGE Usage: nmake /f makefile.vc mode=<static or dll> <options>
|
|
|
|
!MESSAGE where <options> is one or many of:
|
|
|
|
!MESSAGE VC=<6,7,8,9,10> - VC versions
|
|
|
|
!MESSAGE WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
|
|
|
|
!MESSAGE Default to sibbling directory deps: ../deps
|
|
|
|
!MESSAGE Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/
|
|
|
|
!MESSAGE Uncompress them into the deps folder.
|
|
|
|
!MESSAGE WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
|
|
|
|
!MESSAGE WITH_ZLIB=<dll or static> - Enable ZLib support, DLL or static
|
|
|
|
!MESSAGE WITH_SSH2=<dll or static> - Enable LIbSSH2 support, DLL or static
|
2012-07-05 10:49:45 +04:00
|
|
|
!MESSAGE ENABLE_SSPI=<yes or no> - Enable SSPI support, default to yes
|
2012-06-10 18:50:11 +04:00
|
|
|
!MESSAGE ENABLE_IPV6=<yes or no> - Enable IPV6, default to yes
|
2012-01-26 19:39:26 +04:00
|
|
|
!MESSAGE ENABLE_IDN=<yes or no> - Wheter or not to use IDN Windows APIs. Requires Windows Vista or later.
|
2011-01-29 00:19:44 +03:00
|
|
|
!MESSAGE or to install http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815
|
2012-06-14 19:56:59 +04:00
|
|
|
!MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, default to yes
|
2011-01-29 00:19:44 +03:00
|
|
|
!MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols release build)
|
2012-06-10 18:50:11 +04:00
|
|
|
!MESSAGE DEBUG=<yes or no> - Debug builds
|
2011-01-29 00:19:44 +03:00
|
|
|
!ERROR please choose a valid mode
|
|
|
|
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!INCLUDE "../lib/Makefile.inc"
|
|
|
|
LIBCURL_OBJS=$(CSOURCES:.c=.obj)
|
|
|
|
|
|
|
|
top_srcdir=..
|
|
|
|
!INCLUDE "../src/Makefile.inc"
|
|
|
|
|
|
|
|
# hugehelp has a special rule
|
2012-06-10 18:50:11 +04:00
|
|
|
CURL_OBJS=$(CURL_CFILES:hugehelp.c=)
|
2011-01-29 00:19:44 +03:00
|
|
|
|
|
|
|
CURL_OBJS=$(CURL_OBJS:.c=.obj)
|
|
|
|
|
2012-07-05 10:49:45 +04:00
|
|
|
|
|
|
|
# backwards compatible check for USE_SSPI
|
|
|
|
!IFDEF USE_SSPI
|
|
|
|
ENABLE_SSPI = $(USE_SSPI)
|
|
|
|
!ENDIF
|
|
|
|
|
2011-01-29 00:19:44 +03:00
|
|
|
# default options
|
2012-07-05 10:49:45 +04:00
|
|
|
!IFNDEF ENABLE_SSPI
|
|
|
|
USE_SSPI = true
|
|
|
|
!ELSEIF "$(ENABLE_SSPI)"=="yes"
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_SSPI = true
|
2012-07-05 10:49:45 +04:00
|
|
|
!ELSEIF "$(ENABLE_SSPI)"=="no"
|
|
|
|
USE_SSPI = false
|
2011-01-29 00:19:44 +03:00
|
|
|
!ENDIF
|
|
|
|
|
2012-01-19 17:08:24 +04:00
|
|
|
!IFNDEF ENABLE_IPV6
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_IPV6 = true
|
2012-01-19 17:08:24 +04:00
|
|
|
!ELSEIF "$(ENABLE_IPV6)"=="yes"
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_IPV6 = true
|
|
|
|
!ELSEIF "$(ENABLE_IPV6)"=="no"
|
|
|
|
USE_IPV6 = false
|
2011-01-29 00:19:44 +03:00
|
|
|
!ENDIF
|
|
|
|
|
2012-01-19 17:08:24 +04:00
|
|
|
!IFNDEF ENABLE_IDN
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_IDN = true
|
|
|
|
!ELSEIF "$(ENABLE_IDN)"=="yes"
|
|
|
|
USE_IDN = true
|
|
|
|
!ELSEIF "$(ENABLE_IDN)"=="no"
|
|
|
|
USE_IDN = false
|
2011-01-29 00:19:44 +03:00
|
|
|
!ENDIF
|
|
|
|
|
2012-06-14 19:56:59 +04:00
|
|
|
!IFNDEF ENABLE_WINSSL
|
|
|
|
USE_WINSSL = true
|
|
|
|
!ELSEIF "$(ENABLE_WINSSL)"=="yes"
|
|
|
|
USE_WINSSL = true
|
|
|
|
!ELSEIF "$(ENABLE_WINSSL)"=="no"
|
|
|
|
USE_WINSSL = false
|
|
|
|
!ENDIF
|
|
|
|
|
2011-01-29 00:19:44 +03:00
|
|
|
CONFIG_NAME_LIB = libcurl
|
|
|
|
|
|
|
|
!IF "$(WITH_SSL)"=="dll"
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_SSL = true
|
|
|
|
SSL = dll
|
2011-01-29 00:19:44 +03:00
|
|
|
!ELSEIF "$(WITH_SSL)"=="static"
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_SSL = true
|
|
|
|
SSL = static
|
2011-01-29 00:19:44 +03:00
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(WITH_ZLIB)"=="dll"
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_ZLIB = true
|
|
|
|
ZLIB = dll
|
2011-01-29 00:19:44 +03:00
|
|
|
!ELSEIF "$(WITH_ZLIB)"=="static"
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_ZLIB = true
|
|
|
|
ZLIB = static
|
2011-01-29 00:19:44 +03:00
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(WITH_SSH2)"=="dll"
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_SSH2 = true
|
|
|
|
SSH2 = dll
|
2011-01-29 00:19:44 +03:00
|
|
|
!ELSEIF "$(WITH_SSH2)"=="static"
|
2012-06-10 18:50:11 +04:00
|
|
|
USE_SSH2 = true
|
|
|
|
SSH2 = static
|
2011-01-29 00:19:44 +03:00
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(DEBUG)"=="yes"
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug
|
|
|
|
!ELSE
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-release
|
|
|
|
!ENDIF
|
|
|
|
|
2012-07-05 10:39:40 +04:00
|
|
|
!IF "$(AS_DLL)"=="true"
|
2011-01-29 00:19:44 +03:00
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-dll
|
|
|
|
!ELSE
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(USE_SSL)"=="true"
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(USE_ZLIB)"=="true"
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-zlib-$(ZLIB)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(USE_SSH2)"=="true"
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssh2-$(SSH2)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(USE_IPV6)"=="true"
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ipv6
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(USE_SSPI)"=="true"
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi
|
|
|
|
!ENDIF
|
|
|
|
|
2012-06-14 19:56:59 +04:00
|
|
|
!IF "$(USE_WINSSL)"=="true"
|
|
|
|
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-winssl
|
|
|
|
!ENDIF
|
|
|
|
|
2011-01-29 00:19:44 +03:00
|
|
|
!MESSAGE configuration name: $(CONFIG_NAME_LIB)
|
|
|
|
|
|
|
|
BUILD_DIR=../builds/$(CONFIG_NAME_LIB)
|
|
|
|
LIBCURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-lib
|
|
|
|
CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl
|
|
|
|
DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\
|
|
|
|
|
|
|
|
$(MODE):
|
|
|
|
@SET LIBCURL_DIROBJ=$(LIBCURL_DIROBJ)
|
|
|
|
@SET MACRO_NAME=LIBCURL_OBJS
|
|
|
|
@SET OUTFILE=LIBCURL_OBJS.inc
|
|
|
|
@gen_resp_file.bat $(LIBCURL_OBJS)
|
|
|
|
@SET LIBCURL_DIROBJ=$(CURL_DIROBJ)
|
|
|
|
@SET MACRO_NAME=CURL_OBJS
|
|
|
|
@SET OUTFILE=CURL_OBJS.inc
|
|
|
|
@gen_resp_file.bat $(CURL_OBJS)
|
2012-07-05 10:49:45 +04:00
|
|
|
@SET USE_SSPI=$(USE_SSPI)
|
2012-06-10 18:50:11 +04:00
|
|
|
@SET USE_IPV6=$(USE_IPV6)
|
|
|
|
@SET USE_IDN=$(USE_IDN)
|
2012-06-14 19:56:59 +04:00
|
|
|
@SET USE_WINSSL=$(USE_WINSSL)
|
2011-01-29 00:19:44 +03:00
|
|
|
@$(MAKE) /NOLOGO /F MakefileBuild.vc
|
|
|
|
|
|
|
|
copy_from_lib:
|
|
|
|
echo copying .c...
|
|
|
|
FOR %%i IN ($(CURLX_ONES:/=\)) DO copy %%i ..\src\
|