mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
420d9ff3eb
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
251 lines
5.5 KiB
Makefile
251 lines
5.5 KiB
Makefile
#
|
|
# Watcom / OpenWatcom / Win32 makefile for libcurl.
|
|
# 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).lib
|
|
|
|
CC = wcc386
|
|
LD = wlink
|
|
AR = wlib
|
|
RC = wrc
|
|
|
|
!ifdef __LOADDLL__
|
|
! loaddll wcc386 wccd386
|
|
! loaddll wpp386 wppd386
|
|
! loaddll wlib wlibd
|
|
! loaddll wlink wlinkd
|
|
!endif
|
|
|
|
!ifdef __LINUX__
|
|
CP = cp
|
|
MD = mkdir -p
|
|
!else
|
|
CP = copy 2>NUL
|
|
MD = mkdir
|
|
!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)/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"../include" $(SYS_INCL)
|
|
|
|
!ifdef %debug
|
|
DEBUG = -dDEBUG=1 -dDEBUGBUILD
|
|
CFLAGS += -d3 $(DEBUG)
|
|
!else
|
|
CFLAGS += -d0
|
|
!endif
|
|
|
|
!ifdef %use_ipv6
|
|
CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6
|
|
!endif
|
|
|
|
!ifdef %use_sspi
|
|
CFLAGS += -dUSE_WINDOWS_SSPI
|
|
!endif
|
|
|
|
!ifdef %use_winidn
|
|
CFLAGS += -dWINVER=0x0600 -dUSE_WIN32_IDN
|
|
! if $(__VERSION__) <= 1290
|
|
CFLAGS += -dWANT_IDN_PROTOTYPES
|
|
! endif
|
|
!endif
|
|
|
|
#
|
|
# Change to suite.
|
|
#
|
|
!ifdef %zlib_root
|
|
ZLIB_ROOT = $(%zlib_root)
|
|
!else
|
|
ZLIB_ROOT = ../../zlib-1.2.8
|
|
!endif
|
|
|
|
!ifdef %libssh2_root
|
|
LIBSSH2_ROOT = $(%libssh2_root)
|
|
!else
|
|
LIBSSH2_ROOT = ../../libssh2-1.4.3
|
|
!endif
|
|
|
|
!ifdef %librtmp_root
|
|
LIBRTMP_ROOT = $(%librtmp_root)
|
|
!else
|
|
LIBRTMP_ROOT = ../../rtmpdump-2.3
|
|
!endif
|
|
|
|
!ifdef %openssl_root
|
|
OPENSSL_ROOT = $(%openssl_root)
|
|
!else
|
|
OPENSSL_ROOT = ../../openssl-0.9.8y
|
|
!endif
|
|
|
|
!ifdef %ares_root
|
|
ARES_ROOT = $(%ares_root)
|
|
!else
|
|
ARES_ROOT = ../ares
|
|
!endif
|
|
|
|
!ifdef %use_zlib
|
|
CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I"$(ZLIB_ROOT)"
|
|
!endif
|
|
|
|
!ifdef %use_rtmp
|
|
CFLAGS += -dUSE_LIBRTMP -I"$(LIBRTMP_ROOT)"
|
|
!endif
|
|
|
|
!ifdef %use_ssh2
|
|
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)/inc32"
|
|
!endif
|
|
|
|
!ifdef %use_ares
|
|
CFLAGS += -dUSE_ARES -I"$(ARES_ROOT)"
|
|
!endif
|
|
|
|
!ifdef %use_watt32
|
|
CFLAGS += -dUSE_WATT32 -I"$(%watt_root)/inc"
|
|
!endif
|
|
|
|
OBJ_BASE = WC_Win32.obj
|
|
!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
|
|
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
|
|
|
|
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
|
|
|
|
DIRS = $(OBJ_BASE) $(OBJ_BASE)/stat $(OBJ_BASE)/dyn
|
|
|
|
.c : vtls
|
|
|
|
all: $(CURLBUILDH) $(DIRS) $(TARGETS) .SYMBOLIC
|
|
@echo Welcome to libcurl
|
|
|
|
clean: .SYMBOLIC
|
|
-rm -f $(OBJS_STAT)
|
|
-rm -f $(OBJS_DYN)
|
|
-rm -f $(RESOURCE) $(LINK_ARG) $(LIB_ARG)
|
|
|
|
vclean distclean: clean .SYMBOLIC
|
|
-rm -f $(TARGETS) $(LIBNAME).map $(LIBNAME).sym
|
|
-$(RD) $(OBJ_STAT)
|
|
-$(RD) $(OBJ_DYN)
|
|
-$(RD) $(OBJ_BASE)
|
|
|
|
$(DIRS):
|
|
-$(MD) $^@
|
|
|
|
$(CURLBUILDH): .EXISTSONLY
|
|
$(CP) $^@.dist $^@
|
|
|
|
$(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(__MAKEFILES__)
|
|
%create $(LINK_ARG)
|
|
@%append $(LINK_ARG) system nt dll
|
|
!ifdef %debug
|
|
@%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 $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib'
|
|
!else
|
|
@%append $(LINK_ARG) library ws2_32.lib
|
|
!endif
|
|
!ifdef %use_zlib
|
|
@%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib'
|
|
!endif
|
|
!ifdef %use_rtmp
|
|
@%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.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 $(LINK_ARG) library normaliz.lib
|
|
! else
|
|
@%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)
|
|
|
|
$(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=$^@
|
|
|