Base code merged to SPIN 2.4
[platform/upstream/curl.git] / lib / Makefile.Watcom
index 5088875..14f5ac8 100644 (file)
 #  Watcom / OpenWatcom / Win32 makefile for libcurl.
 #  G. Vanem <gvanem@broadpark.no>
 #
-# $Id$
 
-TARGETS = libcurl_wc.dll libcurl_wc_imp.lib
+.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 -dCURL_WANTS_CA_BUNDLE_ENV         &
+         -dBUILDING_LIBCURL -I. -I"../include" $(SYS_INCL)
+
+!ifdef %debug
+DEBUG  = -dDEBUG=1 -dDEBUGBUILD
+CFLAGS += -d3 $(DEBUG)
+!else
+CFLAGS += -d0
+!endif
 
-CFLAGS = -3r -mf -d3 -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm -bt=nt &
-         -bd -d+ -dWIN32 -dCURL_CA_BUNDLE=getenv("CURL_CA_BUNDLE")                 &
-         -dBUILDING_LIBCURL -dHAVE_SPNEGO=1 -dENABLE_IPV6                          &
-         -dDEBUG=1 -dCURLDEBUG -d_WIN32_WINNT=0x0501 -dWINBERAPI=__declspec(cdecl) &
-         -dWINLDAPAPI=__declspec(cdecl) -I. -I..\include
+!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.
 #
-ZLIB_ROOT = ..\..\..\zlib-1.2.3
-USE_ZLIB  = 0
-
-!ifeq USE_ZLIB 1
-CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I$(ZLIB_ROOT)
-!endif
-
-OBJ_DIR  = WC_Win32.obj
-C_ARG    = $(OBJ_DIR)\wcc386.arg
-LINK_ARG = $(OBJ_DIR)\wlink.arg
-
-OBJS = $(OBJ_DIR)\base64.obj           $(OBJ_DIR)\connect.obj     &
-       $(OBJ_DIR)\content_encoding.obj $(OBJ_DIR)\cookie.obj      &
-       $(OBJ_DIR)\dict.obj             $(OBJ_DIR)\easy.obj        &
-       $(OBJ_DIR)\escape.obj           $(OBJ_DIR)\file.obj        &
-       $(OBJ_DIR)\formdata.obj         $(OBJ_DIR)\ftp.obj         &
-       $(OBJ_DIR)\getenv.obj           $(OBJ_DIR)\getinfo.obj     &
-       $(OBJ_DIR)\gtls.obj             $(OBJ_DIR)\hash.obj        &
-       $(OBJ_DIR)\hostares.obj         $(OBJ_DIR)\hostasyn.obj    &
-       $(OBJ_DIR)\hostip.obj           $(OBJ_DIR)\hostip4.obj     &
-       $(OBJ_DIR)\hostip6.obj          $(OBJ_DIR)\hostsyn.obj     &
-       $(OBJ_DIR)\hostthre.obj         $(OBJ_DIR)\http.obj        &
-       $(OBJ_DIR)\http_chunks.obj      $(OBJ_DIR)\http_digest.obj &
-       $(OBJ_DIR)\http_negotiate.obj   $(OBJ_DIR)\http_ntlm.obj   &
-       $(OBJ_DIR)\if2ip.obj            $(OBJ_DIR)\inet_ntop.obj   &
-       $(OBJ_DIR)\inet_pton.obj        $(OBJ_DIR)\krb4.obj        &
-       $(OBJ_DIR)\ldap.obj             $(OBJ_DIR)\llist.obj       &
-       $(OBJ_DIR)\md5.obj              $(OBJ_DIR)\memdebug.obj    &
-       $(OBJ_DIR)\mprintf.obj          $(OBJ_DIR)\multi.obj       &
-       $(OBJ_DIR)\netrc.obj            $(OBJ_DIR)\parsedate.obj   &
-       $(OBJ_DIR)\progress.obj         $(OBJ_DIR)\security.obj    &
-       $(OBJ_DIR)\select.obj           $(OBJ_DIR)\sendf.obj       &
-       $(OBJ_DIR)\share.obj            $(OBJ_DIR)\socks.obj       &
-       $(OBJ_DIR)\speedcheck.obj       $(OBJ_DIR)\splay.obj       &
-       $(OBJ_DIR)\sslgen.obj           $(OBJ_DIR)\ssluse.obj      &
-       $(OBJ_DIR)\strequal.obj         $(OBJ_DIR)\strerror.obj    &
-       $(OBJ_DIR)\strtok.obj           $(OBJ_DIR)\strtoofft.obj   &
-       $(OBJ_DIR)\telnet.obj           $(OBJ_DIR)\tftp.obj        &
-       $(OBJ_DIR)\timeval.obj          $(OBJ_DIR)\transfer.obj    &
-       $(OBJ_DIR)\url.obj              $(OBJ_DIR)\version.obj
-
-RESOURCE = $(OBJ_DIR)\libcurl.res
-
-all: $(OBJ_DIR) $(C_ARG) $(TARGETS) .SYMBOLIC
-       @echo Welcome to libcurl
+!ifdef %zlib_root
+ZLIB_ROOT = $(%zlib_root)
+!else
+ZLIB_ROOT = ../../zlib-1.2.8
+!endif
 
-$(OBJ_DIR):
-       mkdir $(OBJ_DIR)
+!ifdef %libssh2_root
+LIBSSH2_ROOT = $(%libssh2_root)
+!else
+LIBSSH2_ROOT = ../../libssh2-1.4.3
+!endif
 
-libcurl_wc.dll libcurl_wc_imp.lib: $(OBJS) $(RESOURCE) $(LINK_ARG)
-       wlink name libcurl_wc.dll @$(LINK_ARG)
+!ifdef %librtmp_root
+LIBRTMP_ROOT = $(%librtmp_root)
+!else
+LIBRTMP_ROOT = ../../rtmpdump-2.3
+!endif
 
-clean: .SYMBOLIC
-       - rm -f $(OBJS) $(RESOURCE)
+!ifdef %openssl_root
+OPENSSL_ROOT = $(%openssl_root)
+!else
+OPENSSL_ROOT = ../../openssl-0.9.8zc
+!endif
 
-vclean realclean: clean .SYMBOLIC
-       - rm -f $(TARGETS) $(C_ARG) $(LINK_ARG) libcurl_wc.map
-       - rmdir $(OBJ_DIR)
+!ifdef %ares_root
+ARES_ROOT = $(%ares_root)
+!else
+ARES_ROOT = ../ares
+!endif
 
-.ERASE
-$(RESOURCE): libcurl.rc
-        wrc -dCURLDEBUG=1 -q -r -zm -I..\include -fo=$@ libcurl.rc
+!ifdef %use_zlib
+CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I"$(ZLIB_ROOT)"
+!endif
 
-.ERASE
-.c{$(OBJ_DIR)}.obj:
-       $(CC) $[@ @$(C_ARG) -fo=$@
+!ifdef %use_rtmp
+CFLAGS += -dUSE_LIBRTMP -I"$(LIBRTMP_ROOT)"
+!endif
 
-$(C_ARG): $(__MAKEFILES__)
-       %create $^@
-       %append $^@ $(CFLAGS)
+!ifdef %use_ssh2
+CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H -I"$(LIBSSH2_ROOT)/include" -I"$(LIBSSH2_ROOT)/win32"
+!endif
 
-$(LINK_ARG): $(__MAKEFILES__)
-       %create $^@
-       @%append $^@ system nt dll
-       @%append $^@ file { $(OBJS) }
-       @%append $^@ option quiet, map, caseexact, eliminate, implib=libcurl_wc_imp.lib,
-       @%append $^@ res=$(RESOURCE) libpath $(%watcom)\lib386;$(%watcom)\lib386\nt
-       @%append $^@ library clib3r.lib, wldap32.lib, ws2_32.lib
-!ifeq USE_ZLIB 1
-       @%append $^@ library $(ZLIB_ROOT)\zlib.lib
+!ifdef %use_ssl
+CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I"$(OPENSSL_ROOT)/inc32"
 !endif
 
-#
-# Dependencies based on "gcc -MM .."
-#
-$(OBJ_DIR)\file.obj: file.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h strtoofft.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h progress.h sendf.h &
-  escape.h file.h speedcheck.h getinfo.h transfer.h url.h memory.h &
-  parsedate.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\timeval.obj: timeval.c timeval.h setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\base64.obj: base64.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h urldata.h cookie.h ..\include\curl\curl.h &
-  formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
-  easyif.h base64.h memory.h memdebug.h
-$(OBJ_DIR)\hostip.obj: hostip.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
-  strerror.h url.h inet_ntop.h ..\include\curl\mprintf.h memory.h &
-  memdebug.h
-$(OBJ_DIR)\progress.obj: progress.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h progress.h &
-  ..\include\curl\mprintf.h
-$(OBJ_DIR)\formdata.obj: formdata.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
-  llist.h splay.h easyif.h strequal.h memory.h ..\include\curl\mprintf.h &
-  memdebug.h
-$(OBJ_DIR)\cookie.obj: cookie.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h urldata.h cookie.h ..\include\curl\curl.h &
-  formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
-  strequal.h strtok.h sendf.h memory.h share.h strtoofft.h memdebug.h
-$(OBJ_DIR)\http.obj: http.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h transfer.h sendf.h &
-  easyif.h progress.h base64.h strequal.h sslgen.h http_digest.h &
-  http_ntlm.h http_negotiate.h url.h share.h http.h memory.h select.h &
-  parsedate.h strtoofft.h multiif.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\sendf.obj: sendf.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
-  llist.h splay.h sendf.h connect.h sslgen.h ssh.h multiif.h &
-  ..\include\curl\mprintf.h memory.h strerror.h easyif.h memdebug.h
-$(OBJ_DIR)\ftp.obj: ftp.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
-  llist.h splay.h sendf.h easyif.h if2ip.h progress.h transfer.h escape.h &
-  http.h socks.h ftp.h strtoofft.h strequal.h sslgen.h connect.h &
-  strerror.h memory.h inet_ntop.h select.h parsedate.h sockaddr.h &
-  multiif.h url.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\url.obj: url.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h netrc.h sslgen.h &
-  transfer.h sendf.h progress.h strequal.h strerror.h escape.h strtok.h &
-  share.h content_encoding.h http_digest.h http_negotiate.h select.h &
-  multiif.h easyif.h speedcheck.h ftp.h dict.h telnet.h tftp.h http.h &
-  file.h curl_ldap.h ssh.h url.h connect.h inet_ntop.h http_ntlm.h &
-  socks.h ..\include\curl\mprintf.h memory.h memdebug.h
-$(OBJ_DIR)\dict.obj: dict.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h transfer.h sendf.h &
-  progress.h strequal.h dict.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\if2ip.obj: if2ip.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h if2ip.h
-$(OBJ_DIR)\speedcheck.obj: speedcheck.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h urldata.h cookie.h &
-  formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
-  sendf.h multiif.h speedcheck.h
-$(OBJ_DIR)\ldap.obj: ldap.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h escape.h &
-  transfer.h strequal.h strtok.h curl_ldap.h memory.h base64.h &
-  ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\ssluse.obj: ssluse.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h url.h inet_pton.h &
-  ssluse.h connect.h strequal.h select.h sslgen.h &
-  ..\include\curl\mprintf.h
-$(OBJ_DIR)\version.obj: version.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
-  llist.h splay.h sslgen.h ..\include\curl\mprintf.h
-$(OBJ_DIR)\getenv.obj: getenv.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  memory.h memdebug.h
-$(OBJ_DIR)\escape.obj: escape.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  memory.h urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h &
-  hash.h llist.h splay.h easyif.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\mprintf.obj: mprintf.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h memory.h ..\include\curl\curl.h memdebug.h
-$(OBJ_DIR)\telnet.obj: telnet.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h transfer.h sendf.h &
-  telnet.h connect.h ..\include\curl\mprintf.h arpa_telnet.h memory.h &
-  select.h memdebug.h
-$(OBJ_DIR)\netrc.obj: netrc.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  netrc.h strequal.h strtok.h memory.h ..\include\curl\mprintf.h &
-  memdebug.h
-$(OBJ_DIR)\getinfo.obj: getinfo.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
-  llist.h splay.h getinfo.h memory.h sslgen.h connect.h memdebug.h
-$(OBJ_DIR)\transfer.obj: transfer.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h strtoofft.h strequal.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h urldata.h cookie.h &
-  formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
-  netrc.h content_encoding.h transfer.h sendf.h speedcheck.h progress.h &
-  http.h url.h getinfo.h sslgen.h http_digest.h http_ntlm.h &
-  http_negotiate.h share.h memory.h select.h multiif.h easyif.h &
-  ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\strequal.obj: strequal.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h strequal.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h
-$(OBJ_DIR)\easy.obj: easy.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h strequal.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h urldata.h cookie.h &
-  formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
-  transfer.h sslgen.h url.h getinfo.h share.h strdup.h memory.h &
-  progress.h easyif.h select.h sendf.h http_ntlm.h connect.h &
-  ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\security.obj: security.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\krb4.obj: krb4.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\krb5.obj: krb5.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\memdebug.obj: memdebug.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  ..\include\curl\mprintf.h urldata.h cookie.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h memory.h memdebug.h
-$(OBJ_DIR)\http_chunks.obj: http_chunks.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
-  urldata.h cookie.h ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h &
-  content_encoding.h http.h memory.h easyif.h ..\include\curl\mprintf.h &
-  memdebug.h
-$(OBJ_DIR)\strtok.obj: strtok.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h strtok.h
-$(OBJ_DIR)\connect.obj: connect.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h urldata.h cookie.h ..\include\curl\curl.h &
-  formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
-  sendf.h if2ip.h strerror.h connect.h memory.h select.h url.h multiif.h &
-  sockaddr.h inet_ntop.h inet_pton.h sslgen.h memdebug.h
-$(OBJ_DIR)\llist.obj: llist.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h llist.h memory.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h memdebug.h
-$(OBJ_DIR)\hash.obj: hash.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h hash.h llist.h memory.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h memdebug.h
-$(OBJ_DIR)\multi.obj: multi.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
-  llist.h splay.h transfer.h url.h connect.h progress.h memory.h easyif.h &
-  multiif.h sendf.h http.h memdebug.h
-$(OBJ_DIR)\content_encoding.obj: content_encoding.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\share.obj: share.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
-  llist.h splay.h share.h memory.h memdebug.h
-$(OBJ_DIR)\http_digest.obj: http_digest.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
-  urldata.h cookie.h ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h strequal.h &
-  base64.h curl_md5.h http_digest.h strtok.h url.h memory.h easyif.h &
-  ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\md5.obj: md5.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h curl_md5.h
-$(OBJ_DIR)\http_negotiate.obj: http_negotiate.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\http_ntlm.obj: http_ntlm.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
-  urldata.h cookie.h ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h easyif.h sendf.h &
-  strequal.h base64.h http_ntlm.h url.h memory.h ssluse.h &
-  ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\inet_pton.obj: inet_pton.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
-  inet_pton.h
-$(OBJ_DIR)\strtoofft.obj: strtoofft.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
-  strtoofft.h
-$(OBJ_DIR)\strerror.obj: strerror.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  strerror.h urldata.h cookie.h formdata.h timeval.h http_chunks.h &
-  hostip.h hash.h llist.h splay.h ..\include\curl\mprintf.h
-$(OBJ_DIR)\hostares.obj: hostares.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
-  strerror.h url.h multiif.h connect.h select.h ..\include\curl\mprintf.h &
-  memory.h memdebug.h
-$(OBJ_DIR)\hostasyn.obj: hostasyn.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
-  strerror.h url.h ..\include\curl\mprintf.h memory.h memdebug.h
-$(OBJ_DIR)\hostip4.obj: hostip4.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
-  strerror.h url.h inet_pton.h ..\include\curl\mprintf.h memory.h &
-  memdebug.h
-$(OBJ_DIR)\hostip6.obj: hostip6.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
-  strerror.h url.h inet_pton.h connect.h ..\include\curl\mprintf.h &
-  memory.h memdebug.h
-$(OBJ_DIR)\hostsyn.obj: hostsyn.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
-  strerror.h url.h ..\include\curl\mprintf.h memory.h memdebug.h
-$(OBJ_DIR)\hostthre.obj: hostthre.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
-  strerror.h url.h multiif.h ..\include\curl\mprintf.h inet_ntop.h &
-  memory.h memdebug.h
-$(OBJ_DIR)\inet_ntop.obj: inet_ntop.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
-  ..\include\curl\mprintf.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h inet_ntop.h
-$(OBJ_DIR)\parsedate.obj: parsedate.c setup.h config-win32.h &
-  ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h
-$(OBJ_DIR)\select.obj: select.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
-  ..\include\curl\curlver.h ..\include\curl\curlrules.h &
-  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
-  urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
-  llist.h splay.h connect.h select.h
-$(OBJ_DIR)\gtls.obj: gtls.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\sslgen.obj: sslgen.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sslgen.h ssluse.h gtls.h &
-  nssg.h qssl.h sendf.h strequal.h url.h memory.h progress.h memdebug.h
-$(OBJ_DIR)\tftp.obj: tftp.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h transfer.h sendf.h tftp.h &
-  progress.h connect.h strerror.h sockaddr.h url.h &
-  ..\include\curl\mprintf.h memory.h select.h memdebug.h
-$(OBJ_DIR)\splay.obj: splay.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h splay.h
-$(OBJ_DIR)\strdup.obj: strdup.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h strdup.h
-$(OBJ_DIR)\socks.obj: socks.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h strequal.h &
-  select.h connect.h socks.h memdebug.h
-$(OBJ_DIR)\ssh.obj: ssh.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\nss.obj: nss.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
-  ..\include\curl\curl.h ..\include\curl\curlver.h &
-  ..\include\curl\curlrules.h ..\include\curl\easy.h &
-  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
-  http_chunks.h hostip.h hash.h llist.h splay.h sendf.h url.h connect.h &
-  strequal.h select.h sslgen.h ..\include\curl\mprintf.h
-$(OBJ_DIR)\qssl.obj: qssl.c setup.h config-win32.h ..\include\curl\curlbuild.h &
-  ..\include\curl\curlrules.h setup_once.h
+!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: = ./)
+OBJS_STAT = $(OBJS3:./=$(OBJ_STAT)/)
+OBJS_DYN  = $(OBJS3:./=$(OBJ_DYN)/)
+
+CURLBUILDH = ../include/curl/curlbuild.h
+RESOURCE   = $(OBJ_DYN)/libcurl.res
+
+DIRS = $(OBJ_BASE) $(OBJ_BASE)/stat $(OBJ_BASE)/dyn
+
+.c : vtls
+
+all: $(CURLBUILDH) $(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) $^@
+
+$(CURLBUILDH): .EXISTSONLY
+       $(CP) $^@.dist $^@
+
+$(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=$^@
+