Home | History | Annotate | Download | only in src
      1 #***************************************************************************
      2 #                                  _   _ ____  _
      3 #  Project                     ___| | | |  _ \| |
      4 #                             / __| | | | |_) | |
      5 #                            | (__| |_| |  _ <| |___
      6 #                             \___|\___/|_| \_\_____|
      7 #
      8 # Copyright (C) 2005 - 2008, Gisle Vanem <gvanem (a] yahoo.no>.
      9 # Copyright (C) 2005 - 2015, Daniel Stenberg, <daniel (a] haxx.se>, et al.
     10 #
     11 # This software is licensed as described in the file COPYING, which
     12 # you should have received as part of this distribution. The terms
     13 # are also available at https://curl.haxx.se/docs/copyright.html.
     14 #
     15 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
     16 # copies of the Software, and permit persons to whom the Software is
     17 # furnished to do so, under the terms of the COPYING file.
     18 #
     19 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
     20 # KIND, either express or implied.
     21 #
     22 #***************************************************************************
     23 
     24 #
     25 #  Watcom / OpenWatcom / Win32 makefile for cURL.
     26 #
     27 
     28 .ERASE
     29 
     30 !if $(__VERSION__) < 1280
     31 !message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     32 !message ! This Open Watcom version is too old and is no longer supported !
     33 !message !     Please download latest version from www.openwatcom.org     !
     34 !message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     35 !error Unsupported version of Open Watcom
     36 !endif
     37 
     38 !ifndef %watcom
     39 !error WATCOM environment variable not set!
     40 !endif
     41 
     42 # In order to process Makefile.inc wmake must be called with -u switch!
     43 !ifndef %MAKEFLAGS
     44 !error You MUST call wmake with the -u switch!
     45 !endif
     46 
     47 !ifdef %libname
     48 LIBNAME = $(%libname)
     49 !else
     50 LIBNAME = libcurl
     51 !endif
     52 
     53 TARGETS = curl.exe
     54 
     55 CC = wcc386
     56 LD = wlink
     57 AR = wlib
     58 RC = wrc
     59 
     60 !ifdef __LOADDLL__
     61 !  loaddll wcc386  wccd386
     62 !  loaddll wpp386  wppd386
     63 !  loaddll wlib    wlibd
     64 !  loaddll wlink   wlinkd
     65 !endif
     66 
     67 !ifdef __UNIX__
     68 CP = cp
     69 MD = mkdir -p
     70 !else
     71 CP = copy 2>NUL
     72 MD = mkdir
     73 !endif
     74 !if $(__VERSION__) > 1290
     75 RD = rm -rf
     76 !else ifdef __UNIX__
     77 RD = rm -rf
     78 !else
     79 RD = rmdir /q /s 2>NUL
     80 !endif
     81 
     82 SYS_INCL = -I"$(%watcom)/h/nt" -I"$(%watcom)/h"
     83 
     84 CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm &
     85          -wcd=201 -bt=nt -bc -d+ -dWIN32 -dHAVE_STRTOLL             &
     86          -I"../include" -I"../lib" $(SYS_INCL)
     87 
     88 !ifdef %debug
     89 DEBUG  = -dDEBUG=1 -dDEBUGBUILD
     90 CFLAGS += -d3 $(DEBUG)
     91 !else
     92 CFLAGS += -d0
     93 !endif
     94 
     95 !ifdef %use_ipv6
     96 CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6
     97 !endif
     98 
     99 !ifdef %use_ssl
    100 CFLAGS += -wcd=138 -dUSE_OPENSSL -dUSE_OPENSSL -I"$(OPENSSL_ROOT)/inc32"
    101 !endif
    102 
    103 !ifdef %curl_static
    104 CFLAGS += -DCURL_STATICLIB
    105 !else
    106 CFLAGS += -br
    107 !endif
    108 
    109 #
    110 # Change to suite.
    111 #
    112 !ifdef %zlib_root
    113 ZLIB_ROOT = $(%zlib_root)
    114 !else
    115 ZLIB_ROOT = ../../zlib-1.2.8
    116 !endif
    117 
    118 !ifdef %libssh2_root
    119 LIBSSH2_ROOT = $(%libssh2_root)
    120 !else
    121 LIBSSH2_ROOT = ../../libssh2-1.5.0
    122 !endif
    123 
    124 !ifdef %librtmp_root
    125 LIBRTMP_ROOT = $(%librtmp_root)
    126 !else
    127 LIBRTMP_ROOT = ../../rtmpdump-2.3
    128 !endif
    129 
    130 !ifdef %openssl_root
    131 OPENSSL_ROOT = $(%openssl_root)
    132 !else
    133 OPENSSL_ROOT = ../../openssl-1.0.2a
    134 !endif
    135 
    136 !ifdef %ares_root
    137 ARES_ROOT = $(%ares_root)
    138 !else
    139 ARES_ROOT = ../ares
    140 !endif
    141 
    142 OBJ_DIR  = WC_Win32.obj
    143 LINK_ARG = $(OBJ_DIR)/wlink.arg
    144 
    145 !include Makefile.inc
    146 
    147 OBJS1 = $(OBJ_DIR)/$(CURL_CFILES)
    148 !ifndef %curl_static
    149 OBJS1 += $(CURLX_CFILES:../lib/=)
    150 !endif
    151 OBJS2 = $(OBJS1: = $(OBJ_DIR)/)
    152 OBJS = $(OBJS2:.c=.obj)
    153 
    154 RESOURCE = $(OBJ_DIR)/curl.res
    155 
    156 DIRS = $(OBJ_DIR)
    157 
    158 all: tool_hugehelp.c $(DIRS) $(TARGETS) .SYMBOLIC
    159 	@echo Welcome to cURL
    160 
    161 clean: .SYMBOLIC
    162 	-rm -f $(OBJS)
    163 	-rm -f $(RESOURCE) $(LINK_ARG)
    164 
    165 vclean distclean: clean .SYMBOLIC
    166 	-$(RD) $(OBJ_DIR)
    167 	-rm -f curl.exe curl.sym tool_hugehelp.c
    168 
    169 tool_hugehelp.c: tool_hugehelp.c.cvs
    170 	$(CP) $[@ $^@
    171 
    172 tool_hugehelp.c.cvs: .EXISTSONLY
    173 	$(CP) tool_hugehelp.c $^@
    174 
    175 $(DIRS):
    176 	-$(MD) $^@
    177 
    178 curl.exe: $(OBJS) $(RESOURCE)
    179 	%create $(LINK_ARG)
    180 	@%append $(LINK_ARG) system nt
    181 !ifdef %debug
    182 	@%append $(LINK_ARG) debug all
    183 	@%append $(LINK_ARG) option symfile
    184 !endif
    185 	@%append $(LINK_ARG) option quiet, caseexact, eliminate
    186 	@%append $(LINK_ARG) option map=$(OBJ_DIR)/$^&.map
    187 	@%append $(LINK_ARG) option res=$(RESOURCE)
    188 	@%append $(LINK_ARG) file { $(OBJS) }
    189 !ifndef %curl_static
    190 	@%append $(LINK_ARG) library ../lib/$(LIBNAME)_imp.lib
    191 !else
    192 	@%append $(LINK_ARG) library ../lib/$(LIBNAME).lib
    193 	@%append $(LINK_ARG) library wldap32.lib
    194 ! ifdef %use_zlib
    195 	@%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib'
    196 ! endif
    197 ! ifdef %use_rtmp
    198 	@%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib'
    199 	@%append $(LINK_ARG) library winmm.lib
    200 ! endif
    201 ! ifdef %use_ssh2
    202 	@%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib'
    203 ! endif
    204 ! ifdef %use_ssl
    205 	@%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/libeay32.lib'
    206 	@%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/ssleay32.lib'
    207 ! endif
    208 ! ifdef %use_ares
    209 	@%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib'
    210 ! endif
    211 ! ifdef %use_winidn
    212 !  if $(__VERSION__) > 1290
    213 	@%append $(LINK_ARG) library normaliz.lib
    214 !  else
    215 	@%append $(LINK_ARG) import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii'
    216 	@%append $(LINK_ARG) import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode'
    217 !  endif
    218 ! endif
    219 !endif
    220 !ifeq USE_WATT32 1
    221 	@%append $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib'
    222 !else
    223 	@%append $(LINK_ARG) library ws2_32.lib
    224 !endif
    225 	$(LD) name $^@ @$(LINK_ARG)
    226 
    227 $(RESOURCE): curl.rc
    228 	$(RC) $(DEBUG) -q -r -zm -bt=nt -I"../include" $(SYS_INCL) $[@ -fo=$^@
    229 
    230 # suffix search path - vpath-like hack
    231 .c: ../lib
    232 
    233 .c{$(OBJ_DIR)}.obj:
    234 	$(CC) $(CFLAGS) $[@ -fo=$^@
    235