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

#
# Set to 1 to use static lib.
# Set to 0 to use DLL and import lib.
#
STATIC = 1

CC = wcc386

CFLAGS = -3r -mf -d3 -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm     &
         -bt=nt -d+ -dWIN32 -dHAVE_LONGLONG -dHAVE_STRTOLL -dWITHOUT_MM_LIB &
         -dSIZEOF_CURL_OFF_T=8 -dCURLDEBUG -dENABLE_IPV6 -dHAVE_WINSOCK2_H  &
         -I..\include -I..\lib

!ifeq STATIC 0
LIBCURL = ..\lib\libcurl_wc_imp.lib

!else
CFLAGS += -dCURL_STATICLIB
LIBCURL = ..\lib\libcurl_wc.lib
!endif

OBJ_DIR = Watcom_obj

OBJS = $(OBJ_DIR)\getpass.obj  $(OBJ_DIR)\homedir.obj $(OBJ_DIR)\hugehelp.obj &
       $(OBJ_DIR)\main.obj     $(OBJ_DIR)\urlglob.obj $(OBJ_DIR)\writeenv.obj &
       $(OBJ_DIR)\writeout.obj $(OBJ_DIR)\timeval.obj

RESOURCE = $(OBJ_DIR)\curl.res

all: hugehelp.c $(OBJ_DIR) curl.exe .SYMBOLIC
	@echo Welcome to cURL

hugehelp.c: hugehelp.c.cvs
	copy hugehelp.c.cvs hugehelp.c

$(OBJ_DIR):
	mkdir $(OBJ_DIR)

curl.exe: $(OBJS) $(RESOURCE)
	wlink name $@ system nt file { $(OBJS) }                   &
	  option quiet, map, caseexact, eliminate, res=$(RESOURCE) &
	  libpath $(%watcom)\lib386;$(%watcom)\lib386\nt           &
	  library $(LIBCURL), clib3r.lib, ws2_32.lib

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

vclean realclean: clean .SYMBOLIC
 	- rm -f curl.exe curl.map
	- rmdir $(OBJ_DIR)

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

.ERASE
$(OBJ_DIR)\timeval.obj: ..\lib\timeval.c
	$(CC) $[@ $(CFLAGS) -fo=$@
	@echo .

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

#
# Dependencies based on "gcc -MM .."
#
$(OBJ_DIR)/getpass.obj: getpass.c setup.h config-win32.h ..\lib\setup.h &
  ..\lib\config-win32.h getpass.h ..\lib\memdebug.h ..\lib\setup.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h

$(OBJ_DIR)/homedir.obj: homedir.c setup.h config-win32.h ..\lib\setup.h &
  ..\lib\config-win32.h homedir.h ..\lib\memdebug.h ..\lib\setup.h &
  ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\easy.h &
  ..\include\curl\multi.h ..\include\curl\curl.h

$(OBJ_DIR)/hugehelp.obj: hugehelp.c setup.h config-win32.h ..\lib\setup.h &
  ..\lib\config-win32.h hugehelp.h ../../../zlib-1.2.1/zlib.h &
  ../../../zlib-1.2.1/zconf.h

$(OBJ_DIR)/main.obj: main.c setup.h config-win32.h ..\lib\setup.h &
  ..\lib\config-win32.h ..\include\curl\curl.h ..\include\curl\curlver.h &
  ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
  urlglob.h writeout.h getpass.h homedir.h hugehelp.h version.h &
  ..\include\curl\curlver.h ..\lib\curlx.h ..\include\curl\mprintf.h &
  ..\lib\strequal.h ..\lib\strtoofft.h ..\lib\setup.h ..\lib\timeval.h &
  ..\lib\memdebug.h

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

$(OBJ_DIR)/writeenv.obj: writeenv.c setup.h config-win32.h ..\lib\setup.h &
  ..\lib\config-win32.h

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