!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)
+!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
!IFNDEF MACHINE\r
!IF "$(PROCESSOR_ARCHITECTURE)"=="AMD64"\r
MACHINE = x64\r
-!ELSE
+!ELSE\r
MACHINE = x86\r
-!ENDIF
-!ENDIF
-
+!ENDIF\r
+!ENDIF\r
+\r
!IFNDEF ENABLE_IDN\r
USE_IDN = true\r
!ELSEIF "$(ENABLE_IDN)"=="yes"\r
SSH2 = static\r
!ENDIF\r
\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-$(MACHINE)
-
+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
DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\\r
\r
$(MODE):\r
- @SET DIROBJ=$(LIBCURL_DIROBJ)
+ @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 DIROBJ=$(CURL_DIROBJ)
+\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 CONFIG_NAME_LIB=$(CONFIG_NAME_LIB)
- @SET MACHINE=$(MACHINE)
+\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
\r
CFLAGS_LIBCURL_STATIC = /DCURL_STATICLIB\r
\r
-WIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib
-LIB_NAME_STATIC = libcurl_a.lib\r
-LIB_NAME_STATIC_DEBUG = libcurl_a_debug.lib\r
-LIB_NAME_DLL = libcurl.dll\r
-LIB_NAME_IMP = libcurl.lib\r
-LIB_NAME_DLL_DEBUG = libcurl_debug.dll\r
-LIB_NAME_IMP_DEBUG = libcurl_debug.lib\r
+WIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib\r
+\r
+BASE_NAME = libcurl\r
+BASE_NAME_DEBUG = $(BASE_NAME)_debug\r
+BASE_NAME_STATIC = $(BASE_NAME)_a\r
+BASE_NAME_STATIC_DEBUG = $(BASE_NAME_STATIC)_debug\r
+\r
+LIB_NAME_STATIC = $(BASE_NAME_STATIC).lib\r
+LIB_NAME_STATIC_DEBUG = $(BASE_NAME_STATIC_DEBUG).lib\r
+LIB_NAME_DLL = $(BASE_NAME).dll\r
+LIB_NAME_IMP = $(BASE_NAME).lib\r
+LIB_NAME_DLL_DEBUG = $(BASE_NAME_DEBUG).dll\r
+LIB_NAME_IMP_DEBUG = $(BASE_NAME_DEBUG).lib\r
+\r
+PDB_NAME_STATIC = $(BASE_NAME_STATIC).pdb\r
+PDB_NAME_STATIC_DEBUG = $(BASE_NAME_STATIC_DEBUG).pdb\r
+PDB_NAME_DLL = $(BASE_NAME).pdb\r
+PDB_NAME_DLL_DEBUG = $(BASE_NAME_DEBUG).pdb\r
\r
# CURL Command section\r
PROGRAM_NAME = curl.exe\r
!ENDIF\r
\r
!IF "$(USE_IDN)"=="true"\r
-IDN_CFLAGS = $(IDN_CFLAGS) /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES
-WIN_LIBS = $(WIN_LIBS) Normaliz.lib
+IDN_CFLAGS = $(IDN_CFLAGS) /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES\r
+WIN_LIBS = $(WIN_LIBS) Normaliz.lib\r
!ENDIF\r
\r
\r
USE_WINSSL = true\r
!ENDIF\r
\r
-
+\r
!IF "$(USE_WINSSL)"=="true"\r
!IF "$(USE_SSPI)"!="true"\r
!ERROR cannot build with WinSSL without SSPI\r
!ERROR please choose a valid mode\r
!ENDIF\r
\r
-
+\r
\r
# CURL_XX macros are for the curl.exe command\r
\r
\r
!IF "$(AS_DLL)" == "true"\r
\r
-LNK = $(LNKDLL) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)\r
+LNK = $(LNKDLL) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)\r
!IF "$(DEBUG)"=="yes"\r
TARGET = $(LIB_NAME_DLL_DEBUG)\r
LNK = $(LNK) /DEBUG /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP_DEBUG)\r
+PDB = $(PDB_NAME_DLL_DEBUG)\r
CURL_LIBS = /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP_DEBUG)\r
!ELSE\r
TARGET = $(LIB_NAME_DLL)\r
LNK = $(LNK) /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP)\r
+PDB = $(PDB_NAME_DLL)\r
CURL_LIBS = /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP)\r
!ENDIF\r
-RESOURCE = $(LIB_DIROBJ)\libcurl.res\r
+RESOURCE = $(LIB_DIROBJ)\libcurl.res\r
\r
# AS_DLL\r
!ELSE\r
\r
!IF "$(DEBUG)"=="yes"\r
TARGET = $(LIB_NAME_STATIC_DEBUG)\r
+PDB = $(PDB_NAME_STATIC_DEBUG)\r
!ELSE\r
TARGET = $(LIB_NAME_STATIC)\r
+PDB = $(PDB_NAME_STATIC)\r
!ENDIF\r
LNK = $(LNKLIB) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)\r
CC = $(CC) $(CFLAGS_LIBCURL_STATIC)\r
LFLAGS = $(LFLAGS) $(SSH2_LFLAGS) $(SSH2_LIBS)\r
!ENDIF\r
\r
-!IF "$(USE_IDN)"=="true"
-CFLAGS = $(CFLAGS) $(IDN_CFLAGS)
-!ENDIF
-
+!IF "$(USE_IDN)"=="true"\r
+CFLAGS = $(CFLAGS) $(IDN_CFLAGS)\r
+!ENDIF\r
+\r
!IF "$(USE_IPV6)"=="true"\r
CFLAGS = $(CFLAGS) $(IPV6_CFLAGS)\r
!ENDIF\r
!ENDIF\r
\r
!IF "$(GEN_PDB)"=="true"\r
-CFLAGS = $(CFLAGS) $(CFLAGS_PDB)\r
+CFLAGS = $(CFLAGS) $(CFLAGS_PDB) /Fd"$(LIB_DIROBJ)\$(PDB)"\r
LFLAGS = $(LFLAGS) $(LFLAGS_PDB)\r
!ENDIF\r
\r
@echo LFLAGS: $(LFLAGS)\r
@echo GenPDB: $(GEN_PDB)\r
@echo Debug: $(DEBUG)\r
- @echo Machine: $(MACHINE)
+ @echo Machine: $(MACHINE)\r
$(LNK) $(LFLAGS) $(LIB_OBJS)\r
@echo Copying libs...\r
@if exist $(LIB_DIROBJ)\$(LIB_NAME_DLL) copy $(LIB_DIROBJ)\$(LIB_NAME_DLL) $(DIRDIST)\bin\ /y >nul 2<&1\r