Skip to content
Snippets Groups Projects
Commit 8f61e5ce authored by Sapien2's avatar Sapien2 Committed by Marc Hoersken
Browse files

Architecture selection for winbuild and minor makefiles refactoring

parent 34ff881e
No related branches found
No related tags found
No related merge requests found
......@@ -68,3 +68,4 @@ where <options> is one or many of:
ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes
GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)
DEBUG=<yes or no> - Debug builds
MACHINE=<X86 or X64> - Target architecture (default is X86)
\ No newline at end of file
......@@ -54,6 +54,10 @@ ENABLE_SSPI = $(USE_SSPI)
!ENDIF
# default options
!IFNDEF MACHINE
MACHINE = X86
!ENDIF
!IFNDEF ENABLE_IDN
USE_IDN = true
!ELSEIF "$(ENABLE_IDN)"=="yes"
......@@ -120,6 +124,8 @@ USE_SSH2 = true
SSH2 = static
!ENDIF
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-$(MACHINE)
!IF "$(DEBUG)"=="yes"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug
!ELSE
......@@ -168,14 +174,18 @@ CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl
DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\
$(MODE):
@SET LIBCURL_DIROBJ=$(LIBCURL_DIROBJ)
@SET 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 DIROBJ=$(CURL_DIROBJ)
@SET MACRO_NAME=CURL_OBJS
@SET OUTFILE=CURL_OBJS.inc
@gen_resp_file.bat $(CURL_OBJS)
@SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB)
@SET MACHINE=$(MACHINE)
@SET USE_IDN=$(USE_IDN)
@SET USE_IPV6=$(USE_IPV6)
@SET USE_SSPI=$(USE_SSPI)
......
......@@ -211,9 +211,6 @@ SSPI_CFLAGS = $(SSPI_CFLAGS) /DUSE_SCHANNEL
GEN_PDB = true
!ENDIF
!IFNDEF MACHINE
MACHINE = X86
!ENDIF
!IFDEF EMBEND_MANIFEST
MANIFESTTOOL = mt -manifest $(DIRDIST)\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\$(PROGRAM_NAME);1
......@@ -245,7 +242,7 @@ WIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib
!ERROR please choose a valid mode
!ENDIF
CONFIG_NAME_LIB = libcurl
# CURL_XX macros are for the curl.exe command
......@@ -255,14 +252,12 @@ CC = $(CC_DEBUG) $(RTLIB_DEBUG)
CURL_CC = $(CC)
CURL_RC_FLAGS = /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug
!ELSE
RC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
CC = $(CC_NODEBUG) $(RTLIB)
CURL_CC = $(CC)
CURL_RC_FLAGS = /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-release
!ENDIF
CURL_CC = $(CURL_CC) $(CURL_CFLAGS)
......@@ -280,7 +275,6 @@ LNK = $(LNK) /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP)
CURL_LIBS = /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP)
!ENDIF
RESOURCE = $(LIB_DIROBJ)\libcurl.res
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-dll
# AS_DLL
!ELSE
......@@ -292,7 +286,6 @@ TARGET = $(LIB_NAME_STATIC)
!ENDIF
LNK = $(LNKLIB) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)
CC = $(CC) $(CFLAGS_LIBCURL_STATIC)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static
# AS_DLL
!ENDIF
......@@ -300,38 +293,32 @@ CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static
!IF "$(USE_SSL)"=="true"
CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(SSL_LIBS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)
!ENDIF
!IF "$(USE_ZLIB)"=="true"
CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)
LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) $(ZLIB_LIBS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-zlib-$(ZLIB)
!ENDIF
!IF "$(USE_SSH2)"=="true"
CFLAGS = $(CFLAGS) $(SSH2_CFLAGS)
LFLAGS = $(LFLAGS) $(SSH2_LFLAGS) $(SSH2_LIBS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssh2-$(SSH2)
!ENDIF
!IF "$(USE_IPV6)"=="true"
CFLAGS = $(CFLAGS) $(IPV6_CFLAGS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ipv6
!ENDIF
!IF "$(USE_SSPI)"=="true"
CFLAGS = $(CFLAGS) $(SSPI_CFLAGS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi
!ENDIF
!IF "$(USE_SPNEGO)"=="true"
CFLAGS = $(CFLAGS) $(SPNEGO_CFLAGS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-spnego
!ENDIF
!IF "$(USE_WINSSL)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-winssl
#
!ENDIF
!IF "$(GEN_PDB)"=="true"
......@@ -397,6 +384,7 @@ $(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DISTDIR)
@echo LFLAGS: $(LFLAGS)
@echo GenPDB: $(GEN_PDB)
@echo Debug: $(DEBUG)
@echo Machine: $(MACHINE)
$(LNK) $(LFLAGS) $(LIB_OBJS)
@echo Copying libs...
@if exist $(LIB_DIROBJ)\$(LIB_NAME_DLL) copy $(LIB_DIROBJ)\$(LIB_NAME_DLL) $(DIRDIST)\bin\ /y >nul 2<&1
......
@echo OFF
@del %OUTFILE%
@echo %MACRO_NAME% = \> %OUTFILE%
@for %%i in (%*) do @echo %LIBCURL_DIROBJ%/%%i \>> %OUTFILE%
@for %%i in (%*) do @echo %DIROBJ%/%%i \>> %OUTFILE%
@echo. >> %OUTFILE%
:END
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment