Commit 420d9ff3 authored by Jiří Malák's avatar Jiří Malák Committed by Daniel Stenberg
Browse files

Rework Open Watcom make files to use standard Wmake features

Remove slash/backslash problem, now only slashes are used,
Wmake automaticaly translate slash/backslash to proper version or tools are not sensitive for it.
Enable spaces in path.
Use internal rm command for all host platforms
Add error message if old Open Watcom version is used. Some old versions exhibit build problems for Curl latest version. Now only versions 1.8, 1.9 and 2.O beta are supported
parent 85484355
Loading
Loading
Loading
Loading
+102 −102
Original line number Diff line number Diff line
@@ -3,16 +3,31 @@
#  G. Vanem <gvanem@broadpark.no>
#

.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)_imp.lib $(LIBNAME).lib
TARGETS = $(LIBNAME).dll $(LIBNAME).lib

CC = wcc386
LD = wlink
@@ -23,37 +38,29 @@ RC = wrc
!  loaddll wcc386  wccd386
!  loaddll wpp386  wppd386
!  loaddll wlib    wlibd
!  if $(__VERSION__) > 1270
!  loaddll wlink   wlinkd
!  else
!    loaddll wlink   wlink
!  endif
!endif

!ifdef __LINUX__
DS = /
CP = cp
MD = mkdir -p
RD = rmdir -p
RM = rm -f
!else
DS = $(X)\$(X)
CP = copy 2>NUL
MD = mkdir
RD = rmdir /q /s 2>NUL
!if $(__VERSION__) < 1250
RM = del /q /f 2>NUL
!else
RM = rm -f
!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)$(DS)h$(DS)nt -I$(%watcom)$(DS)h
SYS_LIBS = $(%watcom)$(DS)lib386$(DS)nt;$(%watcom)$(DS)lib386
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 -dHAVE_SPNEGO=1 -I. -I..$(DS)include $(SYS_INCL)
         -dBUILDING_LIBCURL -dHAVE_SPNEGO=1 -I. -I"../include" $(SYS_INCL)

!ifdef %debug
DEBUG  = -dDEBUG=1 -dDEBUGBUILD
@@ -83,169 +90,162 @@ CFLAGS += -dWANT_IDN_PROTOTYPES
!ifdef %zlib_root
ZLIB_ROOT = $(%zlib_root)
!else
ZLIB_ROOT = ..$(DS)..$(DS)zlib-1.2.8
ZLIB_ROOT = ../../zlib-1.2.8
!endif

!ifdef %libssh2_root
LIBSSH2_ROOT = $(%libssh2_root)
!else
LIBSSH2_ROOT = ..$(DS)..$(DS)libssh2-1.4.3
LIBSSH2_ROOT = ../../libssh2-1.4.3
!endif

!ifdef %librtmp_root
LIBRTMP_ROOT = $(%librtmp_root)
!else
LIBRTMP_ROOT = ..$(DS)..$(DS)rtmpdump-2.3
LIBRTMP_ROOT = ../../rtmpdump-2.3
!endif

!ifdef %openssl_root
OPENSSL_ROOT = $(%openssl_root)
!else
OPENSSL_ROOT = ..$(DS)..$(DS)openssl-0.9.8y
OPENSSL_ROOT = ../../openssl-0.9.8y
!endif

!ifdef %ares_root
ARES_ROOT = $(%ares_root)
!else
ARES_ROOT = ..$(DS)ares
ARES_ROOT = ../ares
!endif

!ifdef %use_zlib
CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I$(ZLIB_ROOT)
CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I"$(ZLIB_ROOT)"
!endif

!ifdef %use_rtmp
CFLAGS += -dUSE_LIBRTMP -I$(LIBRTMP_ROOT)
CFLAGS += -dUSE_LIBRTMP -I"$(LIBRTMP_ROOT)"
!endif

!ifdef %use_ssh2
CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H -I$(LIBSSH2_ROOT)$(DS)include -I$(LIBSSH2_ROOT)$(DS)win32
CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H -I"$(LIBSSH2_ROOT)/include" -I"$(LIBSSH2_ROOT)/win32"
!endif

!ifdef %use_ssl
CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I$(OPENSSL_ROOT)$(DS)inc32
CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I"$(OPENSSL_ROOT)/inc32"
!endif

!ifdef %use_ares
CFLAGS += -dUSE_ARES -I$(ARES_ROOT)
CFLAGS += -dUSE_ARES -I"$(ARES_ROOT)"
!endif

!ifdef %use_watt32
CFLAGS += -dUSE_WATT32 -I$(%watt_root)$(DS)inc
CFLAGS += -dUSE_WATT32 -I"$(%watt_root)/inc"
!endif

OBJ_BASE = WC_Win32.obj
LINK_ARG = $(OBJ_BASE)$(DS)dyn$(DS)wlink.arg
LIB_ARG  = $(OBJ_BASE)$(DS)stat$(DS)wlib.arg

# In order to process Makefile.inc wmake must be called with -u switch!
!ifndef %MAKEFLAGS
!error You MUST call wmake with the -u switch!
!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
!include Makefile.inc
OBJ_STAT = $(OBJ_BASE)\stat
OBJ_DYN  = $(OBJ_BASE)\dyn
!endif

OBJS = $(CSOURCES:.c=.obj)
!ifdef __LINUX__
OBJS = $OBJ_DIR/$(OBJS: = $OBJ_DIR/)
LINK_ARG = $(OBJ_DYN)/wlink.arg
LIB_ARG  = $(OBJ_STAT)/wlib.arg

!else
OBJS = $OBJ_DIR\$(OBJS: = $OBJ_DIR\)
!endif
!include Makefile.inc

#
# Use $(OBJS) as a template to generate $(OBJS_STAT) and $(OBJS_DYN).
#
OBJ_DIR    = $(OBJ_BASE)$(DS)stat
OBJS_STAT  = $+ $(OBJS) $-
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

OBJ_DIR    = $(OBJ_BASE)$(DS)dyn
OBJS_DYN   = $+ $(OBJS) $-
DIRS = $(OBJ_BASE) $(OBJ_BASE)/stat $(OBJ_BASE)/dyn

CURLBUILDH = ..$(DS)include$(DS)curl$(DS)curlbuild.h
RESOURCE   = $(OBJ_BASE)$(DS)dyn$(DS)libcurl.res
.c : vtls

all: $(CURLBUILDH) $(OBJ_BASE) $(TARGETS) .SYMBOLIC
all: $(CURLBUILDH) $(DIRS) $(TARGETS) .SYMBOLIC
	@echo Welcome to libcurl

clean: .SYMBOLIC
	-$(RM) $(OBJS_STAT)
	-$(RM) $(OBJS_DYN)
	-$(RM) $(RESOURCE) $(LINK_ARG) $(LIB_ARG)
	-rm -f $(OBJS_STAT)
	-rm -f $(OBJS_DYN)
	-rm -f $(RESOURCE) $(LINK_ARG) $(LIB_ARG)

vclean distclean: clean .SYMBOLIC
	-$(RM) $(TARGETS) $(LIBNAME).map $(LIBNAME).sym
	-$(RD) $(OBJ_BASE)$(DS)stat
	-$(RD) $(OBJ_BASE)$(DS)dyn
	-rm -f $(TARGETS) $(LIBNAME).map $(LIBNAME).sym
	-$(RD) $(OBJ_STAT)
	-$(RD) $(OBJ_DYN)
	-$(RD) $(OBJ_BASE)

$(OBJ_BASE):
$(DIRS):
	-$(MD) $^@
	-$(MD) $^@$(DS)stat
	-$(MD) $^@$(DS)dyn

$(CURLBUILDH): .EXISTSONLY
	$(CP) $^@.dist $^@

$(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG)
	$(LD) name $^@ @$]@

$(LIBNAME).lib: $(OBJS_STAT) $(LIB_ARG)
	$(AR) -q -b -c $^@ @$]@

.ERASE
$(RESOURCE): libcurl.rc
	$(RC) $(DEBUG) -q -r -zm -bt=nt -I..$(DS)include $(SYS_INCL) $[@ -fo=$^@

.ERASE
.c{$(OBJ_BASE)$(DS)dyn}.obj:
	$(CC) $(CFLAGS) -bd -br $[@ -fo=$^@

.ERASE
.c{$(OBJ_BASE)$(DS)stat}.obj:
	$(CC) $(CFLAGS) -DCURL_STATICLIB $[@ -fo=$^@

$(LINK_ARG): $(__MAKEFILES__)
	%create $^@
	@%append $^@ system nt dll
	@%append $^@ file { $(OBJS_DYN) }
$(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(__MAKEFILES__)
	%create $(LINK_ARG)
	@%append $(LINK_ARG) system nt dll
!ifdef %debug
	@%append $^@ debug all
	@%append $^@ option symfile
!endif
	@%append $^@ option quiet, map, caseexact, eliminate, implib=$(LIBNAME)_imp.lib,
	@%append $^@ res=$(RESOURCE) libpath $(SYS_LIBS)
	@%append $^@ library wldap32.lib
	@%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 $^@ library $(%watt_root)$(DS)lib$(DS)wattcpw_imp.lib
	@%append $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib'
!else
	@%append $^@ library ws2_32.lib
	@%append $(LINK_ARG) library ws2_32.lib
!endif
!ifdef %use_zlib
	@%append $^@ library $(ZLIB_ROOT)$(DS)zlib.lib
	@%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib'
!endif
!ifdef %use_rtmp
	@%append $^@ library $(LIBRTMP_ROOT)$(DS)librtmp$(DS)librtmp.lib
	@%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib'
!endif
!ifdef %use_ssh2
	@%append $^@ library $(LIBSSH2_ROOT)$(DS)win32$(DS)libssh2.lib
	@%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib'
!endif
!ifdef %use_ssl
	@%append $^@ library $(OPENSSL_ROOT)$(DS)out32$(DS)libeay32.lib, $(OPENSSL_ROOT)$(DS)out32$(DS)ssleay32.lib
	@%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/libeay32.lib'
	@%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/ssleay32.lib'
!endif
!ifdef %use_ares
	@%append $^@ library $(ARES_ROOT)$(DS)cares.lib
	@%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib'
!endif
!ifdef %use_winidn
!  if $(__VERSION__) > 1290
	@%append $^@ library normaliz.lib
	@%append $(LINK_ARG) library normaliz.lib
!  else
	@%append $^@ import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii'
	@%append $^@ import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode'
	@%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)

$(LIB_ARG): $(__MAKEFILES__)
	%create $^@
	@for %f in ($(OBJS_STAT)) do @%append $^@ +- %f
$(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=$^@
	
 No newline at end of file
+103 −103
Original line number Diff line number Diff line
@@ -3,16 +3,32 @@
#  G. Vanem <gvanem@broadpark.no>
#

.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)_imp.lib $(LIBNAME).lib

TARGETS = curl.exe

CC = wcc386
LD = wlink
@@ -23,37 +39,29 @@ RC = wrc
!  loaddll wcc386  wccd386
!  loaddll wpp386  wppd386
!  loaddll wlib    wlibd
!  if $(__VERSION__) > 1270
!  loaddll wlink   wlinkd
!  else
!    loaddll wlink   wlink
!  endif
!endif

!ifdef __LINUX__
DS = /
!ifdef __UNIX__
CP = cp
MD = mkdir -p
RD = rmdir -p
RM = rm -f
!else
DS = $(X)\$(X)
CP = copy 2>NUL
MD = mkdir
RD = rmdir /q /s 2>NUL
!if $(__VERSION__) < 1250
RM = del /q /f 2>NUL
!else
RM = rm -f
!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)$(DS)h$(DS)nt -I$(%watcom)$(DS)h
SYS_LIBS = $(%watcom)$(DS)lib386$(DS)nt;$(%watcom)$(DS)lib386
SYS_INCL = -I"$(%watcom)/h/nt" -I"$(%watcom)/h"

CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm &
         -wcd=201 -bt=nt -bc -d+ -dWIN32 -dHAVE_STRTOLL             &
         -I..$(DS)include -I..$(DS)lib $(SYS_INCL)
         -I"../include" -I"../lib" $(SYS_INCL)

!ifdef %debug
DEBUG  = -dDEBUG=1 -dDEBUGBUILD
@@ -66,82 +74,75 @@ CFLAGS += -d0
CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6
!endif

!ifdef %use_ssl
CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I"$(OPENSSL_ROOT)/inc32"
!endif

!ifdef %curl_static
CFLAGS += -DCURL_STATICLIB
!else
CFLAGS += -br
!endif

#
# Change to suite.
#
!ifdef %zlib_root
ZLIB_ROOT = $(%zlib_root)
!else
ZLIB_ROOT = ..$(DS)..$(DS)zlib-1.2.8
ZLIB_ROOT = ../../zlib-1.2.8
!endif

!ifdef %libssh2_root
LIBSSH2_ROOT = $(%libssh2_root)
!else
LIBSSH2_ROOT = ..$(DS)..$(DS)libssh2-1.4.3
LIBSSH2_ROOT = ../../libssh2-1.4.3
!endif

!ifdef %librtmp_root
LIBRTMP_ROOT = $(%librtmp_root)
!else
LIBRTMP_ROOT = ..$(DS)..$(DS)rtmpdump-2.3
LIBRTMP_ROOT = ../../rtmpdump-2.3
!endif

!ifdef %openssl_root
OPENSSL_ROOT = $(%openssl_root)
!else
OPENSSL_ROOT = ..$(DS)..$(DS)openssl-0.9.8y
OPENSSL_ROOT = ../../openssl-0.9.8y
!endif

!ifdef %ares_root
ARES_ROOT = $(%ares_root)
!else
ARES_ROOT = ..$(DS)ares
!endif

!ifdef %use_ssl
CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I$(OPENSSL_ROOT)$(DS)inc32
ARES_ROOT = ../ares
!endif

OBJ_DIR  = WC_Win32.obj
LINK_ARG = $(OBJ_DIR)$(DS)wlink.arg
LINK_ARG = $(OBJ_DIR)/wlink.arg

# In order to process Makefile.inc wmake must be called with -u switch!
!ifndef %MAKEFLAGS
!error You MUST call wmake with the -u switch!
!else
!include Makefile.inc
!endif
# For now we still define the CURLX_ONES sources here unless we know how
# to split off the prefixed path.
CURLX_SOURCES = rawstr.c nonblock.c

OBJS = $(CURL_CFILES:.c=.obj)
!ifdef %curl_static
CFLAGS += -DCURL_STATICLIB
!else
CFLAGS += -br
OBJS += $(CURLX_SOURCES:.c=.obj)
OBJS1 = $(OBJ_DIR)/$(CURL_CFILES)
!ifndef %curl_static
OBJS1 += $(CURLX_ONES:../lib/=)
!endif
!ifdef __LINUX__
OBJS = $OBJ_DIR/$(OBJS: = $OBJ_DIR/)
OBJS2 = $(OBJS1: = $(OBJ_DIR)/)
OBJS = $(OBJS2:.c=.obj)

!else
OBJS = $OBJ_DIR\$(OBJS: = $OBJ_DIR\)
!endif
RESOURCE = $(OBJ_DIR)/curl.res

RESOURCE = $(OBJ_DIR)$(DS)curl.res
DIRS = $(OBJ_DIR)

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

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

vclean distclean: clean .SYMBOLIC
	-$(RD) $(OBJ_DIR)
	-$(RM) curl.exe curl.map curl.sym tool_hugehelp.c
	-rm -f curl.exe curl.sym tool_hugehelp.c

tool_hugehelp.c: tool_hugehelp.c.cvs
	$(CP) $[@ $^@
@@ -149,64 +150,63 @@ tool_hugehelp.c: tool_hugehelp.c.cvs
tool_hugehelp.c.cvs: .EXISTSONLY
	$(CP) tool_hugehelp.c $^@

$(OBJ_DIR):
$(DIRS):
	-$(MD) $^@

curl.exe: $(OBJS) $(RESOURCE) $(LINK_ARG)
	$(LD) name $^@ @$]@

$(RESOURCE): curl.rc
	$(RC) $(DEBUG) -q -r -zm -bt=nt -I..$(DS)include $(SYS_INCL) $[@ -fo=$^@

# suffix search path - vpath-like hack
.c: ..$(DS)lib

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

$(LINK_ARG): $(__MAKEFILES__)
	%create $^@
	@%append $^@ system nt
	@%append $^@ file { $(OBJS) }
curl.exe: $(OBJS) $(RESOURCE)
	%create $(LINK_ARG)
	@%append $(LINK_ARG) system nt
!ifdef %debug
	@%append $^@ debug all
	@%append $^@ option symfile
!endif
	@%append $^@ option quiet, map, caseexact, eliminate,
	@%append $^@ res=$(RESOURCE) libpath $(SYS_LIBS)
!ifdef %curl_static
	@%append $^@ library wldap32.lib
	@%append $^@ library ..$(DS)lib$(DS)$(LIBNAME).lib
	@%append $(LINK_ARG) debug all
	@%append $(LINK_ARG) option symfile
!endif
	@%append $(LINK_ARG) option quiet, caseexact, eliminate
	@%append $(LINK_ARG) option map=$(OBJ_DIR)/$^&.map
	@%append $(LINK_ARG) option res=$(RESOURCE)
	@%append $(LINK_ARG) file { $(OBJS) }
!ifndef %curl_static
	@%append $(LINK_ARG) library ../lib/$(LIBNAME)_imp.lib
!else
	@%append $(LINK_ARG) library ../lib/$(LIBNAME).lib
	@%append $(LINK_ARG) library wldap32.lib
! ifdef %use_zlib
	@%append $^@ library $(ZLIB_ROOT)$(DS)zlib.lib
	@%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib'
! endif
! ifdef %use_rtmp
	@%append $^@ library $(LIBRTMP_ROOT)$(DS)librtmp$(DS)librtmp.lib, winmm.lib
	@%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib'
	@%append $(LINK_ARG) library winmm.lib
! endif
! ifdef %use_ssh2
	@%append $^@ library $(LIBSSH2_ROOT)$(DS)win32$(DS)libssh2.lib
	@%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib'
! endif
! ifdef %use_ssl
	@%append $^@ library $(OPENSSL_ROOT)$(DS)out32$(DS)libeay32.lib, $(OPENSSL_ROOT)$(DS)out32$(DS)ssleay32.lib
	@%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/libeay32.lib'
	@%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/ssleay32.lib'
! endif
! ifdef %use_ares
	@%append $^@ library $(ARES_ROOT)$(DS)cares.lib
	@%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib'
! endif
! ifdef %use_winidn
!  if $(__VERSION__) > 1290
	@%append $^@ library normaliz.lib
	@%append $(LINK_ARG) library normaliz.lib
!  else
	@%append $^@ import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii'
	@%append $^@ import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode'
	@%append $(LINK_ARG) import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii'
	@%append $(LINK_ARG) import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode'
!  endif
! endif
!else
	@%append $^@ library ..$(DS)lib$(DS)$(LIBNAME)_imp.lib
!endif
!ifeq USE_WATT32 1
	@%append $^@ library $(%watt_root)$(DS)lib$(DS)wattcpw_imp.lib
	@%append $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib'
!else
	@%append $^@ library ws2_32.lib
	@%append $(LINK_ARG) library ws2_32.lib
!endif
	$(LD) name $^@ @$(LINK_ARG)

$(RESOURCE): curl.rc
	$(RC) $(DEBUG) -q -r -zm -bt=nt -I"../include" $(SYS_INCL) $[@ -fo=$^@

# suffix search path - vpath-like hack
.c: ../lib

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