lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | #*************************************************************************** |
| 2 | # _ _ ____ _ |
| 3 | # Project ___| | | | _ \| | |
| 4 | # / __| | | | |_) | | |
| 5 | # | (__| |_| | _ <| |___ |
| 6 | # \___|\___/|_| \_\_____| |
| 7 | # |
| 8 | # Copyright (C) 2005 - 2008, Gisle Vanem <gvanem@yahoo.no>. |
| 9 | # Copyright (C) 2005 - 2015, Daniel Stenberg, <daniel@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=$^@ |