1# 2# Watcom / OpenWatcom / Win32 makefile for libcurl. 3# G. Vanem <gvanem@broadpark.no> 4# 5 6.ERASE 7 8!if $(__VERSION__) < 1280 9!message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 10!message ! This Open Watcom version is too old and is no longer supported ! 11!message ! Please download latest version from www.openwatcom.org ! 12!message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 13!error Unsupported version of Open Watcom 14!endif 15 16!ifndef %watcom 17!error WATCOM environment variable not set! 18!endif 19 20# In order to process Makefile.inc wmake must be called with -u switch! 21!ifndef %MAKEFLAGS 22!error You MUST call wmake with the -u switch! 23!endif 24 25!ifdef %libname 26LIBNAME = $(%libname) 27!else 28LIBNAME = libcurl 29!endif 30TARGETS = $(LIBNAME).dll $(LIBNAME).lib 31 32CC = wcc386 33LD = wlink 34AR = wlib 35RC = wrc 36 37!ifdef __LOADDLL__ 38! loaddll wcc386 wccd386 39! loaddll wpp386 wppd386 40! loaddll wlib wlibd 41! loaddll wlink wlinkd 42!endif 43 44!ifdef __LINUX__ 45CP = cp 46MD = mkdir -p 47!else 48CP = copy 2>NUL 49MD = mkdir 50!endif 51!if $(__VERSION__) > 1290 52RD = rm -rf 53!else ifdef __UNIX__ 54RD = rm -rf 55!else 56RD = rmdir /q /s 2>NUL 57!endif 58 59SYS_INCL = -I"$(%watcom)/h/nt" -I"$(%watcom)/h" 60 61CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm & 62 -wcd=201 -bt=nt -d+ -dWIN32 -dCURL_WANTS_CA_BUNDLE_ENV & 63 -dBUILDING_LIBCURL -dHAVE_SPNEGO=1 -I. -I"../include" $(SYS_INCL) 64 65!ifdef %debug 66DEBUG = -dDEBUG=1 -dDEBUGBUILD 67CFLAGS += -d3 $(DEBUG) 68!else 69CFLAGS += -d0 70!endif 71 72!ifdef %use_ipv6 73CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6 74!endif 75 76!ifdef %use_sspi 77CFLAGS += -dUSE_WINDOWS_SSPI 78!endif 79 80!ifdef %use_winidn 81CFLAGS += -dWINVER=0x0600 -dUSE_WIN32_IDN 82! if $(__VERSION__) <= 1290 83CFLAGS += -dWANT_IDN_PROTOTYPES 84! endif 85!endif 86 87# 88# Change to suite. 89# 90!ifdef %zlib_root 91ZLIB_ROOT = $(%zlib_root) 92!else 93ZLIB_ROOT = ../../zlib-1.2.8 94!endif 95 96!ifdef %libssh2_root 97LIBSSH2_ROOT = $(%libssh2_root) 98!else 99LIBSSH2_ROOT = ../../libssh2-1.4.3 100!endif 101 102!ifdef %librtmp_root 103LIBRTMP_ROOT = $(%librtmp_root) 104!else 105LIBRTMP_ROOT = ../../rtmpdump-2.3 106!endif 107 108!ifdef %openssl_root 109OPENSSL_ROOT = $(%openssl_root) 110!else 111OPENSSL_ROOT = ../../openssl-0.9.8y 112!endif 113 114!ifdef %ares_root 115ARES_ROOT = $(%ares_root) 116!else 117ARES_ROOT = ../ares 118!endif 119 120!ifdef %use_zlib 121CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I"$(ZLIB_ROOT)" 122!endif 123 124!ifdef %use_rtmp 125CFLAGS += -dUSE_LIBRTMP -I"$(LIBRTMP_ROOT)" 126!endif 127 128!ifdef %use_ssh2 129CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H -I"$(LIBSSH2_ROOT)/include" -I"$(LIBSSH2_ROOT)/win32" 130!endif 131 132!ifdef %use_ssl 133CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I"$(OPENSSL_ROOT)/inc32" 134!endif 135 136!ifdef %use_ares 137CFLAGS += -dUSE_ARES -I"$(ARES_ROOT)" 138!endif 139 140!ifdef %use_watt32 141CFLAGS += -dUSE_WATT32 -I"$(%watt_root)/inc" 142!endif 143 144OBJ_BASE = WC_Win32.obj 145!if $(__VERSION__) > 1290 146OBJ_STAT = $(OBJ_BASE)/stat 147OBJ_DYN = $(OBJ_BASE)/dyn 148!else ifdef __UNIX__ 149OBJ_STAT = $(OBJ_BASE)/stat 150OBJ_DYN = $(OBJ_BASE)/dyn 151!else 152OBJ_STAT = $(OBJ_BASE)\stat 153OBJ_DYN = $(OBJ_BASE)\dyn 154!endif 155 156LINK_ARG = $(OBJ_DYN)/wlink.arg 157LIB_ARG = $(OBJ_STAT)/wlib.arg 158 159!include Makefile.inc 160 161OBJS1 = ./$(CSOURCES:.c=.obj) 162OBJS2 = $(OBJS1:vtls/=) 163OBJS3 = $(OBJS2: = ./) 164OBJS_STAT = $(OBJS3:./=$(OBJ_STAT)/) 165OBJS_DYN = $(OBJS3:./=$(OBJ_DYN)/) 166 167CURLBUILDH = ../include/curl/curlbuild.h 168RESOURCE = $(OBJ_DYN)/libcurl.res 169 170DIRS = $(OBJ_BASE) $(OBJ_BASE)/stat $(OBJ_BASE)/dyn 171 172.c : vtls 173 174all: $(CURLBUILDH) $(DIRS) $(TARGETS) .SYMBOLIC 175 @echo Welcome to libcurl 176 177clean: .SYMBOLIC 178 -rm -f $(OBJS_STAT) 179 -rm -f $(OBJS_DYN) 180 -rm -f $(RESOURCE) $(LINK_ARG) $(LIB_ARG) 181 182vclean distclean: clean .SYMBOLIC 183 -rm -f $(TARGETS) $(LIBNAME).map $(LIBNAME).sym 184 -$(RD) $(OBJ_STAT) 185 -$(RD) $(OBJ_DYN) 186 -$(RD) $(OBJ_BASE) 187 188$(DIRS): 189 -$(MD) $^@ 190 191$(CURLBUILDH): .EXISTSONLY 192 $(CP) $^@.dist $^@ 193 194$(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(__MAKEFILES__) 195 %create $(LINK_ARG) 196 @%append $(LINK_ARG) system nt dll 197!ifdef %debug 198 @%append $(LINK_ARG) debug all 199 @%append $(LINK_ARG) option symfile 200!endif 201 @%append $(LINK_ARG) option quiet, caseexact, eliminate 202 @%append $(LINK_ARG) option map=$(OBJ_DYN)/$(LIBNAME).map 203 @%append $(LINK_ARG) option implib=$(LIBNAME)_imp.lib 204 @%append $(LINK_ARG) option res=$(RESOURCE) 205 @for %f in ($(OBJS_DYN)) do @%append $(LINK_ARG) file %f 206 @%append $(LINK_ARG) library wldap32.lib 207!ifdef %use_watt32 208 @%append $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib' 209!else 210 @%append $(LINK_ARG) library ws2_32.lib 211!endif 212!ifdef %use_zlib 213 @%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib' 214!endif 215!ifdef %use_rtmp 216 @%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib' 217!endif 218!ifdef %use_ssh2 219 @%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib' 220!endif 221!ifdef %use_ssl 222 @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/libeay32.lib' 223 @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/ssleay32.lib' 224!endif 225!ifdef %use_ares 226 @%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib' 227!endif 228!ifdef %use_winidn 229! if $(__VERSION__) > 1290 230 @%append $(LINK_ARG) library normaliz.lib 231! else 232 @%append $(LINK_ARG) import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii' 233 @%append $(LINK_ARG) import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode' 234! endif 235!endif 236 $(LD) name $^@ @$(LINK_ARG) 237 238$(LIBNAME).lib: $(OBJS_STAT) 239 %create $(LIB_ARG) 240 @for %f in ($<) do @%append $(LIB_ARG) +- %f 241 $(AR) -q -b -c -pa $^@ @$(LIB_ARG) 242 243$(RESOURCE): libcurl.rc 244 $(RC) $(DEBUG) -q -r -zm -bt=nt -I"../include" $(SYS_INCL) $[@ -fo=$^@ 245 246.c{$(OBJ_DYN)}.obj: 247 $(CC) $(CFLAGS) -bd -br $[@ -fo=$^@ 248 249.c{$(OBJ_STAT)}.obj: 250 $(CC) $(CFLAGS) -DCURL_STATICLIB $[@ -fo=$^@ 251