113498266Sopenharmony_ci#*************************************************************************** 213498266Sopenharmony_ci# _ _ ____ _ 313498266Sopenharmony_ci# Project ___| | | | _ \| | 413498266Sopenharmony_ci# / __| | | | |_) | | 513498266Sopenharmony_ci# | (__| |_| | _ <| |___ 613498266Sopenharmony_ci# \___|\___/|_| \_\_____| 713498266Sopenharmony_ci# 813498266Sopenharmony_ci# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 913498266Sopenharmony_ci# 1013498266Sopenharmony_ci# This software is licensed as described in the file COPYING, which 1113498266Sopenharmony_ci# you should have received as part of this distribution. The terms 1213498266Sopenharmony_ci# are also available at https://curl.se/docs/copyright.html. 1313498266Sopenharmony_ci# 1413498266Sopenharmony_ci# You may opt to use, copy, modify, merge, publish, distribute and/or sell 1513498266Sopenharmony_ci# copies of the Software, and permit persons to whom the Software is 1613498266Sopenharmony_ci# furnished to do so, under the terms of the COPYING file. 1713498266Sopenharmony_ci# 1813498266Sopenharmony_ci# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 1913498266Sopenharmony_ci# KIND, either express or implied. 2013498266Sopenharmony_ci# 2113498266Sopenharmony_ci# SPDX-License-Identifier: curl 2213498266Sopenharmony_ci# 2313498266Sopenharmony_ci#*************************************************************************** 2413498266Sopenharmony_ci 2513498266Sopenharmony_ci########################################################################### 2613498266Sopenharmony_ci# 2713498266Sopenharmony_ci# Makefile for building libcurl with MSVC 2813498266Sopenharmony_ci# 2913498266Sopenharmony_ci# Usage: see README.md 3013498266Sopenharmony_ci# 3113498266Sopenharmony_ci############################################################## 3213498266Sopenharmony_ci 3313498266Sopenharmony_ciCFGSET=FALSE 3413498266Sopenharmony_ciWINBUILD_DIR=`cd` 3513498266Sopenharmony_ci 3613498266Sopenharmony_ci# Utilities. 3713498266Sopenharmony_ci# If a path is required that contains characters such as space, quote the path. 3813498266Sopenharmony_ciMT = mt.exe 3913498266Sopenharmony_ciRC = rc.exe 4013498266Sopenharmony_ciZIP = zip.exe 4113498266Sopenharmony_ci 4213498266Sopenharmony_ci# Allow changing C compiler via environment variable CC (default cl.exe) 4313498266Sopenharmony_ci# This command macro is not set by default: https://msdn.microsoft.com/en-us/library/ms933742.aspx 4413498266Sopenharmony_ci!If "$(CC)" == "" 4513498266Sopenharmony_ciCC = cl.exe 4613498266Sopenharmony_ci!Endif 4713498266Sopenharmony_ci 4813498266Sopenharmony_ci!IF "$(VC)"=="6" 4913498266Sopenharmony_ciCC_NODEBUG = $(CC) /O2 /DNDEBUG 5013498266Sopenharmony_ciCC_DEBUG = $(CC) /Od /Gm /Zi /D_DEBUG /GZ 5113498266Sopenharmony_ciCFLAGS = /I. /I../lib /I../include /nologo /W4 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL 5213498266Sopenharmony_ci!ELSE 5313498266Sopenharmony_ciCC_NODEBUG = $(CC) /O2 /DNDEBUG 5413498266Sopenharmony_ciCC_DEBUG = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd 5513498266Sopenharmony_ciCFLAGS = /I. /I ../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL 5613498266Sopenharmony_ci!ENDIF 5713498266Sopenharmony_ci 5813498266Sopenharmony_ciLFLAGS = /nologo /machine:$(MACHINE) 5913498266Sopenharmony_ciLNKDLL = link.exe /DLL 6013498266Sopenharmony_ci# Use lib.exe instead of link.exe as link.exe /lib has the following bad habits: 6113498266Sopenharmony_ci# - optimizing options like /opt:ref raises warnings (at least in Visual Studio 2015) 6213498266Sopenharmony_ci# - all (including Windows) dependencies are aggregated (as static parts) 6313498266Sopenharmony_ci# - link.exe /lib is not documented (anymore) at MSDN 6413498266Sopenharmony_ci# Instead of id: just create an archive, that contains all objects 6513498266Sopenharmony_ciLNKLIB = lib.exe 6613498266Sopenharmony_ci 6713498266Sopenharmony_ciCFLAGS_PDB = /Zi 6813498266Sopenharmony_ciLFLAGS_PDB = /incremental:no /opt:ref,icf /DEBUG 6913498266Sopenharmony_ci 7013498266Sopenharmony_ciCFLAGS_LIBCURL_STATIC = /DCURL_STATICLIB 7113498266Sopenharmony_ci 7213498266Sopenharmony_ciWIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib crypt32.lib 7313498266Sopenharmony_ci 7413498266Sopenharmony_ciBASE_NAME = libcurl 7513498266Sopenharmony_ciBASE_NAME_DEBUG = $(BASE_NAME)_debug 7613498266Sopenharmony_ciBASE_NAME_STATIC = $(BASE_NAME)_a 7713498266Sopenharmony_ciBASE_NAME_STATIC_DEBUG = $(BASE_NAME_STATIC)_debug 7813498266Sopenharmony_ci 7913498266Sopenharmony_ciLIB_NAME_STATIC = $(BASE_NAME_STATIC).lib 8013498266Sopenharmony_ciLIB_NAME_STATIC_DEBUG = $(BASE_NAME_STATIC_DEBUG).lib 8113498266Sopenharmony_ciLIB_NAME_DLL = $(BASE_NAME).dll 8213498266Sopenharmony_ciLIB_NAME_IMP = $(BASE_NAME).lib 8313498266Sopenharmony_ciLIB_NAME_DLL_DEBUG = $(BASE_NAME_DEBUG).dll 8413498266Sopenharmony_ciLIB_NAME_IMP_DEBUG = $(BASE_NAME_DEBUG).lib 8513498266Sopenharmony_ci 8613498266Sopenharmony_ciPDB_NAME_STATIC = $(BASE_NAME_STATIC).pdb 8713498266Sopenharmony_ciPDB_NAME_STATIC_DEBUG = $(BASE_NAME_STATIC_DEBUG).pdb 8813498266Sopenharmony_ciPDB_NAME_DLL = $(BASE_NAME).pdb 8913498266Sopenharmony_ciPDB_NAME_DLL_DEBUG = $(BASE_NAME_DEBUG).pdb 9013498266Sopenharmony_ci 9113498266Sopenharmony_ci# CURL Command section 9213498266Sopenharmony_ciPROGRAM_NAME = curl.exe 9313498266Sopenharmony_ciCURL_CFLAGS = /I../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c 9413498266Sopenharmony_ciCURL_LFLAGS = /out:$(DIRDIST)\bin\$(PROGRAM_NAME) /subsystem:console $(LFLAGS) 9513498266Sopenharmony_ciCURL_RESFLAGS = /i../include 9613498266Sopenharmony_ci 9713498266Sopenharmony_ci############################################################# 9813498266Sopenharmony_ci## Nothing more to do below this line! 9913498266Sopenharmony_ciLIBCURL_SRC_DIR = ..\lib 10013498266Sopenharmony_ciCURL_SRC_DIR = ..\src 10113498266Sopenharmony_ci 10213498266Sopenharmony_ci!IFNDEF WITH_DEVEL 10313498266Sopenharmony_ciWITH_DEVEL = ../../deps 10413498266Sopenharmony_ci!ENDIF 10513498266Sopenharmony_ciDEVEL_INCLUDE= $(WITH_DEVEL)/include 10613498266Sopenharmony_ciDEVEL_LIB = $(WITH_DEVEL)/lib 10713498266Sopenharmony_ci 10813498266Sopenharmony_ci!IF EXISTS("$(DEVEL_INCLUDE)") 10913498266Sopenharmony_ciCFLAGS = $(CFLAGS) /I"$(DEVEL_INCLUDE)" 11013498266Sopenharmony_ci!ENDIF 11113498266Sopenharmony_ci!IF EXISTS("$(DEVEL_LIB)") 11213498266Sopenharmony_ciLFLAGS = $(LFLAGS) "/LIBPATH:$(DEVEL_LIB)" 11313498266Sopenharmony_ci!ENDIF 11413498266Sopenharmony_ci 11513498266Sopenharmony_ci!IFDEF SSL_PATH 11613498266Sopenharmony_ciSSL_INC_DIR = $(SSL_PATH)\include 11713498266Sopenharmony_ciSSL_LIB_DIR = $(SSL_PATH)\lib 11813498266Sopenharmony_ciSSL_LFLAGS = $(SSL_LFLAGS) "/LIBPATH:$(SSL_LIB_DIR)" 11913498266Sopenharmony_ci!ELSE 12013498266Sopenharmony_ciSSL_INC_DIR=$(DEVEL_INCLUDE)\openssl 12113498266Sopenharmony_ciSSL_LIB_DIR=$(DEVEL_LIB) 12213498266Sopenharmony_ci!ENDIF 12313498266Sopenharmony_ci 12413498266Sopenharmony_ci!IF "$(WITH_SSL)"=="dll" || "$(WITH_SSL)"=="static" 12513498266Sopenharmony_ci!IF EXISTS("$(SSL_LIB_DIR)\libssl.lib") 12613498266Sopenharmony_ciSSL_LIBS = libssl.lib libcrypto.lib 12713498266Sopenharmony_ci!ELSE 12813498266Sopenharmony_ciSSL_LIBS = libeay32.lib ssleay32.lib 12913498266Sopenharmony_ci!ENDIF 13013498266Sopenharmony_ciUSE_SSL = true 13113498266Sopenharmony_ciSSL = $(WITH_SSL) 13213498266Sopenharmony_ci!IF "$(WITH_SSL)"=="static" 13313498266Sopenharmony_ciWIN_LIBS = $(WIN_LIBS) gdi32.lib user32.lib crypt32.lib 13413498266Sopenharmony_ci!ENDIF 13513498266Sopenharmony_ci!ENDIF 13613498266Sopenharmony_ci 13713498266Sopenharmony_ci!IFDEF USE_SSL 13813498266Sopenharmony_ciSSL_CFLAGS = /DUSE_OPENSSL /I"$(SSL_INC_DIR)" 13913498266Sopenharmony_ci!IF "$(ENABLE_OPENSSL_AUTO_LOAD_CONFIG)"=="false" 14013498266Sopenharmony_ciSSL_CFLAGS = $(SSL_CFLAGS) /DCURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG 14113498266Sopenharmony_ci!ENDIF 14213498266Sopenharmony_ci!ENDIF 14313498266Sopenharmony_ci 14413498266Sopenharmony_ci 14513498266Sopenharmony_ci!IFDEF NGHTTP2_PATH 14613498266Sopenharmony_ciNGHTTP2_INC_DIR = $(NGHTTP2_PATH)\include 14713498266Sopenharmony_ciNGHTTP2_LIB_DIR = $(NGHTTP2_PATH)\lib 14813498266Sopenharmony_ciNGHTTP2_LFLAGS = $(NGHTTP2_LFLAGS) "/LIBPATH:$(NGHTTP2_LIB_DIR)" 14913498266Sopenharmony_ci!ELSE 15013498266Sopenharmony_ciNGHTTP2_INC_DIR = $(DEVEL_INCLUDE) 15113498266Sopenharmony_ciNGHTTP2_LIB_DIR = $(DEVEL_LIB) 15213498266Sopenharmony_ci!ENDIF 15313498266Sopenharmony_ci 15413498266Sopenharmony_ci!IF "$(WITH_NGHTTP2)"=="dll" 15513498266Sopenharmony_ciNGHTTP2_CFLAGS = /DUSE_NGHTTP2 /I"$(NGHTTP2_INC_DIR)" 15613498266Sopenharmony_ciNGHTTP2_LIBS = nghttp2.lib 15713498266Sopenharmony_ci!ELSEIF "$(WITH_NGHTTP2)"=="static" 15813498266Sopenharmony_ciNGHTTP2_CFLAGS = /DUSE_NGHTTP2 /DNGHTTP2_STATICLIB /I"$(NGHTTP2_INC_DIR)" 15913498266Sopenharmony_ci!IF EXISTS("$(NGHTTP2_LIB_DIR)\nghttp2_static.lib") 16013498266Sopenharmony_ciNGHTTP2_LIBS = nghttp2_static.lib 16113498266Sopenharmony_ci!ELSE 16213498266Sopenharmony_ciNGHTTP2_LIBS = nghttp2.lib 16313498266Sopenharmony_ci!ENDIF 16413498266Sopenharmony_ci!ENDIF 16513498266Sopenharmony_ci 16613498266Sopenharmony_ci!IFDEF MSH3_PATH 16713498266Sopenharmony_ciMSH3_INC_DIR = $(MSH3_PATH)\include 16813498266Sopenharmony_ciMSH3_LIB_DIR = $(MSH3_PATH)\lib 16913498266Sopenharmony_ciMSH3_LFLAGS = $(MSH3_LFLAGS) "/LIBPATH:$(MSH3_LIB_DIR)" 17013498266Sopenharmony_ci!ELSE 17113498266Sopenharmony_ciMSH3_INC_DIR = $(DEVEL_INCLUDE) 17213498266Sopenharmony_ciMSH3_LIB_DIR = $(DEVEL_LIB) 17313498266Sopenharmony_ci!ENDIF 17413498266Sopenharmony_ci 17513498266Sopenharmony_ci!IF "$(WITH_MSH3)"=="dll" 17613498266Sopenharmony_ciMSH3_CFLAGS = /DUSE_MSH3 /I"$(MSH3_INC_DIR)" 17713498266Sopenharmony_ciMSH3_LIBS = msh3.lib 17813498266Sopenharmony_ci!ELSEIF "$(WITH_MSH3)"=="static" 17913498266Sopenharmony_ciMSH3_CFLAGS = /DUSE_MSH3 /DMSH3_STATICLIB /I"$(MSH3_INC_DIR)" 18013498266Sopenharmony_ci!IF EXISTS("$(NGHTTP2_LIB_DIR)\msh3_static.lib") 18113498266Sopenharmony_ciMSH3_LIBS = msh3_static.lib 18213498266Sopenharmony_ci!ELSE 18313498266Sopenharmony_ciMSH3_LIBS = msh3.lib 18413498266Sopenharmony_ci!ENDIF 18513498266Sopenharmony_ci!ENDIF 18613498266Sopenharmony_ci 18713498266Sopenharmony_ci!IFDEF MBEDTLS_PATH 18813498266Sopenharmony_ciMBEDTLS_INC_DIR = $(MBEDTLS_PATH)\include 18913498266Sopenharmony_ciMBEDTLS_LIB_DIR = $(MBEDTLS_PATH)\lib 19013498266Sopenharmony_ciMBEDTLS_LFLAGS = $(MBEDTLS_LFLAGS) "/LIBPATH:$(MBEDTLS_LIB_DIR)" 19113498266Sopenharmony_ci!ELSE 19213498266Sopenharmony_ciMBEDTLS_INC_DIR = $(DEVEL_INCLUDE) 19313498266Sopenharmony_ciMBEDTLS_LIB_DIR = $(DEVEL_LIB) 19413498266Sopenharmony_ci!ENDIF 19513498266Sopenharmony_ci 19613498266Sopenharmony_ci!IF "$(WITH_MBEDTLS)"=="dll" || "$(WITH_MBEDTLS)"=="static" 19713498266Sopenharmony_ciUSE_MBEDTLS = true 19813498266Sopenharmony_ciMBEDTLS = $(WITH_MBEDTLS) 19913498266Sopenharmony_ciMBEDTLS_CFLAGS = /DUSE_MBEDTLS /I"$(MBEDTLS_INC_DIR)" 20013498266Sopenharmony_ciMBEDTLS_LIBS = mbedtls.lib mbedcrypto.lib mbedx509.lib 20113498266Sopenharmony_ci!ENDIF 20213498266Sopenharmony_ci 20313498266Sopenharmony_ci 20413498266Sopenharmony_ci!IFDEF CARES_PATH 20513498266Sopenharmony_ciCARES_INC_DIR = $(CARES_PATH)\include 20613498266Sopenharmony_ciCARES_LIB_DIR = $(CARES_PATH)\lib 20713498266Sopenharmony_ciCARES_LFLAGS = $(CARES_LFLAGS) "/LIBPATH:$(CARES_LIB_DIR)" 20813498266Sopenharmony_ci!ELSE 20913498266Sopenharmony_ciCARES_INC_DIR = $(DEVEL_INCLUDE)/cares 21013498266Sopenharmony_ciCARES_LIB_DIR = $(DEVEL_LIB) 21113498266Sopenharmony_ci!ENDIF 21213498266Sopenharmony_ci 21313498266Sopenharmony_ci!IF "$(WITH_CARES)"=="dll" 21413498266Sopenharmony_ci!IF "$(DEBUG)"=="yes" 21513498266Sopenharmony_ciCARES_LIBS = caresd.lib 21613498266Sopenharmony_ci!ELSE 21713498266Sopenharmony_ciCARES_LIBS = cares.lib 21813498266Sopenharmony_ci!ENDIF 21913498266Sopenharmony_ciUSE_CARES = true 22013498266Sopenharmony_ciCARES = dll 22113498266Sopenharmony_ci!ELSEIF "$(WITH_CARES)"=="static" 22213498266Sopenharmony_ci!IF "$(DEBUG)"=="yes" 22313498266Sopenharmony_ciCARES_LIBS = libcaresd.lib 22413498266Sopenharmony_ci!ELSE 22513498266Sopenharmony_ciCARES_LIBS = libcares.lib 22613498266Sopenharmony_ci!ENDIF 22713498266Sopenharmony_ciUSE_CARES = true 22813498266Sopenharmony_ciCARES = static 22913498266Sopenharmony_ci!ENDIF 23013498266Sopenharmony_ci 23113498266Sopenharmony_ci!IFDEF USE_CARES 23213498266Sopenharmony_ciCARES_CFLAGS = /DUSE_ARES /I"$(CARES_INC_DIR)" 23313498266Sopenharmony_ci!IF "$(CARES)"=="static" 23413498266Sopenharmony_ciCARES_CFLAGS = $(CARES_CFLAGS) /DCARES_STATICLIB 23513498266Sopenharmony_ci!ENDIF 23613498266Sopenharmony_ci!ENDIF 23713498266Sopenharmony_ci 23813498266Sopenharmony_ci 23913498266Sopenharmony_ci!IFDEF ZLIB_PATH 24013498266Sopenharmony_ciZLIB_INC_DIR = $(ZLIB_PATH)\include 24113498266Sopenharmony_ciZLIB_LIB_DIR = $(ZLIB_PATH)\lib 24213498266Sopenharmony_ciZLIB_LFLAGS = $(ZLIB_LFLAGS) "/LIBPATH:$(ZLIB_LIB_DIR)" 24313498266Sopenharmony_ci!ELSE 24413498266Sopenharmony_ciZLIB_INC_DIR = $(DEVEL_INCLUDE) 24513498266Sopenharmony_ciZLIB_LIB_DIR = $(DEVEL_LIB) 24613498266Sopenharmony_ci!ENDIF 24713498266Sopenharmony_ci 24813498266Sopenharmony_ci# Depending on how zlib is built the libraries have different names, we 24913498266Sopenharmony_ci# try to handle them all. 25013498266Sopenharmony_ci!IF "$(WITH_ZLIB)"=="dll" 25113498266Sopenharmony_ci!IF EXISTS("$(ZLIB_LIB_DIR)\zlibwapi.lib") 25213498266Sopenharmony_ciZLIB_LIBS = zlibwapi.lib 25313498266Sopenharmony_ciADDITIONAL_ZLIB_CFLAGS = /DZLIB_WINAPI 25413498266Sopenharmony_ci!ELSEIF EXISTS("$(ZLIB_LIB_DIR)\zdll.lib") 25513498266Sopenharmony_ciZLIB_LIBS = zdll.lib 25613498266Sopenharmony_ci!ELSE 25713498266Sopenharmony_ciZLIB_LIBS = zlib.lib 25813498266Sopenharmony_ci!ENDIF 25913498266Sopenharmony_ciUSE_ZLIB = true 26013498266Sopenharmony_ciZLIB = dll 26113498266Sopenharmony_ci!ELSEIF "$(WITH_ZLIB)"=="static" 26213498266Sopenharmony_ci!IF EXISTS("$(ZLIB_LIB_DIR)\zlibstat.lib") 26313498266Sopenharmony_ciZLIB_LIBS = zlibstat.lib 26413498266Sopenharmony_ciADDITIONAL_ZLIB_CFLAGS = /DZLIB_WINAPI 26513498266Sopenharmony_ci!ELSEIF EXISTS("$(ZLIB_LIB_DIR)\zlibstatic.lib") 26613498266Sopenharmony_ciZLIB_LIBS = zlibstatic.lib 26713498266Sopenharmony_ci!ELSEIF EXISTS("$(ZLIB_LIB_DIR)\zlib.lib") 26813498266Sopenharmony_ciZLIB_LIBS = zlib.lib 26913498266Sopenharmony_ci!ELSE 27013498266Sopenharmony_ciZLIB_LIBS = zlib_a.lib 27113498266Sopenharmony_ci!ENDIF 27213498266Sopenharmony_ciUSE_ZLIB = true 27313498266Sopenharmony_ciZLIB = static 27413498266Sopenharmony_ci!ENDIF 27513498266Sopenharmony_ci 27613498266Sopenharmony_ci!IFDEF USE_ZLIB 27713498266Sopenharmony_ciZLIB_CFLAGS = /DHAVE_LIBZ $(ADDITIONAL_ZLIB_CFLAGS) /I"$(ZLIB_INC_DIR)" 27813498266Sopenharmony_ci!ENDIF 27913498266Sopenharmony_ci 28013498266Sopenharmony_ci 28113498266Sopenharmony_ci!IFDEF SSH2_PATH 28213498266Sopenharmony_ciSSH2_INC_DIR= $(SSH2_PATH)\include 28313498266Sopenharmony_ciSSH2_LIB_DIR= $(SSH2_PATH)\lib 28413498266Sopenharmony_ciSSH2_LFLAGS = $(SSH2_LFLAGS) "/LIBPATH:$(SSH2_LIB_DIR)" 28513498266Sopenharmony_ci!ELSE 28613498266Sopenharmony_ciSSH2_LIB_DIR= $(DEVEL_LIB) 28713498266Sopenharmony_ciSSH2_INC_DIR= $(DEVEL_INCLUDE)/libssh2 28813498266Sopenharmony_ci!ENDIF 28913498266Sopenharmony_ci 29013498266Sopenharmony_ci!IF "$(WITH_SSH2)"=="dll" 29113498266Sopenharmony_ciSSH2_LIBS = libssh2.lib 29213498266Sopenharmony_ciUSE_SSH2 = true 29313498266Sopenharmony_ciSSH2 = dll 29413498266Sopenharmony_ci!ELSEIF "$(WITH_SSH2)"=="static" 29513498266Sopenharmony_ci# libssh2 NMakefile on Windows at default creates a static library without _a suffix 29613498266Sopenharmony_ci!IF EXISTS("$(SSH2_LIB_DIR)\libssh2.lib") 29713498266Sopenharmony_ciSSH2_LIBS = libssh2.lib 29813498266Sopenharmony_ci!ELSE 29913498266Sopenharmony_ciSSH2_LIBS = libssh2_a.lib 30013498266Sopenharmony_ci!ENDIF 30113498266Sopenharmony_ciWIN_LIBS = $(WIN_LIBS) user32.lib 30213498266Sopenharmony_ciUSE_SSH2 = true 30313498266Sopenharmony_ciSSH2 = static 30413498266Sopenharmony_ci!ENDIF 30513498266Sopenharmony_ci 30613498266Sopenharmony_ci!IFDEF USE_SSH2 30713498266Sopenharmony_ciSSH2_CFLAGS = /DUSE_LIBSSH2 30813498266Sopenharmony_ciSSH2_CFLAGS = $(SSH2_CFLAGS) /I"$(SSH2_INC_DIR)" 30913498266Sopenharmony_ci!ENDIF 31013498266Sopenharmony_ci 31113498266Sopenharmony_ci 31213498266Sopenharmony_ci!IFDEF SSH_PATH 31313498266Sopenharmony_ciSSH_INC_DIR= $(SSH_PATH)\include 31413498266Sopenharmony_ciSSH_LIB_DIR= $(SSH_PATH)\lib 31513498266Sopenharmony_ciSSH_LFLAGS = $(SSH_LFLAGS) "/LIBPATH:$(SSH_LIB_DIR)" 31613498266Sopenharmony_ci!ELSE 31713498266Sopenharmony_ciSSH_LIB_DIR= $(DEVEL_LIB) 31813498266Sopenharmony_ciSSH_INC_DIR= $(DEVEL_INCLUDE) 31913498266Sopenharmony_ci!ENDIF 32013498266Sopenharmony_ci 32113498266Sopenharmony_ci!IF "$(WITH_SSH)"=="dll" || "$(WITH_SSH)"=="static" 32213498266Sopenharmony_ciSSH_LIBS = ssh.lib 32313498266Sopenharmony_ciUSE_SSH = true 32413498266Sopenharmony_ciSSH = $(WITH_SSH) 32513498266Sopenharmony_ci!ENDIF 32613498266Sopenharmony_ci 32713498266Sopenharmony_ci!IFDEF USE_SSH 32813498266Sopenharmony_ciSSH_CFLAGS = /DUSE_LIBSSH 32913498266Sopenharmony_ciSSH_CFLAGS = $(SSH_CFLAGS) /I"$(SSH_INC_DIR)" 33013498266Sopenharmony_ci!ENDIF 33113498266Sopenharmony_ci 33213498266Sopenharmony_ci 33313498266Sopenharmony_ci!IFNDEF USE_IDN 33413498266Sopenharmony_ciUSE_IDN = true 33513498266Sopenharmony_ci!ELSEIF "$(USE_IDN)"=="yes" 33613498266Sopenharmony_ciUSE_IDN = true 33713498266Sopenharmony_ci!ENDIF 33813498266Sopenharmony_ci 33913498266Sopenharmony_ci!IF "$(USE_IDN)"=="true" 34013498266Sopenharmony_ciIDN_CFLAGS = $(IDN_CFLAGS) /DUSE_WIN32_IDN 34113498266Sopenharmony_ciWIN_LIBS = $(WIN_LIBS) Normaliz.lib 34213498266Sopenharmony_ci!ENDIF 34313498266Sopenharmony_ci 34413498266Sopenharmony_ci 34513498266Sopenharmony_ci!IFNDEF USE_IPV6 34613498266Sopenharmony_ciUSE_IPV6 = true 34713498266Sopenharmony_ci!ELSEIF "$(USE_IPV6)"=="yes" 34813498266Sopenharmony_ciUSE_IPV6 = true 34913498266Sopenharmony_ci!ENDIF 35013498266Sopenharmony_ci 35113498266Sopenharmony_ci!IF "$(USE_IPV6)"=="true" 35213498266Sopenharmony_ciIPV6_CFLAGS = $(IPV6_CFLAGS) /DUSE_IPV6 35313498266Sopenharmony_ci!ENDIF 35413498266Sopenharmony_ci 35513498266Sopenharmony_ci 35613498266Sopenharmony_ci!IFNDEF USE_SSPI 35713498266Sopenharmony_ciUSE_SSPI = true 35813498266Sopenharmony_ci!ELSEIF "$(USE_SSPI)"=="yes" 35913498266Sopenharmony_ciUSE_SSPI = true 36013498266Sopenharmony_ci!ENDIF 36113498266Sopenharmony_ci 36213498266Sopenharmony_ci!IF "$(USE_SSPI)"=="true" 36313498266Sopenharmony_ciSSPI_CFLAGS = $(SSPI_CFLAGS) /DUSE_WINDOWS_SSPI 36413498266Sopenharmony_ci!ENDIF 36513498266Sopenharmony_ci 36613498266Sopenharmony_ci 36713498266Sopenharmony_ci!IFNDEF USE_SCHANNEL 36813498266Sopenharmony_ci!IF "$(USE_SSL)"=="true" 36913498266Sopenharmony_ciUSE_SCHANNEL = false 37013498266Sopenharmony_ci!ELSE 37113498266Sopenharmony_ciUSE_SCHANNEL = $(USE_SSPI) 37213498266Sopenharmony_ci!ENDIF 37313498266Sopenharmony_ci!ELSEIF "$(USE_SCHANNEL)"=="yes" 37413498266Sopenharmony_ciUSE_SCHANNEL = true 37513498266Sopenharmony_ci!ENDIF 37613498266Sopenharmony_ci 37713498266Sopenharmony_ci 37813498266Sopenharmony_ci!IF "$(USE_SCHANNEL)"=="true" 37913498266Sopenharmony_ci!IF "$(USE_SSPI)"!="true" 38013498266Sopenharmony_ci!ERROR cannot build with Schannel without SSPI 38113498266Sopenharmony_ci!ENDIF 38213498266Sopenharmony_ciSSPI_CFLAGS = $(SSPI_CFLAGS) /DUSE_SCHANNEL 38313498266Sopenharmony_ciWIN_LIBS = $(WIN_LIBS) Crypt32.lib 38413498266Sopenharmony_ci!ENDIF 38513498266Sopenharmony_ci 38613498266Sopenharmony_ci 38713498266Sopenharmony_ci!IF "$(GEN_PDB)"=="yes" 38813498266Sopenharmony_ciGEN_PDB = true 38913498266Sopenharmony_ci!ENDIF 39013498266Sopenharmony_ci 39113498266Sopenharmony_ci 39213498266Sopenharmony_ci!IFDEF EMBED_MANIFEST 39313498266Sopenharmony_ciMANIFESTTOOL = $(MT) -manifest $(DIRDIST)\bin\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\bin\$(PROGRAM_NAME);1 39413498266Sopenharmony_ci!ELSE 39513498266Sopenharmony_ciCURL_RC_FLAGS = $(CURL_RC_FLAGS) /dCURL_EMBED_MANIFEST 39613498266Sopenharmony_ci!ENDIF 39713498266Sopenharmony_ci 39813498266Sopenharmony_ci# Runtime library configuration 39913498266Sopenharmony_ci!IF "$(RTLIBCFG)"=="static" 40013498266Sopenharmony_ciRTLIB = /MT 40113498266Sopenharmony_ciRTLIB_DEBUG = /MTd 40213498266Sopenharmony_ci!ELSE 40313498266Sopenharmony_ciRTLIB = /MD 40413498266Sopenharmony_ciRTLIB_DEBUG = /MDd 40513498266Sopenharmony_ci!ENDIF 40613498266Sopenharmony_ci 40713498266Sopenharmony_ci!IF "$(MODE)"=="static" 40813498266Sopenharmony_ciTARGET = $(LIB_NAME_STATIC) 40913498266Sopenharmony_ciCURL_LIBCURL_LIBNAME=$(LIB_NAME_STATIC) 41013498266Sopenharmony_ciAS_DLL = false 41113498266Sopenharmony_ciCFGSET = true 41213498266Sopenharmony_ci!ELSEIF "$(MODE)"=="dll" 41313498266Sopenharmony_ciTARGET = $(LIB_NAME_DLL) 41413498266Sopenharmony_ciCURL_LIBCURL_LIBNAME=$(LIB_NAME_IMP) 41513498266Sopenharmony_ciAS_DLL = true 41613498266Sopenharmony_ciCFGSET = true 41713498266Sopenharmony_ci!ENDIF 41813498266Sopenharmony_ci 41913498266Sopenharmony_ci!IF "$(CFGSET)" == "FALSE" 42013498266Sopenharmony_ci!ERROR please choose a valid mode 42113498266Sopenharmony_ci!ENDIF 42213498266Sopenharmony_ci 42313498266Sopenharmony_ci 42413498266Sopenharmony_ci 42513498266Sopenharmony_ci# CURL_XX macros are for the curl.exe command 42613498266Sopenharmony_ci 42713498266Sopenharmony_ci!IF "$(DEBUG)"=="yes" 42813498266Sopenharmony_ciRC_FLAGS = /dDEBUGBUILD=1 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc 42913498266Sopenharmony_ciCURL_CC = $(CC_DEBUG) $(RTLIB_DEBUG) 43013498266Sopenharmony_ciCURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc 43113498266Sopenharmony_ci!ELSE 43213498266Sopenharmony_ciRC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc 43313498266Sopenharmony_ciCURL_CC = $(CC_NODEBUG) $(RTLIB) 43413498266Sopenharmony_ciCURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc 43513498266Sopenharmony_ci!ENDIF 43613498266Sopenharmony_ci 43713498266Sopenharmony_ci!IF "$(AS_DLL)" == "true" 43813498266Sopenharmony_ci 43913498266Sopenharmony_ciLNK = $(LNKDLL) $(LFLAGS) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET) 44013498266Sopenharmony_ci!IF "$(DEBUG)"=="yes" 44113498266Sopenharmony_ciTARGET = $(LIB_NAME_DLL_DEBUG) 44213498266Sopenharmony_ciLNK = $(LNK) /DEBUG /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP_DEBUG) 44313498266Sopenharmony_ciPDB = $(PDB_NAME_DLL_DEBUG) 44413498266Sopenharmony_ciCURL_LIBS = /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP_DEBUG) 44513498266Sopenharmony_ci!ELSE 44613498266Sopenharmony_ciTARGET = $(LIB_NAME_DLL) 44713498266Sopenharmony_ciLNK = $(LNK) /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP) 44813498266Sopenharmony_ciPDB = $(PDB_NAME_DLL) 44913498266Sopenharmony_ciCURL_LIBS = /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP) 45013498266Sopenharmony_ci!ENDIF 45113498266Sopenharmony_ciRESOURCE = $(LIB_DIROBJ)\libcurl.res 45213498266Sopenharmony_ci 45313498266Sopenharmony_ci# AS_DLL 45413498266Sopenharmony_ci!ELSE 45513498266Sopenharmony_ci 45613498266Sopenharmony_ci!IF "$(DEBUG)"=="yes" 45713498266Sopenharmony_ciTARGET = $(LIB_NAME_STATIC_DEBUG) 45813498266Sopenharmony_ciPDB = $(PDB_NAME_STATIC_DEBUG) 45913498266Sopenharmony_ci!ELSE 46013498266Sopenharmony_ciTARGET = $(LIB_NAME_STATIC) 46113498266Sopenharmony_ciPDB = $(PDB_NAME_STATIC) 46213498266Sopenharmony_ci!ENDIF 46313498266Sopenharmony_ciLNK = $(LNKLIB) /out:$(LIB_DIROBJ)\$(TARGET) 46413498266Sopenharmony_ciCURL_CC = $(CURL_CC) $(CFLAGS_LIBCURL_STATIC) 46513498266Sopenharmony_ci 46613498266Sopenharmony_ci# AS_DLL 46713498266Sopenharmony_ci!ENDIF 46813498266Sopenharmony_ci 46913498266Sopenharmony_ci!IF "$(USE_SSL)"=="true" 47013498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(SSL_CFLAGS) 47113498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(SSL_LIBS) 47213498266Sopenharmony_ci!ENDIF 47313498266Sopenharmony_ci 47413498266Sopenharmony_ci!IF "$(USE_MBEDTLS)"=="true" 47513498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(MBEDTLS_CFLAGS) 47613498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(MBEDTLS_LFLAGS) $(MBEDTLS_LIBS) 47713498266Sopenharmony_ci!ENDIF 47813498266Sopenharmony_ci 47913498266Sopenharmony_ci!IF "$(USE_CARES)"=="true" 48013498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(CARES_CFLAGS) 48113498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(CARES_LFLAGS) $(CARES_LIBS) 48213498266Sopenharmony_ci!ENDIF 48313498266Sopenharmony_ci 48413498266Sopenharmony_ci!IF "$(USE_ZLIB)"=="true" 48513498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) 48613498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) $(ZLIB_LIBS) 48713498266Sopenharmony_ci!ENDIF 48813498266Sopenharmony_ci 48913498266Sopenharmony_ci!IF "$(USE_SSH2)"=="true" 49013498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(SSH2_CFLAGS) 49113498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(SSH2_LFLAGS) $(SSH2_LIBS) 49213498266Sopenharmony_ci!ENDIF 49313498266Sopenharmony_ci 49413498266Sopenharmony_ci!IF "$(USE_SSH)"=="true" 49513498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(SSH_CFLAGS) 49613498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(SSH_LFLAGS) $(SSH_LIBS) 49713498266Sopenharmony_ci!ENDIF 49813498266Sopenharmony_ci 49913498266Sopenharmony_ci!IF "$(USE_IDN)"=="true" 50013498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(IDN_CFLAGS) 50113498266Sopenharmony_ci!ENDIF 50213498266Sopenharmony_ci 50313498266Sopenharmony_ci!IF "$(USE_IPV6)"=="true" 50413498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(IPV6_CFLAGS) 50513498266Sopenharmony_ci!ENDIF 50613498266Sopenharmony_ci 50713498266Sopenharmony_ci!IF "$(USE_SSPI)"=="true" 50813498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(SSPI_CFLAGS) 50913498266Sopenharmony_ci!ENDIF 51013498266Sopenharmony_ci 51113498266Sopenharmony_ci!IF "$(USE_NGHTTP2)"=="true" 51213498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(NGHTTP2_CFLAGS) 51313498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(NGHTTP2_LFLAGS) $(NGHTTP2_LIBS) 51413498266Sopenharmony_ci!ENDIF 51513498266Sopenharmony_ci 51613498266Sopenharmony_ci!IF "$(USE_MSH3)"=="true" 51713498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(MSH3_CFLAGS) 51813498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(MSH3_LFLAGS) $(MSH3_LIBS) 51913498266Sopenharmony_ci!ENDIF 52013498266Sopenharmony_ci 52113498266Sopenharmony_ci!IF "$(GEN_PDB)"=="true" 52213498266Sopenharmony_ciCFLAGS = $(CFLAGS) $(CFLAGS_PDB) /Fd"$(LIB_DIROBJ)\$(PDB)" 52313498266Sopenharmony_ciLFLAGS = $(LFLAGS) $(LFLAGS_PDB) 52413498266Sopenharmony_ci!ENDIF 52513498266Sopenharmony_ci 52613498266Sopenharmony_ci!IF ( "$(USE_SSL)"=="true" && "$(USE_SCHANNEL)"=="true" ) \ 52713498266Sopenharmony_ci || ( "$(USE_SSL)"=="true" && "$(USE_MBEDTLS)"=="true" ) \ 52813498266Sopenharmony_ci || ( "$(USE_MBEDTLS)"=="true" && "$(USE_SCHANNEL)"=="true" ) 52913498266Sopenharmony_ciCFLAGS = $(CFLAGS) /DCURL_WITH_MULTI_SSL 53013498266Sopenharmony_ci!ENDIF 53113498266Sopenharmony_ci 53213498266Sopenharmony_ci!IF "$(USE_UNICODE)"=="true" 53313498266Sopenharmony_ciCFLAGS = $(CFLAGS) /DUNICODE /D_UNICODE 53413498266Sopenharmony_ci!ENDIF 53513498266Sopenharmony_ci 53613498266Sopenharmony_ciLIB_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-lib 53713498266Sopenharmony_ciCURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl 53813498266Sopenharmony_ci 53913498266Sopenharmony_ci!IFDEF WITH_PREFIX 54013498266Sopenharmony_ciDIRDIST = $(WITH_PREFIX) 54113498266Sopenharmony_ci!ELSE 54213498266Sopenharmony_ciDIRDIST = ..\builds\$(CONFIG_NAME_LIB)\ 54313498266Sopenharmony_ci!ENDIF 54413498266Sopenharmony_ci 54513498266Sopenharmony_ci# 54613498266Sopenharmony_ci# curl.exe 54713498266Sopenharmony_ci# 54813498266Sopenharmony_ciCURL_LINK = link.exe /incremental:no /libpath:"$(DIRDIST)\lib" 54913498266Sopenharmony_ci 55013498266Sopenharmony_ci!IF "$(CFGSET)" != "FALSE" 55113498266Sopenharmony_ci# A mode was provided, so the library can be built. 55213498266Sopenharmony_ci# 55313498266Sopenharmony_ci!include CURL_OBJS.inc 55413498266Sopenharmony_ci!include LIBCURL_OBJS.inc 55513498266Sopenharmony_ci 55613498266Sopenharmony_ci!IF "$(AS_DLL)" == "true" 55713498266Sopenharmony_ciLIB_OBJS = $(LIBCURL_OBJS) $(RESOURCE) 55813498266Sopenharmony_ci!ELSE 55913498266Sopenharmony_ciLIB_OBJS = $(LIBCURL_OBJS) 56013498266Sopenharmony_ci!ENDIF 56113498266Sopenharmony_ci 56213498266Sopenharmony_ciEXE_OBJS = $(CURL_OBJS) $(CURL_DIROBJ)\curl.res 56313498266Sopenharmony_ci 56413498266Sopenharmony_ciall : $(TARGET) $(PROGRAM_NAME) 56513498266Sopenharmony_ci 56613498266Sopenharmony_cipackage: $(TARGET) 56713498266Sopenharmony_ci @cd $(DIRDIST) 56813498266Sopenharmony_ci @-$(ZIP) -9 -q -r ..\$(CONFIG_NAME_LIB).zip .>nul 2<&1 56913498266Sopenharmony_ci @cd $(MAKEDIR) 57013498266Sopenharmony_ci 57113498266Sopenharmony_ci$(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DIRDIST) 57213498266Sopenharmony_ci @echo Using SSL: $(USE_SSL) 57313498266Sopenharmony_ci @echo Using NGHTTP2: $(USE_NGHTTP2) 57413498266Sopenharmony_ci @echo Using MSH3: $(USE_MSH3) 57513498266Sopenharmony_ci @echo Using c-ares: $(USE_CARES) 57613498266Sopenharmony_ci @echo Using SSH2: $(USE_SSH2) 57713498266Sopenharmony_ci @echo Using SSH: $(USE_SSH) 57813498266Sopenharmony_ci @echo Using ZLIB: $(USE_ZLIB) 57913498266Sopenharmony_ci @echo Using IDN: $(USE_IDN) 58013498266Sopenharmony_ci @echo Using IPv6: $(USE_IPV6) 58113498266Sopenharmony_ci @echo Using SSPI: $(USE_SSPI) 58213498266Sopenharmony_ci @echo Using Schannel: $(USE_SCHANNEL) 58313498266Sopenharmony_ci @echo CFLAGS: $(CFLAGS) 58413498266Sopenharmony_ci @echo LFLAGS: $(LFLAGS) 58513498266Sopenharmony_ci @echo GenPDB: $(GEN_PDB) 58613498266Sopenharmony_ci @echo Debug: $(DEBUG) 58713498266Sopenharmony_ci @echo Machine: $(MACHINE) 58813498266Sopenharmony_ci $(LNK) $(LIB_OBJS) 58913498266Sopenharmony_ci @echo Copying libs... 59013498266Sopenharmony_ci @if exist $(LIB_DIROBJ)\$(LIB_NAME_DLL) copy $(LIB_DIROBJ)\$(LIB_NAME_DLL) $(DIRDIST)\bin\ /y >nul 2<&1 59113498266Sopenharmony_ci @if exist $(LIB_DIROBJ)\$(LIB_NAME_STATIC) copy $(LIB_DIROBJ)\$(LIB_NAME_STATIC) $(DIRDIST)\lib\ /y >nul 2<&1 59213498266Sopenharmony_ci @if exist $(LIB_DIROBJ)\$(LIB_NAME_DLL_DEBUG) copy $(LIB_DIROBJ)\$(LIB_NAME_DLL_DEBUG) $(DIRDIST)\bin\ /y >nul 2<&1 59313498266Sopenharmony_ci @if exist $(LIB_DIROBJ)\$(LIB_NAME_STATIC_DEBUG) copy $(LIB_DIROBJ)\$(LIB_NAME_STATIC_DEBUG) $(DIRDIST)\lib\ /y >nul 2<&1 59413498266Sopenharmony_ci @if exist $(LIB_DIROBJ)\$(LIB_NAME_IMP) copy $(LIB_DIROBJ)\$(LIB_NAME_IMP) $(DIRDIST)\lib\ /y >nul 2<&1 59513498266Sopenharmony_ci @if exist $(LIB_DIROBJ)\$(LIB_NAME_IMP_DEBUG) copy $(LIB_DIROBJ)\$(LIB_NAME_IMP_DEBUG) $(DIRDIST)\lib >nul 2<&1 59613498266Sopenharmony_ci @-copy $(LIB_DIROBJ)\*.exp $(DIRDIST)\lib /y >nul 2<&1 59713498266Sopenharmony_ci @-copy $(LIB_DIROBJ)\*.pdb $(DIRDIST)\lib /y >nul 2<&1 59813498266Sopenharmony_ci @-copy ..\include\curl\*.h $(DIRDIST)\include\curl\ /y >nul 2<&1 59913498266Sopenharmony_ci 60013498266Sopenharmony_ci$(LIB_OBJS): $(LIB_DIROBJ) $(DIRDIST) 60113498266Sopenharmony_ci 60213498266Sopenharmony_ci$(DIRDIST): 60313498266Sopenharmony_ci @if not exist "$(DIRDIST)\bin" mkdir $(DIRDIST)\bin 60413498266Sopenharmony_ci @if not exist "$(DIRDIST)\include" mkdir $(DIRDIST)\include 60513498266Sopenharmony_ci @if not exist "$(DIRDIST)\include\curl" mkdir $(DIRDIST)\include\curl 60613498266Sopenharmony_ci @if not exist "$(DIRDIST)\lib" mkdir $(DIRDIST)\lib 60713498266Sopenharmony_ci 60813498266Sopenharmony_ci$(LIB_DIROBJ): 60913498266Sopenharmony_ci @if not exist "$(LIB_DIROBJ)" mkdir $(LIB_DIROBJ) 61013498266Sopenharmony_ci @if not exist "$(LIB_DIROBJ)\vauth" mkdir $(LIB_DIROBJ)\vauth 61113498266Sopenharmony_ci @if not exist "$(LIB_DIROBJ)\vtls" mkdir $(LIB_DIROBJ)\vtls 61213498266Sopenharmony_ci @if not exist "$(LIB_DIROBJ)\vssh" mkdir $(LIB_DIROBJ)\vssh 61313498266Sopenharmony_ci @if not exist "$(LIB_DIROBJ)\vquic" mkdir $(LIB_DIROBJ)\vquic 61413498266Sopenharmony_ci 61513498266Sopenharmony_ci$(CURL_DIROBJ): 61613498266Sopenharmony_ci @if not exist "$(CURL_DIROBJ)" mkdir $(CURL_DIROBJ) 61713498266Sopenharmony_ci# we need a lib dir for the portability functions from libcurl 61813498266Sopenharmony_ci# we use the .c directly here 61913498266Sopenharmony_ci @if not exist "$(CURL_DIROBJ)" mkdir $(CURL_DIROBJ)\lib 62013498266Sopenharmony_ci 62113498266Sopenharmony_ci.SUFFIXES: .c .obj .res 62213498266Sopenharmony_ci 62313498266Sopenharmony_ci{$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj:: 62413498266Sopenharmony_ci $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\\" $< 62513498266Sopenharmony_ci 62613498266Sopenharmony_ci{$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj:: 62713498266Sopenharmony_ci $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vauth\\" $< 62813498266Sopenharmony_ci 62913498266Sopenharmony_ci{$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj:: 63013498266Sopenharmony_ci $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vtls\\" $< 63113498266Sopenharmony_ci 63213498266Sopenharmony_ci{$(LIBCURL_SRC_DIR)\vssh\}.c{$(LIB_DIROBJ)\vssh\}.obj:: 63313498266Sopenharmony_ci $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vssh\\" $< 63413498266Sopenharmony_ci 63513498266Sopenharmony_ci{$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj:: 63613498266Sopenharmony_ci $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vquic\\" $< 63713498266Sopenharmony_ci 63813498266Sopenharmony_ci$(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc 63913498266Sopenharmony_ci $(RC) $(RC_FLAGS) 64013498266Sopenharmony_ci 64113498266Sopenharmony_ci# 64213498266Sopenharmony_ci# curl.exe 64313498266Sopenharmony_ci# 64413498266Sopenharmony_ci 64513498266Sopenharmony_ci 64613498266Sopenharmony_ci!IF "$(MODE)"=="static" 64713498266Sopenharmony_ci!IF "$(DEBUG)"=="yes" 64813498266Sopenharmony_ciCURL_LIBCURL_LIBNAME=$(LIB_NAME_STATIC_DEBUG) 64913498266Sopenharmony_ci!ELSE 65013498266Sopenharmony_ciCURL_LIBCURL_LIBNAME=$(LIB_NAME_STATIC) 65113498266Sopenharmony_ci!ENDIF 65213498266Sopenharmony_ci!ELSEIF "$(MODE)"=="dll" 65313498266Sopenharmony_ci!IF "$(DEBUG)"=="yes" 65413498266Sopenharmony_ciCURL_LIBCURL_LIBNAME=$(LIB_NAME_IMP_DEBUG) 65513498266Sopenharmony_ci!ELSE 65613498266Sopenharmony_ciCURL_LIBCURL_LIBNAME=$(LIB_NAME_IMP) 65713498266Sopenharmony_ci!ENDIF 65813498266Sopenharmony_ci!ENDIF 65913498266Sopenharmony_ci 66013498266Sopenharmony_ciCURL_FROM_LIBCURL=$(CURL_DIROBJ)\tool_hugehelp.obj \ 66113498266Sopenharmony_ci $(CURL_DIROBJ)\nonblock.obj \ 66213498266Sopenharmony_ci $(CURL_DIROBJ)\strtoofft.obj \ 66313498266Sopenharmony_ci $(CURL_DIROBJ)\warnless.obj \ 66413498266Sopenharmony_ci $(CURL_DIROBJ)\curl_multibyte.obj \ 66513498266Sopenharmony_ci $(CURL_DIROBJ)\version_win32.obj \ 66613498266Sopenharmony_ci $(CURL_DIROBJ)\dynbuf.obj \ 66713498266Sopenharmony_ci $(CURL_DIROBJ)\base64.obj 66813498266Sopenharmony_ci 66913498266Sopenharmony_ci$(PROGRAM_NAME): $(CURL_DIROBJ) $(CURL_FROM_LIBCURL) $(EXE_OBJS) 67013498266Sopenharmony_ci $(CURL_LINK) $(CURL_LFLAGS) $(CURL_LIBCURL_LIBNAME) $(WIN_LIBS) $(CURL_FROM_LIBCURL) $(EXE_OBJS) 67113498266Sopenharmony_ci $(MANIFESTTOOL) 67213498266Sopenharmony_ci 67313498266Sopenharmony_ci{$(CURL_SRC_DIR)\}.c{$(CURL_DIROBJ)\}.obj:: 67413498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Fo"$(CURL_DIROBJ)\\" $< 67513498266Sopenharmony_ci 67613498266Sopenharmony_ci$(CURL_DIROBJ)\tool_hugehelp.obj: $(CURL_SRC_DIR)\tool_hugehelp.c 67713498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Zm200 /Fo"$@" $(CURL_SRC_DIR)\tool_hugehelp.c 67813498266Sopenharmony_ci$(CURL_DIROBJ)\nonblock.obj: ../lib/nonblock.c 67913498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/nonblock.c 68013498266Sopenharmony_ci$(CURL_DIROBJ)\strtoofft.obj: ../lib/strtoofft.c 68113498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/strtoofft.c 68213498266Sopenharmony_ci$(CURL_DIROBJ)\warnless.obj: ../lib/warnless.c 68313498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/warnless.c 68413498266Sopenharmony_ci$(CURL_DIROBJ)\curl_multibyte.obj: ../lib/curl_multibyte.c 68513498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/curl_multibyte.c 68613498266Sopenharmony_ci$(CURL_DIROBJ)\version_win32.obj: ../lib/version_win32.c 68713498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/version_win32.c 68813498266Sopenharmony_ci$(CURL_DIROBJ)\dynbuf.obj: ../lib/dynbuf.c 68913498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/dynbuf.c 69013498266Sopenharmony_ci$(CURL_DIROBJ)\base64.obj: ../lib/base64.c 69113498266Sopenharmony_ci $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/base64.c 69213498266Sopenharmony_ci$(CURL_DIROBJ)\curl.res: $(CURL_SRC_DIR)\curl.rc 69313498266Sopenharmony_ci rc $(CURL_RC_FLAGS) 69413498266Sopenharmony_ci 69513498266Sopenharmony_ci!ENDIF # End of case where a config was provided. 69613498266Sopenharmony_ci 69713498266Sopenharmony_ci# Makefile.vc's clean removes (LIB)CURL_DIROBJ and DIRDIST dirs then calls 69813498266Sopenharmony_ci# this clean. Note those are the original directories we control and not the 69913498266Sopenharmony_ci# directories possibly modified by this makefile to point to user-specified 70013498266Sopenharmony_ci# directories. 70113498266Sopenharmony_ci# For example, don't remove DIRDIST here since it may contain user files if it 70213498266Sopenharmony_ci# has been changed by WITH_PREFIX to a different output dir (eg C:\usr\local). 70313498266Sopenharmony_ciclean: 70413498266Sopenharmony_ci @-erase /s *.dll 2> NUL 70513498266Sopenharmony_ci @-erase /s *.exp 2> NUL 70613498266Sopenharmony_ci @-erase /s *.idb 2> NUL 70713498266Sopenharmony_ci @-erase /s *.lib 2> NUL 70813498266Sopenharmony_ci @-erase /s *.obj 2> NUL 70913498266Sopenharmony_ci @-erase /s *.pch 2> NUL 71013498266Sopenharmony_ci @-erase /s *.pdb 2> NUL 71113498266Sopenharmony_ci @-erase /s *.res 2> NUL 712