#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 2005 - 2009, Gisle Vanem . # Copyright (C) 2005 - 2017, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is # furnished to do so, under the terms of the COPYING file. # # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # #*************************************************************************** # # Watcom / OpenWatcom / Win32 makefile for libcurl. # .ERASE !if $(__VERSION__) < 1280 !message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !message ! This Open Watcom version is too old and is no longer supported ! !message ! Please download latest version from www.openwatcom.org ! !message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !error Unsupported version of Open Watcom !endif !ifndef %watcom !error WATCOM environment variable not set! !endif # In order to process Makefile.inc wmake must be called with -u switch! !ifndef %MAKEFLAGS !error You MUST call wmake with the -u switch! !endif !ifdef %libname LIBNAME = $(%libname) !else LIBNAME = libcurl !endif TARGETS = $(LIBNAME).dll $(LIBNAME).lib CC = wcc386 LD = wlink AR = wlib RC = wrc !ifdef __LOADDLL__ ! loaddll wcc386 wccd386 ! loaddll wpp386 wppd386 ! loaddll wlib wlibd ! loaddll wlink wlinkd !endif !ifdef __LINUX__ CP = cp MD = mkdir -p !else CP = copy 2>NUL MD = mkdir !endif !if $(__VERSION__) > 1290 RD = rm -rf !else ifdef __UNIX__ RD = rm -rf !else RD = rmdir /q /s 2>NUL !endif SYS_INCL = -I"$(%watcom)/h/nt" -I"$(%watcom)/h" CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm & -wcd=201 -bt=nt -d+ -dWIN32 & -dBUILDING_LIBCURL -I. -I"../include" $(SYS_INCL) !ifdef %debug DEBUG = -dDEBUG=1 -dDEBUGBUILD CFLAGS += -d3 $(DEBUG) !else CFLAGS += -d0 !endif !ifdef %use_ipv6 CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6 !endif !ifdef %use_sspi CFLAGS += -dUSE_WINDOWS_SSPI !endif !ifdef %use_winssl CFLAGS += -dUSE_WINDOWS_SSPI CFLAGS += -DUSE_SCHANNEL !endif !ifdef %use_winidn CFLAGS += -dWINVER=0x0600 -dUSE_WIN32_IDN ! if $(__VERSION__) <= 1290 CFLAGS += -dWANT_IDN_PROTOTYPES ! endif !endif # # Change to suite. # !ifdef %zlib_root ZLIB_ROOT = $(%zlib_root) !else ZLIB_ROOT = ../../zlib-1.2.8 !endif !ifdef %libssh2_root LIBSSH2_ROOT = $(%libssh2_root) !else LIBSSH2_ROOT = ../../libssh2-1.5.0 !endif !ifdef %librtmp_root LIBRTMP_ROOT = $(%librtmp_root) !else LIBRTMP_ROOT = ../../rtmpdump-2.3 !endif !ifdef %openssl_root OPENSSL_ROOT = $(%openssl_root) !else OPENSSL_ROOT = ../../openssl-1.0.2a !endif !ifdef %ares_root ARES_ROOT = $(%ares_root) !else ARES_ROOT = ../ares !endif !ifdef %use_zlib CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I"$(ZLIB_ROOT)" !endif !ifdef %use_rtmp CFLAGS += -dUSE_LIBRTMP -I"$(LIBRTMP_ROOT)" !endif !ifdef %use_ssh2 CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H -I"$(LIBSSH2_ROOT)/include" -I"$(LIBSSH2_ROOT)/win32" !endif !ifdef %use_ssl CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I"$(OPENSSL_ROOT)/inc32" !endif !ifdef %use_ares CFLAGS += -dUSE_ARES -I"$(ARES_ROOT)" !endif !ifdef %use_watt32 CFLAGS += -dUSE_WATT32 -I"$(%watt_root)/inc" !endif OBJ_BASE = WC_Win32.obj !if $(__VERSION__) > 1290 OBJ_STAT = $(OBJ_BASE)/stat OBJ_DYN = $(OBJ_BASE)/dyn !else ifdef __UNIX__ OBJ_STAT = $(OBJ_BASE)/stat OBJ_DYN = $(OBJ_BASE)/dyn !else OBJ_STAT = $(OBJ_BASE)\stat OBJ_DYN = $(OBJ_BASE)\dyn !endif LINK_ARG = $(OBJ_DYN)/wlink.arg LIB_ARG = $(OBJ_STAT)/wlib.arg !include Makefile.inc OBJS1 = ./$(CSOURCES:.c=.obj) OBJS2 = $(OBJS1:vtls/=) OBJS3 = $(OBJS2:vauth/=) OBJS4 = $(OBJS3: = ./) OBJS_STAT = $(OBJS4:./=$(OBJ_STAT)/) OBJS_DYN = $(OBJS4:./=$(OBJ_DYN)/) RESOURCE = $(OBJ_DYN)/libcurl.res DIRS = $(OBJ_BASE) $(OBJ_BASE)/stat $(OBJ_BASE)/dyn .c : vauth vtls all: $(DIRS) $(TARGETS) .SYMBOLIC @echo Welcome to libcurl clean: .SYMBOLIC -rm -f $(OBJS_STAT) -rm -f $(OBJS_DYN) -rm -f $(RESOURCE) $(LINK_ARG) $(LIB_ARG) vclean distclean: clean .SYMBOLIC -rm -f $(TARGETS) $(LIBNAME).map $(LIBNAME).sym -$(RD) $(OBJ_STAT) -$(RD) $(OBJ_DYN) -$(RD) $(OBJ_BASE) $(DIRS): -$(MD) $^@ $(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(__MAKEFILES__) %create $(LINK_ARG) @%append $(LINK_ARG) system nt dll !ifdef %debug @%append $(LINK_ARG) debug all @%append $(LINK_ARG) option symfile !endif @%append $(LINK_ARG) option quiet, caseexact, eliminate @%append $(LINK_ARG) option map=$(OBJ_DYN)/$(LIBNAME).map @%append $(LINK_ARG) option implib=$(LIBNAME)_imp.lib @%append $(LINK_ARG) option res=$(RESOURCE) @for %f in ($(OBJS_DYN)) do @%append $(LINK_ARG) file %f @%append $(LINK_ARG) library wldap32.lib !ifdef %use_watt32 @%append $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib' !else @%append $(LINK_ARG) library ws2_32.lib !endif !ifdef %use_zlib @%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib' !endif !ifdef %use_rtmp @%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib' !endif !ifdef %use_ssh2 @%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib' !endif !ifdef %use_ssl @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/libeay32.lib' @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/ssleay32.lib' !endif !ifdef %use_ares @%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib' !endif !ifdef %use_winidn ! if $(__VERSION__) > 1290 @%append $(LINK_ARG) library normaliz.lib ! else @%append $(LINK_ARG) import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii' @%append $(LINK_ARG) import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode' ! endif !endif $(LD) name $^@ @$(LINK_ARG) $(LIBNAME).lib: $(OBJS_STAT) %create $(LIB_ARG) @for %f in ($<) do @%append $(LIB_ARG) +- %f $(AR) -q -b -c -pa $^@ @$(LIB_ARG) $(RESOURCE): libcurl.rc $(RC) $(DEBUG) -q -r -zm -bt=nt -I"../include" $(SYS_INCL) $[@ -fo=$^@ .c{$(OBJ_DYN)}.obj: $(CC) $(CFLAGS) -bd -br $[@ -fo=$^@ .c{$(OBJ_STAT)}.obj: $(CC) $(CFLAGS) -DCURL_STATICLIB $[@ -fo=$^@