1 #*************************************************************************** 2 # _ _ ____ _ 3 # Project ___| | | | _ \| | 4 # / __| | | | |_) | | 5 # | (__| |_| | _ <| |___ 6 # \___|\___/|_| \_\_____| 7 # 8 # Copyright (C) 2005 - 2008, Gisle Vanem <gvanem (a] yahoo.no>. 9 # Copyright (C) 2005 - 2015, Daniel Stenberg, <daniel (a] haxx.se>, et al. 10 # 11 # This software is licensed as described in the file COPYING, which 12 # you should have received as part of this distribution. The terms 13 # are also available at https://curl.haxx.se/docs/copyright.html. 14 # 15 # You may opt to use, copy, modify, merge, publish, distribute and/or sell 16 # copies of the Software, and permit persons to whom the Software is 17 # furnished to do so, under the terms of the COPYING file. 18 # 19 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 20 # KIND, either express or implied. 21 # 22 #*************************************************************************** 23 24 # 25 # Watcom / OpenWatcom / Win32 makefile for cURL. 26 # 27 28 .ERASE 29 30 !if $(__VERSION__) < 1280 31 !message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 32 !message ! This Open Watcom version is too old and is no longer supported ! 33 !message ! Please download latest version from www.openwatcom.org ! 34 !message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 35 !error Unsupported version of Open Watcom 36 !endif 37 38 !ifndef %watcom 39 !error WATCOM environment variable not set! 40 !endif 41 42 # In order to process Makefile.inc wmake must be called with -u switch! 43 !ifndef %MAKEFLAGS 44 !error You MUST call wmake with the -u switch! 45 !endif 46 47 !ifdef %libname 48 LIBNAME = $(%libname) 49 !else 50 LIBNAME = libcurl 51 !endif 52 53 TARGETS = curl.exe 54 55 CC = wcc386 56 LD = wlink 57 AR = wlib 58 RC = wrc 59 60 !ifdef __LOADDLL__ 61 ! loaddll wcc386 wccd386 62 ! loaddll wpp386 wppd386 63 ! loaddll wlib wlibd 64 ! loaddll wlink wlinkd 65 !endif 66 67 !ifdef __UNIX__ 68 CP = cp 69 MD = mkdir -p 70 !else 71 CP = copy 2>NUL 72 MD = mkdir 73 !endif 74 !if $(__VERSION__) > 1290 75 RD = rm -rf 76 !else ifdef __UNIX__ 77 RD = rm -rf 78 !else 79 RD = rmdir /q /s 2>NUL 80 !endif 81 82 SYS_INCL = -I"$(%watcom)/h/nt" -I"$(%watcom)/h" 83 84 CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm & 85 -wcd=201 -bt=nt -bc -d+ -dWIN32 -dHAVE_STRTOLL & 86 -I"../include" -I"../lib" $(SYS_INCL) 87 88 !ifdef %debug 89 DEBUG = -dDEBUG=1 -dDEBUGBUILD 90 CFLAGS += -d3 $(DEBUG) 91 !else 92 CFLAGS += -d0 93 !endif 94 95 !ifdef %use_ipv6 96 CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6 97 !endif 98 99 !ifdef %use_ssl 100 CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_OPENSSL -I"$(OPENSSL_ROOT)/inc32" 101 !endif 102 103 !ifdef %curl_static 104 CFLAGS += -DCURL_STATICLIB 105 !else 106 CFLAGS += -br 107 !endif 108 109 # 110 # Change to suite. 111 # 112 !ifdef %zlib_root 113 ZLIB_ROOT = $(%zlib_root) 114 !else 115 ZLIB_ROOT = ../../zlib-1.2.8 116 !endif 117 118 !ifdef %libssh2_root 119 LIBSSH2_ROOT = $(%libssh2_root) 120 !else 121 LIBSSH2_ROOT = ../../libssh2-1.5.0 122 !endif 123 124 !ifdef %librtmp_root 125 LIBRTMP_ROOT = $(%librtmp_root) 126 !else 127 LIBRTMP_ROOT = ../../rtmpdump-2.3 128 !endif 129 130 !ifdef %openssl_root 131 OPENSSL_ROOT = $(%openssl_root) 132 !else 133 OPENSSL_ROOT = ../../openssl-1.0.2a 134 !endif 135 136 !ifdef %ares_root 137 ARES_ROOT = $(%ares_root) 138 !else 139 ARES_ROOT = ../ares 140 !endif 141 142 OBJ_DIR = WC_Win32.obj 143 LINK_ARG = $(OBJ_DIR)/wlink.arg 144 145 !include Makefile.inc 146 147 OBJS1 = $(OBJ_DIR)/$(CURL_CFILES) 148 !ifndef %curl_static 149 OBJS1 += $(CURLX_CFILES:../lib/=) 150 !endif 151 OBJS2 = $(OBJS1: = $(OBJ_DIR)/) 152 OBJS = $(OBJS2:.c=.obj) 153 154 RESOURCE = $(OBJ_DIR)/curl.res 155 156 DIRS = $(OBJ_DIR) 157 158 all: tool_hugehelp.c $(DIRS) $(TARGETS) .SYMBOLIC 159 @echo Welcome to cURL 160 161 clean: .SYMBOLIC 162 -rm -f $(OBJS) 163 -rm -f $(RESOURCE) $(LINK_ARG) 164 165 vclean distclean: clean .SYMBOLIC 166 -$(RD) $(OBJ_DIR) 167 -rm -f curl.exe curl.sym tool_hugehelp.c 168 169 tool_hugehelp.c: tool_hugehelp.c.cvs 170 $(CP) $[@ $^@ 171 172 tool_hugehelp.c.cvs: .EXISTSONLY 173 $(CP) tool_hugehelp.c $^@ 174 175 $(DIRS): 176 -$(MD) $^@ 177 178 curl.exe: $(OBJS) $(RESOURCE) 179 %create $(LINK_ARG) 180 @%append $(LINK_ARG) system nt 181 !ifdef %debug 182 @%append $(LINK_ARG) debug all 183 @%append $(LINK_ARG) option symfile 184 !endif 185 @%append $(LINK_ARG) option quiet, caseexact, eliminate 186 @%append $(LINK_ARG) option map=$(OBJ_DIR)/$^&.map 187 @%append $(LINK_ARG) option res=$(RESOURCE) 188 @%append $(LINK_ARG) file { $(OBJS) } 189 !ifndef %curl_static 190 @%append $(LINK_ARG) library ../lib/$(LIBNAME)_imp.lib 191 !else 192 @%append $(LINK_ARG) library ../lib/$(LIBNAME).lib 193 @%append $(LINK_ARG) library wldap32.lib 194 ! ifdef %use_zlib 195 @%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib' 196 ! endif 197 ! ifdef %use_rtmp 198 @%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib' 199 @%append $(LINK_ARG) library winmm.lib 200 ! endif 201 ! ifdef %use_ssh2 202 @%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib' 203 ! endif 204 ! ifdef %use_ssl 205 @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/libeay32.lib' 206 @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/ssleay32.lib' 207 ! endif 208 ! ifdef %use_ares 209 @%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib' 210 ! endif 211 ! ifdef %use_winidn 212 ! if $(__VERSION__) > 1290 213 @%append $(LINK_ARG) library normaliz.lib 214 ! else 215 @%append $(LINK_ARG) import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii' 216 @%append $(LINK_ARG) import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode' 217 ! endif 218 ! endif 219 !endif 220 !ifeq USE_WATT32 1 221 @%append $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib' 222 !else 223 @%append $(LINK_ARG) library ws2_32.lib 224 !endif 225 $(LD) name $^@ @$(LINK_ARG) 226 227 $(RESOURCE): curl.rc 228 $(RC) $(DEBUG) -q -r -zm -bt=nt -I"../include" $(SYS_INCL) $[@ -fo=$^@ 229 230 # suffix search path - vpath-like hack 231 .c: ../lib 232 233 .c{$(OBJ_DIR)}.obj: 234 $(CC) $(CFLAGS) $[@ -fo=$^@ 235