2 # Watcom / OpenWatcom / Win32 makefile for cURL.
3 # G. Vanem <gvanem@broadpark.no>
7 !error WATCOM environment variable not set!
9 SYS_INCL = -I$(%watcom)\h\nt -I$(%watcom)\h
10 SYS_LIBS = $(%watcom)\lib386\nt;$(%watcom)\lib386
13 TARGETS = libcurl_wc.dll libcurl_wc_imp.lib libcurl_wc.lib
21 ! loaddll wcc386 wccd386
22 ! loaddll wpp386 wppd386
23 ! loaddll wlink wlinkd
28 RM = del /q /f >NUL 2>&1
29 RD = rmdir /q /s >NUL 2>&1
32 CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm &
33 -wcd=201 -bt=nt -bc -d+ -dWIN32 -dHAVE_STRTOLL &
34 -I..\include -I..\lib $(SYS_INCL)
37 DEBUG = -dDEBUG=1 -dDEBUGBUILD
38 CFLAGS += -d3 $(DEBUG)
44 CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6
47 OBJ_DIR = WC_Win32.obj
48 LINK_ARG = $(OBJ_DIR)\wlink.arg
50 # In order to process Makefile.inc wmake must be called with -u switch!
51 !ifneq __MAKEOPTS__ -u
52 !error You MUST call wmake with the -u switch!
56 # Unfortunately, we can't include Makefile.inc here because wmake doesn't
57 # use backslash as the line continuation character by default
58 CURL_SOURCES = main.c hugehelp.c urlglob.c writeout.c writeenv.c &
59 getpass.c homedir.c curlutil.c os-specific.c
61 CURLX_SOURCES = rawstr.c nonblock.c
63 OBJS = $(CURL_SOURCES:.c=.obj)
65 CFLAGS += -DCURL_STATICLIB
67 OBJS += $(CURLX_SOURCES:.c=.obj)
69 OBJS = $OBJ_DIR\$(OBJS: = $OBJ_DIR\)
71 RESOURCE = $(OBJ_DIR)\curl.res
73 all: hugehelp.c $(OBJ_DIR) curl.exe .SYMBOLIC
76 hugehelp.c: hugehelp.c.cvs
79 hugehelp.c.cvs: .EXISTSONLY
85 curl.exe: $(OBJS) $(RESOURCE) $(LINK_ARG)
86 $(LD) name $^@ @$(LINK_ARG)
88 $(LINK_ARG): $(__MAKEFILES__)
90 @%append $^@ system nt
91 @%append $^@ file { $(OBJS) }
92 @%append $^@ option quiet, map, caseexact, eliminate,
93 @%append $^@ res=$(RESOURCE) libpath $(SYS_LIBS)
94 # @%append $^@ library clib3r.lib
96 @%append $^@ library wldap32.lib
97 @%append $^@ library ..\lib\libcurl_wc.lib
99 @%append $^@ library ..\lib\libcurl_wc_imp.lib
102 @%append $^@ library $(%watt_root)\lib\wattcpw_imp.lib
104 @%append $^@ library ws2_32.lib
109 -$(RM) $(RESOURCE) $(LINK_ARG)
111 vclean realclean: clean .SYMBOLIC
113 -$(RM) curl.exe curl.map hugehelp.c
116 $(RC) $(DEBUG) -q -r -zm -I..\include $(SYS_INCL) $[@ -fo=$^@
120 $(CC) $(CFLAGS) $[@ -fo=$^@
123 $(OBJ_DIR)\rawstr.obj: ..\lib\rawstr.c
124 $(CC) $(CFLAGS) $[@ -fo=$^@
127 $(OBJ_DIR)\nonblock.obj: ..\lib\nonblock.c
128 $(CC) $(CFLAGS) $[@ -fo=$^@
131 # Dependencies based on "gcc -MM .."
133 $(OBJ_DIR)\getpass.obj: getpass.c setup.h config-win32.h ..\lib\setup_once.h getpass.h &
134 ..\lib\memdebug.h ..\lib\setup.h ..\lib\config-win32.h &
135 ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
136 ..\include\curl\curl.h ..\include\curl\curlver.h &
137 ..\include\curl\curlrules.h ..\include\curl\easy.h &
138 ..\include\curl\multi.h ..\include\curl\curl.h
140 $(OBJ_DIR)\homedir.obj: homedir.c setup.h config-win32.h ..\lib\setup_once.h homedir.h &
141 ..\lib\memdebug.h ..\lib\setup.h ..\lib\config-win32.h &
142 ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
143 ..\include\curl\curl.h ..\include\curl\curlver.h &
144 ..\include\curl\curlrules.h ..\include\curl\easy.h &
145 ..\include\curl\multi.h ..\include\curl\curl.h
147 $(OBJ_DIR)\hugehelp.obj: hugehelp.c
149 $(OBJ_DIR)\main.obj: main.c setup.h config-win32.h ..\lib\setup_once.h &
150 ..\include\curl\curl.h ..\include\curl\curlver.h &
151 ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
152 ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
153 urlglob.h writeout.h getpass.h homedir.h curlutil.h hugehelp.h &
154 version.h ..\include\curl\curlver.h ..\lib\curlx.h &
155 ..\include\curl\mprintf.h ..\lib\strequal.h ..\lib\strtoofft.h &
156 ..\lib\setup.h ..\lib\config-win32.h ..\include\curl\curlbuild.h &
157 ..\include\curl\curlrules.h ..\lib\timeval.h ..\lib\memdebug.h &
160 $(OBJ_DIR)\urlglob.obj: urlglob.c setup.h config-win32.h ..\lib\setup_once.h &
161 ..\include\curl\curl.h ..\include\curl\curlver.h &
162 ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
163 ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
164 ..\include\curl\mprintf.h urlglob.h ..\lib\memdebug.h ..\lib\setup.h &
165 ..\lib\config-win32.h ..\include\curl\curlbuild.h &
166 ..\include\curl\curlrules.h os-specific.h
168 $(OBJ_DIR)\writeenv.obj: writeenv.c setup.h config-win32.h ..\lib\setup_once.h
170 $(OBJ_DIR)\writeout.obj: writeout.c setup.h config-win32.h ..\lib\setup_once.h &
171 ..\include\curl\curl.h ..\include\curl\curlver.h &
172 ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
173 ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
174 ..\include\curl\mprintf.h writeout.h
176 $(OBJ_DIR)\curlutil.obj: curlutil.c setup.h config-win32.h ..\lib\setup_once.h &
179 $(OBJ_DIR)\os-specific.obj: os-specific.c os-specific.h setup.h config-win32.h &
182 $(OBJ_DIR)\rawstr.obj: ..\lib\rawstr.c ..\lib\setup.h ..\lib\config-win32.h &
183 ..\include\curl\curlbuild.h ..\include\curl\curlrules.h ..\lib\setup_once.h &
184 ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\curlrules.h &
185 ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
186 ..\lib\strerror.h ..\lib\urldata.h ..\lib\cookie.h ..\lib\formdata.h &
187 ..\lib\timeval.h ..\lib\http_chunks.h ..\lib\hostip.h ..\lib\hash.h &
188 ..\lib\llist.h ..\lib\splay.h ..\include\curl\mprintf.h
190 $(OBJ_DIR)\nonblock.obj: ..\lib\nonblock.c ..\lib\setup.h ..\lib\config-win32.h &
191 ..\include\curl\curlbuild.h ..\include\curl\curlrules.h ..\lib\setup_once.h &
192 ..\include\curl\curl.h ..\include\curl\curlver.h ..\include\curl\curlrules.h &
193 ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
194 ..\lib\strerror.h ..\lib\urldata.h ..\lib\cookie.h ..\lib\formdata.h &
195 ..\lib\timeval.h ..\lib\http_chunks.h ..\lib\hostip.h ..\lib\hash.h &
196 ..\lib\llist.h ..\lib\splay.h ..\include\curl\mprintf.h ..\lib\nonblock.h