#
#  Watcom / OpenWatcom / Win32 makefile for libcurl.
#  G. Vanem <giva@bgnett.no>
#
# $Id: Makefile.Watcom,v 1.2 2005/01/12 15:32:26 giva Exp $

TARGETS = libcurl_wc.lib libcurl_wc.dll libcurl_wc_imp.lib

CC = wcc386

CFLAGS = -3r -mf -d3 -hc -zff -zgf -zq -zm -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 -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

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 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 progress.h sendf.h escape.h file.h &
  speedcheck.h getinfo.h transfer.h url.h memory.h ..\include\curl\mprintf.h &
  memdebug.h

$(OBJ_DIR)\timeval.obj: timeval.c timeval.h setup.h config-win32.h

$(OBJ_DIR)\base64.obj: base64.c setup.h config-win32.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

$(OBJ_DIR)\hostip.obj: hostip.c setup.h config-win32.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 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\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 sendf.h progress.h ..\include\curl\mprintf.h

$(OBJ_DIR)\formdata.obj: formdata.c setup.h config-win32.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

$(OBJ_DIR)\cookie.obj: cookie.c setup.h config-win32.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 strequal.h strtok.h sendf.h &
  memory.h memdebug.h

$(OBJ_DIR)\http.obj: http.c setup.h config-win32.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 transfer.h sendf.h progress.h &
  base64.h strequal.h ssluse.h http_digest.h http_ntlm.h http_negotiate.h &
  url.h share.h http.h memory.h select.h ..\include\curl\mprintf.h memdebug.h

$(OBJ_DIR)\sendf.obj: sendf.c setup.h config-win32.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 sendf.h connect.h &
  ..\include\curl\mprintf.h memory.h strerror.h memdebug.h

$(OBJ_DIR)\ftp.obj: ftp.c setup.h config-win32.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 sendf.h &
  if2ip.h progress.h transfer.h escape.h http.h ftp.h strtoofft.h &
  strequal.h ssluse.h connect.h strerror.h memory.h inet_ntop.h select.h &
  ..\include\curl\mprintf.h memdebug.h

$(OBJ_DIR)\url.obj: url.c setup.h config-win32.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 netrc.h base64.h ssluse.h if2ip.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 http.h file.h ldap.h url.h connect.h inet_ntop.h &
  ./ca-bundle.h ..\include\curl\mprintf.h memory.h memdebug.h

$(OBJ_DIR)\dict.obj: dict.c setup.h config-win32.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 transfer.h sendf.h progress.h &
  strequal.h dict.h ..\include\curl\mprintf.h

$(OBJ_DIR)\if2ip.obj: if2ip.c setup.h config-win32.h

$(OBJ_DIR)\speedcheck.obj: speedcheck.c setup.h config-win32.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 sendf.h &
  speedcheck.h

$(OBJ_DIR)\ldap.obj: ldap.c setup.h config-win32.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 sendf.h escape.h transfer.h &
  strequal.h strtok.h ldap.h memory.h ..\include\curl\mprintf.h memdebug.h

$(OBJ_DIR)\ssluse.obj: ssluse.c setup.h config-win32.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 sendf.h url.h inet_pton.h &
  ssluse.h connect.h strequal.h select.h ..\include\curl\mprintf.h

$(OBJ_DIR)\version.obj: version.c setup.h config-win32.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 ..\include\curl\mprintf.h

$(OBJ_DIR)\getenv.obj: getenv.c setup.h config-win32.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

$(OBJ_DIR)\escape.obj: escape.c setup.h config-win32.h ..\include\curl\curl.h &
  ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h memory.h &
  ..\include\curl\mprintf.h memdebug.h

$(OBJ_DIR)\mprintf.obj: mprintf.c setup.h config-win32.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

$(OBJ_DIR)\telnet.obj: telnet.c setup.h config-win32.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 transfer.h sendf.h telnet.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\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

$(OBJ_DIR)\getinfo.obj: getinfo.c setup.h config-win32.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 &
  getinfo.h memory.h ssluse.h memdebug.h

$(OBJ_DIR)\transfer.obj: transfer.c setup.h config-win32.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 &
  netrc.h content_encoding.h transfer.h sendf.h speedcheck.h progress.h &
  http.h url.h getinfo.h ssluse.h http_digest.h http_ntlm.h &
  http_negotiate.h share.h memory.h select.h ..\include\curl\mprintf.h &
  memdebug.h

$(OBJ_DIR)\strequal.obj: strequal.c setup.h config-win32.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 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 &
  transfer.h ssluse.h url.h getinfo.h share.h memory.h progress.h &
  easyif.h ..\include\curl\mprintf.h memdebug.h

$(OBJ_DIR)\security.obj: security.c setup.h config-win32.h

$(OBJ_DIR)\krb4.obj: krb4.c setup.h config-win32.h

$(OBJ_DIR)\memdebug.obj: memdebug.c setup.h config-win32.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 memory.h memdebug.h

$(OBJ_DIR)\http_chunks.obj: http_chunks.c setup.h config-win32.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 sendf.h &
  content_encoding.h http.h memory.h ..\include\curl\mprintf.h memdebug.h

$(OBJ_DIR)\strtok.obj: strtok.c setup.h config-win32.h strtok.h

$(OBJ_DIR)\connect.obj: connect.c setup.h config-win32.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 sendf.h if2ip.h strerror.h connect.h &
  memory.h select.h memdebug.h

$(OBJ_DIR)\llist.obj: llist.c setup.h config-win32.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

$(OBJ_DIR)\hash.obj: hash.c setup.h config-win32.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

$(OBJ_DIR)\multi.obj: multi.c setup.h config-win32.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 &
  transfer.h url.h connect.h progress.h memory.h easyif.h multiif.h &
  memdebug.h

$(OBJ_DIR)\content_encoding.obj: content_encoding.c setup.h config-win32.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 sendf.h &
  content_encoding.h memory.h memdebug.h

$(OBJ_DIR)\share.obj: share.c setup.h config-win32.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 share.h memory.h memdebug.h

$(OBJ_DIR)\http_digest.obj: http_digest.c setup.h config-win32.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 sendf.h strequal.h base64.h md5.h &
  http_digest.h strtok.h url.h memory.h ..\include\curl\mprintf.h memdebug.h

$(OBJ_DIR)\md5.obj: md5.c setup.h config-win32.h md5.h

$(OBJ_DIR)\http_negotiate.obj: http_negotiate.c setup.h config-win32.h

$(OBJ_DIR)\http_ntlm.obj: http_ntlm.c setup.h config-win32.h

$(OBJ_DIR)\inet_pton.obj: inet_pton.c setup.h config-win32.h inet_pton.h

$(OBJ_DIR)\strtoofft.obj: strtoofft.c setup.h config-win32.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 ..\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 &
  ..\include\curl\mprintf.h

$(OBJ_DIR)\hostares.obj: hostares.c setup.h config-win32.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 sendf.h share.h strerror.h url.h &
  ..\include\curl\mprintf.h memory.h memdebug.h

$(OBJ_DIR)\hostasyn.obj: hostasyn.c setup.h config-win32.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 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 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 sendf.h share.h strerror.h url.h &
  ..\include\curl\mprintf.h memory.h memdebug.h

$(OBJ_DIR)\hostip6.obj: hostip6.c setup.h config-win32.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 sendf.h share.h strerror.h url.h &
  ..\include\curl\mprintf.h memory.h memdebug.h

$(OBJ_DIR)\hostsyn.obj: hostsyn.c setup.h config-win32.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 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 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 sendf.h share.h strerror.h url.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\mprintf.h &
  ..\include\curl\curl.h ..\include\curl\curlver.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\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 select.h
