#
#  Watcom / OpenWatcom / Win32 makefile for libcurl.
#  G. Vanem <giva@bgnett.no>
#
# $Id$

TARGETS = libcurl_wc.lib libcurl_wc.dll libcurl_wc_imp.lib

CC = wcc386

CFLAGS = -3r -mf -d3 -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm -bt=nt -bd &
         -d+ -dWIN32 -dHAVE_LONGLONG -dCURL_CA_BUNDLE=getenv("CURL_CA_BUNDLE")     &
         -dBUILDING_LIBCURL -dWITHOUT_MM_LIB -dHAVE_SPNEGO=1 -dENABLE_IPV6         &
         -dDEBUG_THREADING_GETADDRINFO -dDEBUG=1 -dCURLDEBUG -d_WIN32_WINNT=0x0501 &
         -I. -I..\include

OBJ_DIR  = Watcom_obj
LIB_ARG  = $(OBJ_DIR)\wlib.arg
LINK_ARG = $(OBJ_DIR)\wlink.arg

OBJS = $(OBJ_DIR)\transfer.obj         $(OBJ_DIR)\file.obj       &
       $(OBJ_DIR)\strequal.obj         $(OBJ_DIR)\timeval.obj    &
       $(OBJ_DIR)\easy.obj             $(OBJ_DIR)\base64.obj     &
       $(OBJ_DIR)\security.obj         $(OBJ_DIR)\hostip.obj     &
       $(OBJ_DIR)\krb4.obj             $(OBJ_DIR)\progress.obj   &
       $(OBJ_DIR)\memdebug.obj         $(OBJ_DIR)\formdata.obj   &
       $(OBJ_DIR)\http_chunks.obj      $(OBJ_DIR)\cookie.obj     &
       $(OBJ_DIR)\strtok.obj           $(OBJ_DIR)\http.obj       &
       $(OBJ_DIR)\connect.obj          $(OBJ_DIR)\sendf.obj      &
       $(OBJ_DIR)\llist.obj            $(OBJ_DIR)\ftp.obj        &
       $(OBJ_DIR)\hash.obj             $(OBJ_DIR)\url.obj        &
       $(OBJ_DIR)\multi.obj            $(OBJ_DIR)\dict.obj       &
       $(OBJ_DIR)\content_encoding.obj $(OBJ_DIR)\if2ip.obj      &
       $(OBJ_DIR)\share.obj            $(OBJ_DIR)\speedcheck.obj &
       $(OBJ_DIR)\http_digest.obj      $(OBJ_DIR)\ldap.obj       &
       $(OBJ_DIR)\md5.obj              $(OBJ_DIR)\ssluse.obj     &
       $(OBJ_DIR)\http_negotiate.obj   $(OBJ_DIR)\version.obj    &
       $(OBJ_DIR)\http_ntlm.obj        $(OBJ_DIR)\getenv.obj     &
       $(OBJ_DIR)\inet_pton.obj        $(OBJ_DIR)\escape.obj     &
       $(OBJ_DIR)\strtoofft.obj        $(OBJ_DIR)\mprintf.obj    &
       $(OBJ_DIR)\strerror.obj         $(OBJ_DIR)\telnet.obj     &
       $(OBJ_DIR)\hostares.obj         $(OBJ_DIR)\netrc.obj      &
       $(OBJ_DIR)\hostasyn.obj         $(OBJ_DIR)\getinfo.obj    &
       $(OBJ_DIR)\hostip4.obj          $(OBJ_DIR)\hostthre.obj   &
       $(OBJ_DIR)\hostip6.obj          $(OBJ_DIR)\inet_ntop.obj  &
       $(OBJ_DIR)\hostsyn.obj          $(OBJ_DIR)\parsedate.obj  &
       $(OBJ_DIR)\select.obj           $(OBJ_DIR)\sslgen.obj     &
       $(OBJ_DIR)\gtls.obj             $(OBJ_DIR)\tftp.obj       &
       $(OBJ_DIR)\splay.obj	       $(OBJ_DIR)\socks.obj

RESOURCE = $(OBJ_DIR)\libcurl.res

all: $(OBJ_DIR) $(TARGETS) .SYMBOLIC
	@echo Welcome to libcurl

$(OBJ_DIR):
	mkdir $(OBJ_DIR)

libcurl_wc.lib: $(OBJS) $(LIB_ARG)
	wlib -q -b -c $@ @$(LIB_ARG)

libcurl_wc.dll: $(OBJS) $(RESOURCE) $(LINK_ARG)
	wlink name libcurl_wc.dll @$(LINK_ARG)

clean: .SYMBOLIC
	- rm -f $(OBJS) $(RESOURCE)

vclean realclean: clean .SYMBOLIC
	- rm -f $(TARGETS) $(LIB_ARG) $(LINK_ARG) libcurl_wc.map
	- rmdir $(OBJ_DIR)

.ERASE
$(RESOURCE): libcurl.rc
        wrc -dCURLDEBUG=1 -q -r -zm -I..\include -fo=$@ libcurl.rc

.ERASE
.c{$(OBJ_DIR)}.obj:
	$(CC) $[@ $(CFLAGS) -fo=$@
	@echo .

$(LIB_ARG): $(__MAKEFILES__)
	%create $^@
	for %f in ($(OBJS)) do @%append $^@ +- %f

$(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, ws2_32.lib

#
# Dependencies based on "gcc -MM .."
#
$(OBJ_DIR)\file.obj: file.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\timeval.obj: timeval.c timeval.h setup.h config-win32.h setup_once.h
$(OBJ_DIR)\base64.obj: base64.c setup.h config-win32.h setup_once.h &
  ..\include\curl\mprintf.h ..\include\curl\curl.h &
  ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h base64.h memory.h ..\include\curl\curl.h &
  memdebug.h .\memory.h
$(OBJ_DIR)\hostip.obj: hostip.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\progress.obj: progress.c setup.h config-win32.h setup_once.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 progress.h ..\include\curl\mprintf.h
$(OBJ_DIR)\formdata.obj: formdata.c setup.h config-win32.h setup_once.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h formdata.h strequal.h &
  memory.h ..\include\curl\mprintf.h memdebug.h .\memory.h
$(OBJ_DIR)\cookie.obj: cookie.c setup.h config-win32.h setup_once.h &
  ..\include\curl\mprintf.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 &
  .\memory.h
$(OBJ_DIR)\http.obj: http.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 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 .\memory.h
$(OBJ_DIR)\sendf.obj: sendf.c setup.h config-win32.h setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 ..\include\curl\mprintf.h memory.h &
  strerror.h easyif.h memdebug.h .\memory.h
$(OBJ_DIR)\ftp.obj: ftp.c setup.h config-win32.h setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 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 &
  ..\include\curl\mprintf.h memdebug.h .\memory.h
$(OBJ_DIR)\url.obj: url.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 base64.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 ftp.h dict.h telnet.h tftp.h http.h file.h ldap.h url.h &
  connect.h inet_ntop.h http_ntlm.h .\ca-bundle.h &
  ..\include\curl\mprintf.h memory.h memdebug.h .\memory.h
$(OBJ_DIR)\dict.obj: dict.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 &
  .\memory.h
$(OBJ_DIR)\if2ip.obj: if2ip.c setup.h config-win32.h setup_once.h if2ip.h inet_ntop.h &
  memory.h ..\include\curl\curl.h ..\include\curl\curlver.h &
  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
  memdebug.h .\memory.h
$(OBJ_DIR)\speedcheck.obj: speedcheck.c setup.h config-win32.h setup_once.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 setup_once.h
$(OBJ_DIR)\ssluse.obj: ssluse.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h memory.h memdebug.h &
  .\memory.h
$(OBJ_DIR)\escape.obj: escape.c setup.h config-win32.h setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\mprintf.obj: mprintf.c setup.h config-win32.h setup_once.h &
  ..\include\curl\mprintf.h ..\include\curl\curl.h &
  ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h memory.h ..\include\curl\curl.h memdebug.h &
  .\memory.h
$(OBJ_DIR)\telnet.obj: telnet.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\netrc.obj: netrc.c setup.h config-win32.h setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\getinfo.obj: getinfo.c setup.h config-win32.h setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 memdebug.h .\memory.h
$(OBJ_DIR)\transfer.obj: transfer.c setup.h config-win32.h setup_once.h strtoofft.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h strequal.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 .\memory.h
$(OBJ_DIR)\strequal.obj: strequal.c setup.h config-win32.h setup_once.h strequal.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h
$(OBJ_DIR)\easy.obj: easy.c setup.h config-win32.h setup_once.h strequal.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 sendf.h ..\include\curl\mprintf.h memdebug.h &
  .\memory.h
$(OBJ_DIR)\security.obj: security.c setup.h config-win32.h setup_once.h
$(OBJ_DIR)\krb4.obj: krb4.c setup.h config-win32.h setup_once.h
$(OBJ_DIR)\memdebug.obj: memdebug.c setup.h config-win32.h setup_once.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 &
  .\memory.h
$(OBJ_DIR)\http_chunks.obj: http_chunks.c setup.h config-win32.h setup_once.h urldata.h &
  cookie.h ..\include\curl\curl.h ..\include\curl\curlver.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 ..\include\curl\mprintf.h &
  memdebug.h .\memory.h
$(OBJ_DIR)\strtok.obj: strtok.c setup.h config-win32.h setup_once.h strtok.h
$(OBJ_DIR)\connect.obj: connect.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 if2ip.h &
  strerror.h connect.h memory.h select.h url.h multiif.h sockaddr.h &
  inet_ntop.h memdebug.h .\memory.h
$(OBJ_DIR)\llist.obj: llist.c setup.h config-win32.h setup_once.h llist.h memory.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h memdebug.h .\memory.h
$(OBJ_DIR)\hash.obj: hash.c setup.h config-win32.h setup_once.h hash.h llist.h memory.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h memdebug.h .\memory.h
$(OBJ_DIR)\multi.obj: multi.c setup.h config-win32.h setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 memdebug.h .\memory.h
$(OBJ_DIR)\content_encoding.obj: content_encoding.c setup.h config-win32.h setup_once.h
$(OBJ_DIR)\share.obj: share.c setup.h config-win32.h setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\http_digest.obj: http_digest.c setup.h config-win32.h setup_once.h urldata.h &
  cookie.h ..\include\curl\curl.h ..\include\curl\curlver.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 md5.h http_digest.h strtok.h url.h memory.h &
  ..\include\curl\mprintf.h memdebug.h .\memory.h
$(OBJ_DIR)\md5.obj: md5.c setup.h config-win32.h setup_once.h md5.h
$(OBJ_DIR)\http_negotiate.obj: http_negotiate.c setup.h config-win32.h setup_once.h
$(OBJ_DIR)\http_ntlm.obj: http_ntlm.c setup.h config-win32.h setup_once.h
$(OBJ_DIR)\inet_pton.obj: inet_pton.c setup.h config-win32.h setup_once.h
$(OBJ_DIR)\strtoofft.obj: strtoofft.c setup.h config-win32.h setup_once.h strtoofft.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h
$(OBJ_DIR)\strerror.obj: strerror.c setup.h config-win32.h setup_once.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 connect.h ..\include\curl\mprintf.h memory.h &
  memdebug.h .\memory.h
$(OBJ_DIR)\hostasyn.obj: hostasyn.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 &
  .\memory.h
$(OBJ_DIR)\hostip4.obj: hostip4.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\hostip6.obj: hostip6.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\hostsyn.obj: hostsyn.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 &
  .\memory.h
$(OBJ_DIR)\hostthre.obj: hostthre.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 .\memory.h
$(OBJ_DIR)\inet_ntop.obj: inet_ntop.c setup.h config-win32.h setup_once.h
$(OBJ_DIR)\parsedate.obj: parsedate.c setup.h config-win32.h setup_once.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h
$(OBJ_DIR)\select.obj: select.c setup.h config-win32.h setup_once.h ..\include\curl\curl.h &
  ..\include\curl\curlver.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 setup_once.h
$(OBJ_DIR)\sslgen.obj: sslgen.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 &
  sendf.h strequal.h url.h memory.h memdebug.h .\memory.h
$(OBJ_DIR)\tftp.obj: tftp.c setup.h config-win32.h setup_once.h urldata.h cookie.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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 ..\include\curl\mprintf.h &
  memory.h select.h memdebug.h .\memory.h
$(OBJ_DIR)\splay.obj: splay.c splay.h
$(OBJ_DIR)\strdup.obj: strdup.c setup.h config-win32.h setup_once.h strdup.h
