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
This commit is contained in:
Jiri Malak
2014-03-03 00:27:38 +01:00
committed by Daniel Stenberg
parent 85484355b3
commit 420d9ff3eb
2 changed files with 207 additions and 207 deletions

View File

@@ -3,16 +3,31 @@
# G. Vanem <gvanem@broadpark.no> # 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 !ifndef %watcom
!error WATCOM environment variable not set! !error WATCOM environment variable not set!
!endif !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 !ifdef %libname
LIBNAME = $(%libname) LIBNAME = $(%libname)
!else !else
LIBNAME = libcurl LIBNAME = libcurl
!endif !endif
TARGETS = $(LIBNAME).dll $(LIBNAME)_imp.lib $(LIBNAME).lib TARGETS = $(LIBNAME).dll $(LIBNAME).lib
CC = wcc386 CC = wcc386
LD = wlink LD = wlink
@@ -23,37 +38,29 @@ RC = wrc
! loaddll wcc386 wccd386 ! loaddll wcc386 wccd386
! loaddll wpp386 wppd386 ! loaddll wpp386 wppd386
! loaddll wlib wlibd ! loaddll wlib wlibd
! if $(__VERSION__) > 1270
! loaddll wlink wlinkd ! loaddll wlink wlinkd
! else
! loaddll wlink wlink
! endif
!endif !endif
!ifdef __LINUX__ !ifdef __LINUX__
DS = /
CP = cp CP = cp
MD = mkdir -p MD = mkdir -p
RD = rmdir -p
RM = rm -f
!else !else
DS = $(X)\$(X)
CP = copy 2>NUL CP = copy 2>NUL
MD = mkdir MD = mkdir
RD = rmdir /q /s 2>NUL
!if $(__VERSION__) < 1250
RM = del /q /f 2>NUL
!else
RM = rm -f
!endif !endif
!if $(__VERSION__) > 1290
RD = rm -rf
!else ifdef __UNIX__
RD = rm -rf
!else
RD = rmdir /q /s 2>NUL
!endif !endif
SYS_INCL = -I$(%watcom)$(DS)h$(DS)nt -I$(%watcom)$(DS)h SYS_INCL = -I"$(%watcom)/h/nt" -I"$(%watcom)/h"
SYS_LIBS = $(%watcom)$(DS)lib386$(DS)nt;$(%watcom)$(DS)lib386
CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm & 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 & -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 !ifdef %debug
DEBUG = -dDEBUG=1 -dDEBUGBUILD DEBUG = -dDEBUG=1 -dDEBUGBUILD
@@ -83,169 +90,162 @@ CFLAGS += -dWANT_IDN_PROTOTYPES
!ifdef %zlib_root !ifdef %zlib_root
ZLIB_ROOT = $(%zlib_root) ZLIB_ROOT = $(%zlib_root)
!else !else
ZLIB_ROOT = ..$(DS)..$(DS)zlib-1.2.8 ZLIB_ROOT = ../../zlib-1.2.8
!endif !endif
!ifdef %libssh2_root !ifdef %libssh2_root
LIBSSH2_ROOT = $(%libssh2_root) LIBSSH2_ROOT = $(%libssh2_root)
!else !else
LIBSSH2_ROOT = ..$(DS)..$(DS)libssh2-1.4.3 LIBSSH2_ROOT = ../../libssh2-1.4.3
!endif !endif
!ifdef %librtmp_root !ifdef %librtmp_root
LIBRTMP_ROOT = $(%librtmp_root) LIBRTMP_ROOT = $(%librtmp_root)
!else !else
LIBRTMP_ROOT = ..$(DS)..$(DS)rtmpdump-2.3 LIBRTMP_ROOT = ../../rtmpdump-2.3
!endif !endif
!ifdef %openssl_root !ifdef %openssl_root
OPENSSL_ROOT = $(%openssl_root) OPENSSL_ROOT = $(%openssl_root)
!else !else
OPENSSL_ROOT = ..$(DS)..$(DS)openssl-0.9.8y OPENSSL_ROOT = ../../openssl-0.9.8y
!endif !endif
!ifdef %ares_root !ifdef %ares_root
ARES_ROOT = $(%ares_root) ARES_ROOT = $(%ares_root)
!else !else
ARES_ROOT = ..$(DS)ares ARES_ROOT = ../ares
!endif !endif
!ifdef %use_zlib !ifdef %use_zlib
CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I$(ZLIB_ROOT) CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I"$(ZLIB_ROOT)"
!endif !endif
!ifdef %use_rtmp !ifdef %use_rtmp
CFLAGS += -dUSE_LIBRTMP -I$(LIBRTMP_ROOT) CFLAGS += -dUSE_LIBRTMP -I"$(LIBRTMP_ROOT)"
!endif !endif
!ifdef %use_ssh2 !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 !endif
!ifdef %use_ssl !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 !endif
!ifdef %use_ares !ifdef %use_ares
CFLAGS += -dUSE_ARES -I$(ARES_ROOT) CFLAGS += -dUSE_ARES -I"$(ARES_ROOT)"
!endif !endif
!ifdef %use_watt32 !ifdef %use_watt32
CFLAGS += -dUSE_WATT32 -I$(%watt_root)$(DS)inc CFLAGS += -dUSE_WATT32 -I"$(%watt_root)/inc"
!endif !endif
OBJ_BASE = WC_Win32.obj OBJ_BASE = WC_Win32.obj
LINK_ARG = $(OBJ_BASE)$(DS)dyn$(DS)wlink.arg !if $(__VERSION__) > 1290
LIB_ARG = $(OBJ_BASE)$(DS)stat$(DS)wlib.arg OBJ_STAT = $(OBJ_BASE)/stat
OBJ_DYN = $(OBJ_BASE)/dyn
# In order to process Makefile.inc wmake must be called with -u switch! !else ifdef __UNIX__
!ifndef %MAKEFLAGS OBJ_STAT = $(OBJ_BASE)/stat
!error You MUST call wmake with the -u switch! OBJ_DYN = $(OBJ_BASE)/dyn
!else !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 !include Makefile.inc
!endif
OBJS = $(CSOURCES:.c=.obj) OBJS1 = ./$(CSOURCES:.c=.obj)
!ifdef __LINUX__ OBJS2 = $(OBJS1:vtls/=)
OBJS = $OBJ_DIR/$(OBJS: = $OBJ_DIR/) OBJS3 = $(OBJS2: = ./)
OBJS_STAT = $(OBJS3:./=$(OBJ_STAT)/)
OBJS_DYN = $(OBJS3:./=$(OBJ_DYN)/)
!else CURLBUILDH = ../include/curl/curlbuild.h
OBJS = $OBJ_DIR\$(OBJS: = $OBJ_DIR\) RESOURCE = $(OBJ_DYN)/libcurl.res
!endif
# DIRS = $(OBJ_BASE) $(OBJ_BASE)/stat $(OBJ_BASE)/dyn
# Use $(OBJS) as a template to generate $(OBJS_STAT) and $(OBJS_DYN).
#
OBJ_DIR = $(OBJ_BASE)$(DS)stat
OBJS_STAT = $+ $(OBJS) $-
OBJ_DIR = $(OBJ_BASE)$(DS)dyn .c : vtls
OBJS_DYN = $+ $(OBJS) $-
CURLBUILDH = ..$(DS)include$(DS)curl$(DS)curlbuild.h all: $(CURLBUILDH) $(DIRS) $(TARGETS) .SYMBOLIC
RESOURCE = $(OBJ_BASE)$(DS)dyn$(DS)libcurl.res
all: $(CURLBUILDH) $(OBJ_BASE) $(TARGETS) .SYMBOLIC
@echo Welcome to libcurl @echo Welcome to libcurl
clean: .SYMBOLIC clean: .SYMBOLIC
-$(RM) $(OBJS_STAT) -rm -f $(OBJS_STAT)
-$(RM) $(OBJS_DYN) -rm -f $(OBJS_DYN)
-$(RM) $(RESOURCE) $(LINK_ARG) $(LIB_ARG) -rm -f $(RESOURCE) $(LINK_ARG) $(LIB_ARG)
vclean distclean: clean .SYMBOLIC vclean distclean: clean .SYMBOLIC
-$(RM) $(TARGETS) $(LIBNAME).map $(LIBNAME).sym -rm -f $(TARGETS) $(LIBNAME).map $(LIBNAME).sym
-$(RD) $(OBJ_BASE)$(DS)stat -$(RD) $(OBJ_STAT)
-$(RD) $(OBJ_BASE)$(DS)dyn -$(RD) $(OBJ_DYN)
-$(RD) $(OBJ_BASE) -$(RD) $(OBJ_BASE)
$(OBJ_BASE): $(DIRS):
-$(MD) $^@ -$(MD) $^@
-$(MD) $^@$(DS)stat
-$(MD) $^@$(DS)dyn
$(CURLBUILDH): .EXISTSONLY $(CURLBUILDH): .EXISTSONLY
$(CP) $^@.dist $^@ $(CP) $^@.dist $^@
$(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG) $(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(__MAKEFILES__)
$(LD) name $^@ @$]@ %create $(LINK_ARG)
@%append $(LINK_ARG) system nt dll
$(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) }
!ifdef %debug !ifdef %debug
@%append $^@ debug all @%append $(LINK_ARG) debug all
@%append $^@ option symfile @%append $(LINK_ARG) option symfile
!endif !endif
@%append $^@ option quiet, map, caseexact, eliminate, implib=$(LIBNAME)_imp.lib, @%append $(LINK_ARG) option quiet, caseexact, eliminate
@%append $^@ res=$(RESOURCE) libpath $(SYS_LIBS) @%append $(LINK_ARG) option map=$(OBJ_DYN)/$(LIBNAME).map
@%append $^@ library wldap32.lib @%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 !ifdef %use_watt32
@%append $^@ library $(%watt_root)$(DS)lib$(DS)wattcpw_imp.lib @%append $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib'
!else !else
@%append $^@ library ws2_32.lib @%append $(LINK_ARG) library ws2_32.lib
!endif !endif
!ifdef %use_zlib !ifdef %use_zlib
@%append $^@ library $(ZLIB_ROOT)$(DS)zlib.lib @%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib'
!endif !endif
!ifdef %use_rtmp !ifdef %use_rtmp
@%append $^@ library $(LIBRTMP_ROOT)$(DS)librtmp$(DS)librtmp.lib @%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib'
!endif !endif
!ifdef %use_ssh2 !ifdef %use_ssh2
@%append $^@ library $(LIBSSH2_ROOT)$(DS)win32$(DS)libssh2.lib @%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib'
!endif !endif
!ifdef %use_ssl !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 !endif
!ifdef %use_ares !ifdef %use_ares
@%append $^@ library $(ARES_ROOT)$(DS)cares.lib @%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib'
!endif !endif
!ifdef %use_winidn !ifdef %use_winidn
! if $(__VERSION__) > 1290 ! if $(__VERSION__) > 1290
@%append $^@ library normaliz.lib @%append $(LINK_ARG) library normaliz.lib
! else ! else
@%append $^@ import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii' @%append $(LINK_ARG) import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii'
@%append $^@ import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode' @%append $(LINK_ARG) import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode'
! endif ! endif
!endif !endif
$(LD) name $^@ @$(LINK_ARG)
$(LIB_ARG): $(__MAKEFILES__) $(LIBNAME).lib: $(OBJS_STAT)
%create $^@ %create $(LIB_ARG)
@for %f in ($(OBJS_STAT)) do @%append $^@ +- %f @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=$^@

View File

@@ -3,16 +3,32 @@
# G. Vanem <gvanem@broadpark.no> # 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 !ifndef %watcom
!error WATCOM environment variable not set! !error WATCOM environment variable not set!
!endif !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 !ifdef %libname
LIBNAME = $(%libname) LIBNAME = $(%libname)
!else !else
LIBNAME = libcurl LIBNAME = libcurl
!endif !endif
TARGETS = $(LIBNAME).dll $(LIBNAME)_imp.lib $(LIBNAME).lib
TARGETS = curl.exe
CC = wcc386 CC = wcc386
LD = wlink LD = wlink
@@ -23,37 +39,29 @@ RC = wrc
! loaddll wcc386 wccd386 ! loaddll wcc386 wccd386
! loaddll wpp386 wppd386 ! loaddll wpp386 wppd386
! loaddll wlib wlibd ! loaddll wlib wlibd
! if $(__VERSION__) > 1270
! loaddll wlink wlinkd ! loaddll wlink wlinkd
! else
! loaddll wlink wlink
! endif
!endif !endif
!ifdef __LINUX__ !ifdef __UNIX__
DS = /
CP = cp CP = cp
MD = mkdir -p MD = mkdir -p
RD = rmdir -p
RM = rm -f
!else !else
DS = $(X)\$(X)
CP = copy 2>NUL CP = copy 2>NUL
MD = mkdir MD = mkdir
RD = rmdir /q /s 2>NUL
!if $(__VERSION__) < 1250
RM = del /q /f 2>NUL
!else
RM = rm -f
!endif !endif
!if $(__VERSION__) > 1290
RD = rm -rf
!else ifdef __UNIX__
RD = rm -rf
!else
RD = rmdir /q /s 2>NUL
!endif !endif
SYS_INCL = -I$(%watcom)$(DS)h$(DS)nt -I$(%watcom)$(DS)h SYS_INCL = -I"$(%watcom)/h/nt" -I"$(%watcom)/h"
SYS_LIBS = $(%watcom)$(DS)lib386$(DS)nt;$(%watcom)$(DS)lib386
CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm & CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm &
-wcd=201 -bt=nt -bc -d+ -dWIN32 -dHAVE_STRTOLL & -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 !ifdef %debug
DEBUG = -dDEBUG=1 -dDEBUGBUILD DEBUG = -dDEBUG=1 -dDEBUGBUILD
@@ -66,82 +74,75 @@ CFLAGS += -d0
CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6 CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6
!endif !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. # Change to suite.
# #
!ifdef %zlib_root !ifdef %zlib_root
ZLIB_ROOT = $(%zlib_root) ZLIB_ROOT = $(%zlib_root)
!else !else
ZLIB_ROOT = ..$(DS)..$(DS)zlib-1.2.8 ZLIB_ROOT = ../../zlib-1.2.8
!endif !endif
!ifdef %libssh2_root !ifdef %libssh2_root
LIBSSH2_ROOT = $(%libssh2_root) LIBSSH2_ROOT = $(%libssh2_root)
!else !else
LIBSSH2_ROOT = ..$(DS)..$(DS)libssh2-1.4.3 LIBSSH2_ROOT = ../../libssh2-1.4.3
!endif !endif
!ifdef %librtmp_root !ifdef %librtmp_root
LIBRTMP_ROOT = $(%librtmp_root) LIBRTMP_ROOT = $(%librtmp_root)
!else !else
LIBRTMP_ROOT = ..$(DS)..$(DS)rtmpdump-2.3 LIBRTMP_ROOT = ../../rtmpdump-2.3
!endif !endif
!ifdef %openssl_root !ifdef %openssl_root
OPENSSL_ROOT = $(%openssl_root) OPENSSL_ROOT = $(%openssl_root)
!else !else
OPENSSL_ROOT = ..$(DS)..$(DS)openssl-0.9.8y OPENSSL_ROOT = ../../openssl-0.9.8y
!endif !endif
!ifdef %ares_root !ifdef %ares_root
ARES_ROOT = $(%ares_root) ARES_ROOT = $(%ares_root)
!else !else
ARES_ROOT = ..$(DS)ares ARES_ROOT = ../ares
!endif
!ifdef %use_ssl
CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_SSLEAY -I$(OPENSSL_ROOT)$(DS)inc32
!endif !endif
OBJ_DIR = WC_Win32.obj 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 !include Makefile.inc
OBJS1 = $(OBJ_DIR)/$(CURL_CFILES)
!ifndef %curl_static
OBJS1 += $(CURLX_ONES:../lib/=)
!endif !endif
# For now we still define the CURLX_ONES sources here unless we know how OBJS2 = $(OBJS1: = $(OBJ_DIR)/)
# to split off the prefixed path. OBJS = $(OBJS2:.c=.obj)
CURLX_SOURCES = rawstr.c nonblock.c
OBJS = $(CURL_CFILES:.c=.obj) RESOURCE = $(OBJ_DIR)/curl.res
!ifdef %curl_static
CFLAGS += -DCURL_STATICLIB
!else
CFLAGS += -br
OBJS += $(CURLX_SOURCES:.c=.obj)
!endif
!ifdef __LINUX__
OBJS = $OBJ_DIR/$(OBJS: = $OBJ_DIR/)
!else DIRS = $(OBJ_DIR)
OBJS = $OBJ_DIR\$(OBJS: = $OBJ_DIR\)
!endif
RESOURCE = $(OBJ_DIR)$(DS)curl.res all: tool_hugehelp.c $(DIRS) $(TARGETS) .SYMBOLIC
all: tool_hugehelp.c $(OBJ_DIR) curl.exe .SYMBOLIC
@echo Welcome to cURL @echo Welcome to cURL
clean: .SYMBOLIC clean: .SYMBOLIC
-$(RM) $(OBJS) -rm -f $(OBJS)
-$(RM) $(RESOURCE) $(LINK_ARG) -rm -f $(RESOURCE) $(LINK_ARG)
vclean distclean: clean .SYMBOLIC vclean distclean: clean .SYMBOLIC
-$(RD) $(OBJ_DIR) -$(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 tool_hugehelp.c: tool_hugehelp.c.cvs
$(CP) $[@ $^@ $(CP) $[@ $^@
@@ -149,64 +150,63 @@ tool_hugehelp.c: tool_hugehelp.c.cvs
tool_hugehelp.c.cvs: .EXISTSONLY tool_hugehelp.c.cvs: .EXISTSONLY
$(CP) tool_hugehelp.c $^@ $(CP) tool_hugehelp.c $^@
$(OBJ_DIR): $(DIRS):
-$(MD) $^@ -$(MD) $^@
curl.exe: $(OBJS) $(RESOURCE) $(LINK_ARG) curl.exe: $(OBJS) $(RESOURCE)
$(LD) name $^@ @$]@ %create $(LINK_ARG)
@%append $(LINK_ARG) system nt
$(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) }
!ifdef %debug !ifdef %debug
@%append $^@ debug all @%append $(LINK_ARG) debug all
@%append $^@ option symfile @%append $(LINK_ARG) option symfile
!endif !endif
@%append $^@ option quiet, map, caseexact, eliminate, @%append $(LINK_ARG) option quiet, caseexact, eliminate
@%append $^@ res=$(RESOURCE) libpath $(SYS_LIBS) @%append $(LINK_ARG) option map=$(OBJ_DIR)/$^&.map
!ifdef %curl_static @%append $(LINK_ARG) option res=$(RESOURCE)
@%append $^@ library wldap32.lib @%append $(LINK_ARG) file { $(OBJS) }
@%append $^@ library ..$(DS)lib$(DS)$(LIBNAME).lib !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 ! ifdef %use_zlib
@%append $^@ library $(ZLIB_ROOT)$(DS)zlib.lib @%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib'
! endif ! endif
! ifdef %use_rtmp ! 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 ! endif
! ifdef %use_ssh2 ! ifdef %use_ssh2
@%append $^@ library $(LIBSSH2_ROOT)$(DS)win32$(DS)libssh2.lib @%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib'
! endif ! endif
! ifdef %use_ssl ! 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 ! endif
! ifdef %use_ares ! ifdef %use_ares
@%append $^@ library $(ARES_ROOT)$(DS)cares.lib @%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib'
! endif ! endif
! ifdef %use_winidn ! ifdef %use_winidn
! if $(__VERSION__) > 1290 ! if $(__VERSION__) > 1290
@%append $^@ library normaliz.lib @%append $(LINK_ARG) library normaliz.lib
! else ! else
@%append $^@ import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii' @%append $(LINK_ARG) import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii'
@%append $^@ import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode' @%append $(LINK_ARG) import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode'
! endif ! endif
! endif ! endif
!else
@%append $^@ library ..$(DS)lib$(DS)$(LIBNAME)_imp.lib
!endif !endif
!ifeq USE_WATT32 1 !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 !else
@%append $^@ library ws2_32.lib @%append $(LINK_ARG) library ws2_32.lib
!endif !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=$^@