# Usage\r
#\r
\r
-!MESSAGE Usage: nmake /f makefile.vc mode=<static or dll> <options>\r
+!MESSAGE Usage: nmake /f Makefile.vc mode=<static or dll> <options>\r
!MESSAGE where <options> is one or many of:\r
-!MESSAGE VC=<6,7,8,9,10> - VC versions\r
+!MESSAGE VC=<6,7,8,9,10,11,12> - VC versions\r
!MESSAGE WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)\r
-!MESSAGE Default to sibbling directory deps: ../deps\r
+!MESSAGE Defaults to sibbling directory deps: ../deps\r
!MESSAGE Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/\r
!MESSAGE Uncompress them into the deps folder.\r
!MESSAGE WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static\r
-!MESSAGE WITH_ZLIB=<dll or static> - Enable ZLib support, DLL or static\r
-!MESSAGE WITH_SSH2=<dll or static> - Enable LIbSSH2 support, DLL or static\r
-!MESSAGE USE_SSPI=<yes or no> - Enable SSPI support, default to yes\r
-!MESSAGE ENABLE_IPV6=<yes or no> - Enable IPV6, default to yes\r
-!MESSAGE ENABLE_IDN=<yes or no> - Wheter or not to use IDN Windows APIs. Requires Windows Vista or later.\r
-!MESSAGE or to install http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815\r
-!MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, default to yes\r
-!MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols release build)\r
+!MESSAGE WITH_CARES=<dll or static> - Enable c-ares support, DLL or static\r
+!MESSAGE WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static\r
+!MESSAGE WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static\r
+!MESSAGE ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes\r
+!MESSAGE Requires Windows Vista or later, or installation from:\r
+!MESSAGE http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815\r
+!MESSAGE ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes\r
+!MESSAGE ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes\r
+!MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes\r
+!MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)\r
!MESSAGE DEBUG=<yes or no> - Debug builds\r
+!MESSAGE MACHINE=<x86 or x64> - Target architecture (default x64 on AMD64, x86 on others)\r
!ERROR please choose a valid mode\r
\r
!ENDIF\r
!INCLUDE "../lib/Makefile.inc"\r
LIBCURL_OBJS=$(CSOURCES:.c=.obj)\r
\r
-top_srcdir=..\r
!INCLUDE "../src/Makefile.inc"\r
\r
-# hugehelp has a special rule\r
-CURL_OBJS=$(CURL_CFILES:hugehelp.c=)\r
+# tool_hugehelp has a special rule\r
+CURL_OBJS=$(CURL_CFILES:tool_hugehelp.c=)\r
\r
CURL_OBJS=$(CURL_OBJS:.c=.obj)\r
\r
+\r
+# backwards compatible check for USE_SSPI\r
+!IFDEF USE_SSPI\r
+ENABLE_SSPI = $(USE_SSPI)\r
+!ENDIF\r
+\r
# default options\r
-!IFNDEF USE_SSPI\r
-USE_SSPI = true\r
+!IFNDEF MACHINE\r
+!IF "$(PROCESSOR_ARCHITECTURE)"=="AMD64"\r
+MACHINE = x64\r
+!ELSE\r
+MACHINE = x86\r
+!ENDIF\r
+!ENDIF\r
+\r
+!IFNDEF ENABLE_IDN\r
+USE_IDN = true\r
+!ELSEIF "$(ENABLE_IDN)"=="yes"\r
+USE_IDN = true\r
+!ELSEIF "$(ENABLE_IDN)"=="no"\r
+USE_IDN = false\r
!ENDIF\r
\r
!IFNDEF ENABLE_IPV6\r
USE_IPV6 = false\r
!ENDIF\r
\r
-!IFNDEF ENABLE_IDN\r
-USE_IDN = true\r
-!ELSEIF "$(ENABLE_IDN)"=="yes"\r
-USE_IDN = true\r
-!ELSEIF "$(ENABLE_IDN)"=="no"\r
-USE_IDN = false\r
+!IFNDEF ENABLE_SSPI\r
+USE_SSPI = true\r
+!ELSEIF "$(ENABLE_SSPI)"=="yes"\r
+USE_SSPI = true\r
+!ELSEIF "$(ENABLE_SSPI)"=="no"\r
+USE_SSPI = false\r
!ENDIF\r
\r
!IFNDEF ENABLE_WINSSL\r
-USE_WINSSL = true\r
+!IFDEF WITH_SSL\r
+USE_WINSSL = false\r
+!ELSE\r
+USE_WINSSL = $(USE_SSPI)\r
+!ENDIF\r
!ELSEIF "$(ENABLE_WINSSL)"=="yes"\r
USE_WINSSL = true\r
!ELSEIF "$(ENABLE_WINSSL)"=="no"\r
SSL = static\r
!ENDIF\r
\r
+!IF "$(WITH_CARES)"=="dll"\r
+USE_CARES = true\r
+CARES = dll\r
+!ELSEIF "$(WITH_CARES)"=="static"\r
+USE_CARES = true\r
+CARES = static\r
+!ENDIF\r
+\r
!IF "$(WITH_ZLIB)"=="dll"\r
USE_ZLIB = true\r
ZLIB = dll\r
SSH2 = static\r
!ENDIF\r
\r
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-vc$(VC)-$(MACHINE)\r
+\r
!IF "$(DEBUG)"=="yes"\r
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug\r
!ELSE\r
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)\r
!ENDIF\r
\r
+!IF "$(USE_CARES)"=="true"\r
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-cares-$(CARES)\r
+!ENDIF\r
+\r
!IF "$(USE_ZLIB)"=="true"\r
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-zlib-$(ZLIB)\r
!ENDIF\r
DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\\r
\r
$(MODE):\r
- @SET LIBCURL_DIROBJ=$(LIBCURL_DIROBJ)\r
+ @SET DIROBJ=$(LIBCURL_DIROBJ)\r
@SET MACRO_NAME=LIBCURL_OBJS\r
@SET OUTFILE=LIBCURL_OBJS.inc\r
@gen_resp_file.bat $(LIBCURL_OBJS)\r
- @SET LIBCURL_DIROBJ=$(CURL_DIROBJ)\r
+\r
+ @SET DIROBJ=$(CURL_DIROBJ)\r
@SET MACRO_NAME=CURL_OBJS\r
@SET OUTFILE=CURL_OBJS.inc\r
@gen_resp_file.bat $(CURL_OBJS)\r
- @SET USE_IPV6=$(USE_IPV6)\r
+\r
+ @SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB)\r
+ @SET MACHINE=$(MACHINE)\r
@SET USE_IDN=$(USE_IDN)\r
+ @SET USE_IPV6=$(USE_IPV6)\r
+ @SET USE_SSPI=$(USE_SSPI)\r
@SET USE_WINSSL=$(USE_WINSSL)\r
@$(MAKE) /NOLOGO /F MakefileBuild.vc\r
\r
copy_from_lib:\r
echo copying .c...\r
- FOR %%i IN ($(CURLX_ONES:/=\)) DO copy %%i ..\src\\r
+ FOR %%i IN ($(CURLX_CFILES:/=\)) DO copy %%i ..\src\\r