summaryrefslogtreecommitdiff
path: root/src/Makefile.Watcom
diff options
context:
space:
mode:
authorJiri Malak <malak.jiri@gmail.com>2014-03-03 00:27:38 +0100
committerDaniel Stenberg <daniel@haxx.se>2014-03-03 08:19:05 +0100
commit420d9ff3ebeec043d38b2818b61f074194a475ba (patch)
tree304e7fa5ee75827623e3e0524d82093bfa41cf0e /src/Makefile.Watcom
parent85484355b313b2176772c13f19754248b31aebf0 (diff)
downloadcurl-420d9ff3ebeec043d38b2818b61f074194a475ba.tar.gz
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
Diffstat (limited to 'src/Makefile.Watcom')
-rw-r--r--src/Makefile.Watcom206
1 files changed, 103 insertions, 103 deletions
diff --git a/src/Makefile.Watcom b/src/Makefile.Watcom
index 6b3103a35..b0c656619 100644
--- a/src/Makefile.Watcom
+++ b/src/Makefile.Watcom
@@ -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
+! loaddll wlink wlinkd
!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
-!ifdef %use_zlib
- @%append $^@ library $(ZLIB_ROOT)$(DS)zlib.lib
-!endif
-!ifdef %use_rtmp
- @%append $^@ library $(LIBRTMP_ROOT)$(DS)librtmp$(DS)librtmp.lib, winmm.lib
-!endif
-!ifdef %use_ssh2
- @%append $^@ library $(LIBSSH2_ROOT)$(DS)win32$(DS)libssh2.lib
-!endif
-!ifdef %use_ssl
- @%append $^@ library $(OPENSSL_ROOT)$(DS)out32$(DS)libeay32.lib, $(OPENSSL_ROOT)$(DS)out32$(DS)ssleay32.lib
-!endif
-!ifdef %use_ares
- @%append $^@ library $(ARES_ROOT)$(DS)cares.lib
-!endif
-!ifdef %use_winidn
+ @%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 $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib'
+! endif
+! ifdef %use_rtmp
+ @%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib'
+ @%append $(LINK_ARG) library winmm.lib
+! endif
+! ifdef %use_ssh2
+ @%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib'
+! endif
+! ifdef %use_ssl
+ @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/libeay32.lib'
+ @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/ssleay32.lib'
+! endif
+! ifdef %use_ares
+ @%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
!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=$^@