1#***************************************************************************
2#                                  _   _ ____  _
3#  Project                     ___| | | |  _ \| |
4#                             / __| | | | |_) | |
5#                            | (__| |_| |  _ <| |___
6#                             \___|\___/|_| \_\_____|
7#
8# Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
9#
10# This software is licensed as described in the file COPYING, which
11# you should have received as part of this distribution. The terms
12# are also available at http://curl.haxx.se/docs/copyright.html.
13#
14# You may opt to use, copy, modify, merge, publish, distribute and/or sell
15# copies of the Software, and permit persons to whom the Software is
16# furnished to do so, under the terms of the COPYING file.
17#
18# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19# KIND, either express or implied.
20#
21###########################################################################
22
23VC=vc6
24
25all:
26	./configure
27	make
28
29ssl:
30	./configure --with-ssl
31	make
32
33borland:
34	cd lib
35	$(MAKE) -f Makefile.b32
36	cd ..\src
37	$(MAKE) -f Makefile.b32
38
39borland-ssl:
40	cd lib
41	$(MAKE) -f Makefile.b32 WITH_SSL=1
42	cd ..\src
43	$(MAKE) -f Makefile.b32 WITH_SSL=1
44
45borland-ssl-zlib:
46	cd lib
47	$(MAKE) -f Makefile.b32 WITH_SSL=1 WITH_ZLIB=1
48	cd ..\src
49	$(MAKE) -f Makefile.b32 WITH_SSL=1 WITH_ZLIB=1
50
51borland-clean:
52	cd lib
53	$(MAKE) -f Makefile.b32 clean
54	cd ..\src
55	$(MAKE) -f Makefile.b32 clean
56
57watcom: .SYMBOLIC
58	cd lib && $(MAKE) -u -f Makefile.Watcom
59	cd src && $(MAKE) -u -f Makefile.Watcom
60
61watcom-clean: .SYMBOLIC
62	cd lib && $(MAKE) -u -f Makefile.Watcom clean
63	cd src && $(MAKE) -u -f Makefile.Watcom clean
64
65watcom-vclean: .SYMBOLIC
66	cd lib && $(MAKE) -u -f Makefile.Watcom vclean
67	cd src && $(MAKE) -u -f Makefile.Watcom vclean
68
69mingw32:
70	$(MAKE) -C lib -f Makefile.m32
71	$(MAKE) -C src -f Makefile.m32
72
73mingw32-clean:
74	$(MAKE) -C lib -f Makefile.m32 clean
75	$(MAKE) -C src -f Makefile.m32 clean
76	$(MAKE) -C docs/examples -f Makefile.m32 clean
77
78mingw32-vclean mingw32-distclean:
79	$(MAKE) -C lib -f Makefile.m32 vclean
80	$(MAKE) -C src -f Makefile.m32 vclean
81	$(MAKE) -C docs/examples -f Makefile.m32 vclean
82
83mingw32-examples%:
84	$(MAKE) -C docs/examples -f Makefile.m32 CFG=$@
85
86mingw32%:
87	$(MAKE) -C lib -f Makefile.m32 CFG=$@
88	$(MAKE) -C src -f Makefile.m32 CFG=$@
89
90vc-clean: $(VC)
91	cd lib
92	nmake -f Makefile.$(VC) clean
93	cd ..\src
94	nmake -f Makefile.$(VC) clean
95
96vc-all: $(VC)
97	cd lib
98	nmake -f Makefile.$(VC) cfg=release
99	nmake -f Makefile.$(VC) cfg=release-ssl
100	nmake -f Makefile.$(VC) cfg=release-zlib
101	nmake -f Makefile.$(VC) cfg=release-ssl-zlib
102	nmake -f Makefile.$(VC) cfg=release-ssl-dll
103	nmake -f Makefile.$(VC) cfg=release-zlib-dll
104	nmake -f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
105	nmake -f Makefile.$(VC) cfg=release-dll
106	nmake -f Makefile.$(VC) cfg=release-dll-ssl-dll
107	nmake -f Makefile.$(VC) cfg=release-dll-zlib-dll
108	nmake -f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
109	nmake -f Makefile.$(VC) cfg=debug
110	nmake -f Makefile.$(VC) cfg=debug-ssl
111	nmake -f Makefile.$(VC) cfg=debug-zlib
112	nmake -f Makefile.$(VC) cfg=debug-ssl-zlib
113	nmake -f Makefile.$(VC) cfg=debug-ssl-dll
114	nmake -f Makefile.$(VC) cfg=debug-zlib-dll
115	nmake -f Makefile.$(VC) cfg=debug-ssl-dll-zlib-dll
116	nmake -f Makefile.$(VC) cfg=debug-dll
117	nmake -f Makefile.$(VC) cfg=debug-dll-ssl-dll
118	nmake -f Makefile.$(VC) cfg=debug-dll-zlib-dll
119	nmake -f Makefile.$(VC) cfg=debug-dll-ssl-dll-zlib-dll
120
121vc: $(VC)
122	cd lib
123	nmake /f Makefile.$(VC) cfg=release
124	cd ..\src
125	nmake /f Makefile.$(VC)
126
127vc-x64: $(VC)
128	cd lib
129	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release
130	cd ..\src
131	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release
132
133vc-zlib: $(VC)
134	cd lib
135	nmake /f Makefile.$(VC) cfg=release-zlib
136	cd ..\src
137	nmake /f Makefile.$(VC) cfg=release-zlib
138
139vc-x64-zlib: $(VC)
140	cd lib
141	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib
142	cd ..\src
143	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-zlib
144
145vc-ssl: $(VC)
146	cd lib
147	nmake /f Makefile.$(VC) cfg=release-ssl
148	cd ..\src
149	nmake /f Makefile.$(VC) cfg=release-ssl
150
151vc-winssl: $(VC)
152	cd lib
153	nmake /f Makefile.$(VC) cfg=release-winssl WINDOWS_SSPI=1
154	cd ..\src
155	nmake /f Makefile.$(VC) cfg=release-winssl WINDOWS_SSPI=1
156
157vc-x64-ssl: $(VC)
158	cd lib
159	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl
160	cd ..\src
161	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl
162
163vc-x64-winssl: $(VC)
164	cd lib
165	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl WINDOWS_SSPI=1
166	cd ..\src
167	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl WINDOWS_SSPI=1
168
169vc-ssl-zlib: $(VC)
170	cd lib
171	nmake /f Makefile.$(VC) cfg=release-ssl-zlib
172	cd ..\src
173	nmake /f Makefile.$(VC) cfg=release-ssl-zlib
174
175vc-winssl-zlib: $(VC)
176	cd lib
177	nmake /f Makefile.$(VC) cfg=release-winssl-zlib
178	cd ..\src
179	nmake /f Makefile.$(VC) cfg=release-winssl-zlib
180
181vc-x64-ssl-zlib: $(VC)
182	cd lib
183	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib
184	cd ..\src
185	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib
186
187vc-x64-winssl-zlib: $(VC)
188	cd lib
189	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl-zlib
190	cd ..\src
191	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-winssl-zlib
192
193vc-ssl-dll: $(VC)
194	cd lib
195	nmake /f Makefile.$(VC) cfg=release-ssl-dll
196	cd ..\src
197	nmake /f Makefile.$(VC) cfg=release-ssl-dll
198
199vc-dll-ssl-dll: $(VC)
200	cd lib
201	nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll
202	cd ..\src
203	nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll
204
205vc-dll: $(VC)
206	cd lib
207	nmake /f Makefile.$(VC) cfg=release-dll
208	cd ..\src
209	nmake /f Makefile.$(VC) cfg=release-dll
210
211vc-dll-zlib-dll: $(VC)
212	cd lib
213	nmake /f Makefile.$(VC) cfg=release-dll-zlib-dll
214	cd ..\src
215	nmake /f Makefile.$(VC) cfg=release-dll-zlib-dll
216
217vc-dll-ssl-dll-zlib-dll: $(VC)
218	cd lib
219	nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
220	cd ..\src
221	nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
222
223vc-ssl-dll-zlib-dll: $(VC)
224	cd lib
225	nmake /f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
226	cd ..\src
227	nmake /f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
228
229vc-zlib-dll: $(VC)
230	cd lib
231	nmake /f Makefile.$(VC) cfg=release-zlib-dll
232	cd ..\src
233	nmake /f Makefile.$(VC) cfg=release-zlib-dll
234
235vc-sspi: $(VC)
236	cd lib
237	nmake /f Makefile.$(VC) cfg=release WINDOWS_SSPI=1
238	cd ..\src
239	nmake /f Makefile.$(VC) cfg=release WINDOWS_SSPI=1
240
241djgpp:
242	$(MAKE) -C lib -f Makefile.dj
243	$(MAKE) -C src -f Makefile.dj
244
245cygwin:
246	./configure
247	make
248
249cygwin-ssl:
250	./configure --with-ssl
251	make
252
253amiga:
254	cd ./lib && make -f makefile.amiga
255	cd ./src && make -f makefile.amiga
256
257netware:
258	$(MAKE) -C lib -f Makefile.netware
259	$(MAKE) -C src -f Makefile.netware
260
261netware-clean:
262	$(MAKE) -C lib -f Makefile.netware clean
263	$(MAKE) -C src -f Makefile.netware clean
264	$(MAKE) -C docs/examples -f Makefile.netware clean
265
266netware-vclean netware-distclean:
267	$(MAKE) -C lib -f Makefile.netware vclean
268	$(MAKE) -C src -f Makefile.netware vclean
269	$(MAKE) -C docs/examples -f Makefile.netware vclean
270
271netware-install:
272	$(MAKE) -C lib -f Makefile.netware install
273	$(MAKE) -C src -f Makefile.netware install
274
275netware-examples-%:
276	$(MAKE) -C docs/examples -f Makefile.netware CFG=$@
277
278netware-%:
279	$(MAKE) -C lib -f Makefile.netware CFG=$@
280	$(MAKE) -C src -f Makefile.netware CFG=$@
281
282unix: all
283
284unix-ssl: ssl
285
286linux: all
287
288linux-ssl: ssl
289
290# We don't need to do anything for vc6.
291vc6:
292
293# VC7 makefiles are for use with VS.NET and VS.NET 2003
294vc7: lib/Makefile.vc7 src/Makefile.vc7
295
296lib/Makefile.vc7: lib/Makefile.vc6
297	@echo "generate $@"
298	@sed -e "s/VC6/VC7/g" lib/Makefile.vc6 > lib/Makefile.vc7
299
300src/Makefile.vc7: src/Makefile.vc6
301	@echo "generate $@"
302	@sed -e "s/VC6/VC7/g" src/Makefile.vc6 > src/Makefile.vc7
303
304# VC8 makefiles are for use with VS2005
305vc8: lib/Makefile.vc8 src/Makefile.vc8
306
307lib/Makefile.vc8: lib/Makefile.vc6
308	@echo "generate $@"
309	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib bufferoverflowu.lib/g" -e "s/VC6/VC8/g" lib/Makefile.vc6 > lib/Makefile.vc8
310
311src/Makefile.vc8: src/Makefile.vc6
312	@echo "generate $@"
313	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib bufferoverflowu.lib/g" -e "s/VC6/VC8/g" src/Makefile.vc6 > src/Makefile.vc8
314
315# VC9 makefiles are for use with VS2008
316vc9: lib/Makefile.vc9 src/Makefile.vc9
317
318lib/Makefile.vc9: lib/Makefile.vc6
319	@echo "generate $@"
320	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc9/g" -e "s/VC6/VC9/g" lib/Makefile.vc6 > lib/Makefile.vc9
321
322src/Makefile.vc9: src/Makefile.vc6
323	@echo "generate $@"
324	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc9/g" -e "s/VC6/VC9/g" src/Makefile.vc6 > src/Makefile.vc9
325
326# VC10 makefiles are for use with VS2010
327vc10: lib/Makefile.vc10 src/Makefile.vc10
328
329lib/Makefile.vc10: lib/Makefile.vc6
330	@echo "generate $@"
331	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc10/g" -e "s/VC6/VC10/g" lib/Makefile.vc6 > lib/Makefile.vc10
332
333src/Makefile.vc10: src/Makefile.vc6
334	@echo "generate $@"
335	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc10/g" -e "s/VC6/VC10/g" src/Makefile.vc6 > src/Makefile.vc10
336
337# VC11 makefiles are for use with VS2012
338vc11: lib/Makefile.vc11 src/Makefile.vc11
339
340lib/Makefile.vc11: lib/Makefile.vc6
341	@echo "generate $@"
342	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc11/g" -e "s/VC6/VC11/g" lib/Makefile.vc6 > lib/Makefile.vc11
343
344src/Makefile.vc11: src/Makefile.vc6
345	@echo "generate $@"
346	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc11/g" -e "s/VC6/VC11/g" src/Makefile.vc6 > src/Makefile.vc11
347
348# VC12 makefiles are for use with VS2013
349vc12: lib/Makefile.vc12 src/Makefile.vc12
350
351lib/Makefile.vc12: lib/Makefile.vc6
352	@echo "generate $@"
353	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc12/g" -e "s/VC6/VC12/g" lib/Makefile.vc6 > lib/Makefile.vc12
354
355src/Makefile.vc12: src/Makefile.vc6
356	@echo "generate $@"
357	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc12/g" -e "s/VC6/VC12/g" src/Makefile.vc6 > src/Makefile.vc12
358
359ca-bundle: lib/mk-ca-bundle.pl
360	@echo "generate a fresh ca-bundle.crt"
361	@perl $< -b -l -u lib/ca-bundle.crt
362
363ca-firefox: lib/firefox-db2pem.sh
364	@echo "generate a fresh ca-bundle.crt"
365	./lib/firefox-db2pem.sh lib/ca-bundle.crt
366