~ubuntu-branches/ubuntu/lucid/curl/lucid-security

« back to all changes in this revision

Viewing changes to lib/Makefile.vc9

  • Committer: Bazaar Package Importer
  • Author(s): Michael Vogt
  • Date: 2009-04-29 11:10:29 UTC
  • mfrom: (3.2.3 sid)
  • Revision ID: james.westby@ubuntu.com-20090429111029-2j5eiyokfw2bw049
Tags: 7.19.4-1ubuntu1
* Merge from debian unstable, remaining changes:
  - Drop build dependencies: stunnel, libdb4.6-dev, libssh2-1-dev
  - Add build-dependency on openssh-server
  - Drop libssh2-1-dev from libcurl4-openssl-dev's Depends.
  - Call automake-1.9 with --add-missing --copy --force
* drop debian/patches/security_CVE-2009-0037.patch 
  - this patch is part of 7.19.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#***************************************************************************
 
2
#                                  _   _ ____  _
 
3
#  Project                     ___| | | |  _ \| |
 
4
#                             / __| | | | |_) | |
 
5
#                            | (__| |_| |  _ <| |___
 
6
#                             \___|\___/|_| \_\_____|
 
7
#
 
8
# Copyright (C) 1999 - 2009, 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
# $Id: Makefile.am,v 1.139 2008-11-03 08:50:58 bagder Exp $
 
22
###########################################################################
 
23
#
 
24
# Makefile for building libcurl with MSVC9
 
25
#
 
26
# Usage: see usage message below
 
27
#        Should be invoked from \lib directory
 
28
#        Edit the paths and desired library name
 
29
#        SSL path is only required if you intend compiling
 
30
#        with SSL.
 
31
#
 
32
# This make file leaves the result either a .lib or .dll file
 
33
# in the \lib directory. It should be called from the \lib
 
34
# directory.
 
35
#
 
36
# An option would have been to allow the source directory to
 
37
# be specified, but I saw no requirement.
 
38
#
 
39
# Another option would have been to leave the .lib and .dll
 
40
# files in the "cfg" directory, but then the make file
 
41
# in \src would need to be changed.
 
42
#
 
43
##############################################################
 
44
 
 
45
#
 
46
# Stem for static libs and DLLs
 
47
#
 
48
LIB_NAME       = libcurl
 
49
LIB_NAME_DEBUG = libcurld
 
50
 
 
51
#
 
52
# Stem for DLL import libs
 
53
#
 
54
IMPLIB_NAME       = libcurl_imp
 
55
IMPLIB_NAME_DEBUG = libcurld_imp
 
56
 
 
57
!IFNDEF OPENSSL_PATH
 
58
OPENSSL_PATH   = ../../openssl-0.9.8g
 
59
!ENDIF
 
60
 
 
61
!IFNDEF ZLIB_PATH
 
62
ZLIB_PATH  = ../../zlib-1.2.3
 
63
!ENDIF
 
64
 
 
65
!IFNDEF MACHINE
 
66
MACHINE  = X86
 
67
!ENDIF
 
68
 
 
69
# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
 
70
# without an openssl installation and offers the ability to authenticate
 
71
# using the "current logged in user". Since at least with MSVC9 the sspi.h
 
72
# header is broken it is either required to install the Windows SDK,
 
73
# or to fix sspi.h with adding this define at the beginning of sspi.h:
 
74
# #define FreeCredentialHandle FreeCredentialsHandle
 
75
#
 
76
# If, for some reason the Windows SDK is installed but not installed
 
77
# in the default location, you can specify WINDOWS_SDK_PATH.
 
78
# It can be downloaded from:
 
79
# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
 
80
 
 
81
# WINDOWS_SSPI = 1
 
82
 
 
83
!IFDEF WINDOWS_SSPI
 
84
!IFNDEF WINDOWS_SDK_PATH
 
85
WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
 
86
!ENDIF
 
87
!ENDIF
 
88
 
 
89
#############################################################
 
90
## Nothing more to do below this line!
 
91
 
 
92
CCNODBG    = cl.exe /O2 /DNDEBUG
 
93
CCDEBUG    = cl.exe /Od /Gm /Zi /D_DEBUG /RTC1
 
94
CFLAGSSSL  = /DUSE_SSLEAY /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
 
95
CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
 
96
CFLAGS     = /I. /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL
 
97
CFLAGSLIB  = /DCURL_STATICLIB
 
98
LNKDLL     = link.exe /DLL
 
99
LNKLIB     = link.exe /lib
 
100
LFLAGS     = /nologo /machine:$(MACHINE)
 
101
SSLLIBS    = libeay32.lib ssleay32.lib
 
102
ZLIBLIBSDLL= zdll.lib
 
103
ZLIBLIBS   = zlib.lib
 
104
WINLIBS    = ws2_32.lib wldap32.lib
 
105
CFLAGS     = $(CFLAGS)
 
106
 
 
107
CFGSET     = FALSE
 
108
 
 
109
!IFDEF WINDOWS_SSPI
 
110
CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
 
111
!ENDIF
 
112
 
 
113
##############################################################
 
114
# Runtime library configuration
 
115
 
 
116
RTLIB   = /MD
 
117
RTLIBD  = /MDd
 
118
 
 
119
!IF "$(RTLIBCFG)" == "static"
 
120
RTLIB  = /MT
 
121
RTLIBD = /MTd
 
122
!ENDIF
 
123
 
 
124
 
 
125
######################
 
126
# release
 
127
 
 
128
!IF "$(CFG)" == "release"
 
129
TARGET = $(LIB_NAME).lib
 
130
DIROBJ = $(CFG)
 
131
LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
 
132
CC     = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
 
133
CFGSET = TRUE
 
134
!ENDIF
 
135
 
 
136
######################
 
137
# release-zlib
 
138
 
 
139
!IF "$(CFG)" == "release-zlib"
 
140
TARGET   = $(LIB_NAME).lib
 
141
DIROBJ   = $(CFG)
 
142
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
143
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 
144
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
 
145
CFGSET   = TRUE
 
146
!ENDIF
 
147
 
 
148
######################
 
149
# release-dll
 
150
 
 
151
!IF "$(CFG)" == "release-dll"
 
152
TARGET = $(LIB_NAME).dll
 
153
DIROBJ = $(CFG)
 
154
LNK    = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
 
155
CC     = $(CCNODBG) $(RTLIB)
 
156
CFGSET = TRUE
 
157
RESOURCE = $(DIROBJ)\libcurl.res
 
158
!ENDIF
 
159
 
 
160
######################
 
161
# release-ssl
 
162
 
 
163
!IF "$(CFG)" == "release-ssl"
 
164
TARGET   = $(LIB_NAME).lib
 
165
DIROBJ   = $(CFG)
 
166
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
 
167
LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
 
168
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
 
169
CFGSET   = TRUE
 
170
!ENDIF
 
171
 
 
172
######################
 
173
# release-ssl-dll
 
174
 
 
175
!IF "$(CFG)" == "release-ssl-dll"
 
176
TARGET   = $(LIB_NAME).lib
 
177
DIROBJ   = $(CFG)
 
178
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 
179
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
 
180
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
 
181
CFGSET   = TRUE
 
182
!ENDIF
 
183
 
 
184
######################
 
185
# release-ssl-zlib
 
186
 
 
187
!IF "$(CFG)" == "release-ssl-zlib"
 
188
TARGET   = $(LIB_NAME).lib
 
189
DIROBJ   = $(CFG)
 
190
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
 
191
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
192
LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 
193
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
 
194
CFGSET   = TRUE
 
195
!ENDIF
 
196
 
 
197
######################
 
198
# release-dll-ssl-dll
 
199
 
 
200
!IF "$(CFG)" == "release-dll-ssl-dll"
 
201
TARGET   = $(LIB_NAME).dll
 
202
DIROBJ   = $(CFG)
 
203
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 
204
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
 
205
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
 
206
CFGSET   = TRUE
 
207
RESOURCE = $(DIROBJ)\libcurl.res
 
208
!ENDIF
 
209
 
 
210
######################
 
211
# release-zlib-dll
 
212
 
 
213
!IF "$(CFG)" == "release-zlib-dll"
 
214
TARGET   = $(LIB_NAME).lib
 
215
DIROBJ   = $(CFG)
 
216
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
217
LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 
218
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
 
219
CFGSET   = TRUE
 
220
!ENDIF
 
221
 
 
222
######################
 
223
# release-ssl-dll-zlib-dll
 
224
 
 
225
!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
 
226
TARGET   = $(LIB_NAME).lib
 
227
DIROBJ   = $(CFG)
 
228
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
229
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 
230
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 
231
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
 
232
CFGSET   = TRUE
 
233
!ENDIF
 
234
 
 
235
######################
 
236
# release-dll-zlib-dll
 
237
 
 
238
!IF "$(CFG)" == "release-dll-zlib-dll"
 
239
TARGET   = $(LIB_NAME).dll
 
240
DIROBJ   = $(CFG)
 
241
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
242
LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
 
243
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
 
244
CFGSET   = TRUE
 
245
RESOURCE = $(DIROBJ)\libcurl.res
 
246
!ENDIF
 
247
 
 
248
######################
 
249
# release-dll-ssl-dll-zlib-dll
 
250
 
 
251
!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
 
252
TARGET   = $(LIB_NAME).dll
 
253
DIROBJ   = $(CFG)
 
254
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
255
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 
256
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
 
257
CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
 
258
CFGSET   = TRUE
 
259
RESOURCE = $(DIROBJ)\libcurl.res
 
260
!ENDIF
 
261
 
 
262
######################
 
263
# debug
 
264
 
 
265
!IF "$(CFG)" == "debug"
 
266
TARGET = $(LIB_NAME_DEBUG).lib
 
267
DIROBJ = $(CFG)
 
268
LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
 
269
CC     = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
 
270
CFGSET = TRUE
 
271
!ENDIF
 
272
 
 
273
######################
 
274
# debug-ssl
 
275
 
 
276
!IF "$(CFG)" == "debug-ssl"
 
277
TARGET   = $(LIB_NAME_DEBUG).lib
 
278
DIROBJ   = $(CFG)
 
279
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
 
280
LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
 
281
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
 
282
CFGSET   = TRUE
 
283
!ENDIF
 
284
 
 
285
######################
 
286
# debug-zlib
 
287
 
 
288
!IF "$(CFG)" == "debug-zlib"
 
289
TARGET   = $(LIB_NAME_DEBUG).lib
 
290
DIROBJ   = $(CFG)
 
291
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
292
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 
293
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
 
294
CFGSET   = TRUE
 
295
!ENDIF
 
296
 
 
297
######################
 
298
# debug-ssl-dll
 
299
 
 
300
!IF "$(CFG)" == "debug-ssl-dll"
 
301
TARGET   = $(LIB_NAME_DEBUG).lib
 
302
DIROBJ   = $(CFG)
 
303
LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
 
304
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
 
305
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
 
306
CFGSET   = TRUE
 
307
!ENDIF
 
308
 
 
309
######################
 
310
# debug-ssl-zlib
 
311
 
 
312
!IF "$(CFG)" == "debug-ssl-zlib"
 
313
TARGET   = $(LIB_NAME_DEBUG).lib
 
314
DIROBJ   = $(CFG)
 
315
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
316
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
 
317
LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 
318
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
 
319
CFGSET   = TRUE
 
320
!ENDIF
 
321
 
 
322
######################
 
323
# debug-zlib-dll
 
324
 
 
325
!IF "$(CFG)" == "debug-zlib-dll"
 
326
TARGET   = $(LIB_NAME_DEBUG).lib
 
327
DIROBJ   = $(CFG)
 
328
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
329
LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 
330
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
 
331
CFGSET   = TRUE
 
332
!ENDIF
 
333
 
 
334
######################
 
335
# debug-ssl-dll-zlib-dll
 
336
 
 
337
!IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
 
338
TARGET   = $(LIB_NAME_DEBUG).lib
 
339
DIROBJ   = $(CFG)
 
340
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
341
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 
342
LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
 
343
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
 
344
CFGSET   = TRUE
 
345
!ENDIF
 
346
 
 
347
######################
 
348
# debug-dll
 
349
 
 
350
!IF "$(CFG)" == "debug-dll"
 
351
TARGET = $(LIB_NAME_DEBUG).dll
 
352
DIROBJ = $(CFG)
 
353
LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
 
354
CC     = $(CCDEBUG) $(RTLIBD) 
 
355
CFGSET = TRUE
 
356
RESOURCE = $(DIROBJ)\libcurl.res
 
357
!ENDIF
 
358
 
 
359
######################
 
360
# debug-dll-ssl-dll
 
361
 
 
362
!IF "$(CFG)" == "debug-dll-ssl-dll"
 
363
TARGET   = $(LIB_NAME_DEBUG).dll
 
364
DIROBJ   = $(CFG)
 
365
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 
366
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
 
367
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
 
368
CFGSET   = TRUE
 
369
RESOURCE = $(DIROBJ)\libcurl.res
 
370
!ENDIF
 
371
 
 
372
######################
 
373
# debug-dll-zlib-dll
 
374
 
 
375
!IF "$(CFG)" == "debug-dll-zlib-dll"
 
376
TARGET   = $(LIB_NAME_DEBUG).dll
 
377
DIROBJ   = $(CFG)
 
378
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
379
LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
 
380
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
 
381
CFGSET   = TRUE
 
382
RESOURCE = $(DIROBJ)\libcurl.res
 
383
!ENDIF
 
384
 
 
385
######################
 
386
# debug-dll-ssl-dll-zlib-dll
 
387
 
 
388
!IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
 
389
TARGET   = $(LIB_NAME_DEBUG).dll
 
390
DIROBJ   = $(CFG)
 
391
LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
 
392
LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
 
393
LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
 
394
CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
 
395
CFGSET   = TRUE
 
396
RESOURCE = $(DIROBJ)\libcurl.res
 
397
!ENDIF
 
398
 
 
399
#######################
 
400
# Usage
 
401
#
 
402
!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
 
403
!MESSAGE Usage: nmake /f makefile.vc9 CFG=<config> <target>
 
404
!MESSAGE where <config> is one of:
 
405
!MESSAGE   release                      - release static library
 
406
!MESSAGE   release-ssl                  - release static library with ssl
 
407
!MESSAGE   release-zlib                 - release static library with zlib
 
408
!MESSAGE   release-ssl-zlib             - release static library with ssl and zlib
 
409
!MESSAGE   release-ssl-dll              - release static library with dynamic ssl
 
410
!MESSAGE   release-zlib-dll             - release static library with dynamic zlib
 
411
!MESSAGE   release-ssl-dll-zlib-dll     - release static library with dynamic ssl and dynamic zlib
 
412
!MESSAGE   release-dll                  - release dynamic library
 
413
!MESSAGE   release-dll-ssl-dll          - release dynamic library with dynamic ssl
 
414
!MESSAGE   release-dll-zlib-dll         - release dynamic library with dynamic zlib
 
415
!MESSAGE   release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
 
416
!MESSAGE   debug                        - debug static library
 
417
!MESSAGE   debug-ssl                    - debug static library with ssl
 
418
!MESSAGE   debug-zlib                   - debug static library with zlib
 
419
!MESSAGE   debug-ssl-zlib               - debug static library with ssl and zlib
 
420
!MESSAGE   debug-ssl-dll                - debug static library with dynamic ssl
 
421
!MESSAGE   debug-zlib-dll               - debug static library with dynamic zlib
 
422
!MESSAGE   debug-ssl-dll-zlib-dll       - debug static library with dynamic ssl and dynamic zlib
 
423
!MESSAGE   debug-dll                    - debug dynamic library
 
424
!MESSAGE   debug-dll-ssl-dll            - debug dynamic library with dynamic ssl
 
425
!MESSAGE   debug-dll-zlib-dll           - debug dynamic library with dynamic zlib1
 
426
!MESSAGE   debug-dll-ssl-dll-zlib-dll   - debug dynamic library with dynamic ssl and dynamic zlib
 
427
!MESSAGE <target> can be left blank in which case all is assumed
 
428
!ERROR please choose a valid configuration "$(CFG)"
 
429
!ENDIF
 
430
 
 
431
#######################
 
432
# Only the clean target can be used if a config was not provided.
 
433
#
 
434
!IF "$(CFGSET)" == "FALSE"
 
435
clean:
 
436
        @-erase /s *.dll 2> NUL
 
437
        @-erase /s *.exp 2> NUL
 
438
        @-erase /s *.idb 2> NUL
 
439
        @-erase /s *.lib 2> NUL
 
440
        @-erase /s *.obj 2> NUL
 
441
        @-erase /s *.pch 2> NUL
 
442
        @-erase /s *.pdb 2> NUL
 
443
        @-erase /s *.res 2> NUL
 
444
!ELSE
 
445
# A config was provided, so the library can be built.
 
446
#
 
447
X_OBJS= \
 
448
        $(DIROBJ)\base64.obj \
 
449
        $(DIROBJ)\connect.obj \
 
450
        $(DIROBJ)\content_encoding.obj \
 
451
        $(DIROBJ)\cookie.obj \
 
452
        $(DIROBJ)\curl_addrinfo.obj \
 
453
        $(DIROBJ)\curl_sspi.obj \
 
454
        $(DIROBJ)\dict.obj \
 
455
        $(DIROBJ)\easy.obj \
 
456
        $(DIROBJ)\escape.obj \
 
457
        $(DIROBJ)\file.obj \
 
458
        $(DIROBJ)\formdata.obj \
 
459
        $(DIROBJ)\ftp.obj \
 
460
        $(DIROBJ)\getenv.obj \
 
461
        $(DIROBJ)\getinfo.obj \
 
462
        $(DIROBJ)\gtls.obj \
 
463
        $(DIROBJ)\hash.obj \
 
464
        $(DIROBJ)\hostares.obj \
 
465
        $(DIROBJ)\hostasyn.obj \
 
466
        $(DIROBJ)\hostip.obj \
 
467
        $(DIROBJ)\hostip4.obj \
 
468
        $(DIROBJ)\hostip6.obj \
 
469
        $(DIROBJ)\hostsyn.obj \
 
470
        $(DIROBJ)\hostthre.obj \
 
471
        $(DIROBJ)\http.obj \
 
472
        $(DIROBJ)\http_chunks.obj \
 
473
        $(DIROBJ)\http_digest.obj \
 
474
        $(DIROBJ)\http_negotiate.obj \
 
475
        $(DIROBJ)\http_ntlm.obj \
 
476
        $(DIROBJ)\if2ip.obj \
 
477
        $(DIROBJ)\inet_ntop.obj \
 
478
        $(DIROBJ)\inet_pton.obj \
 
479
        $(DIROBJ)\ldap.obj \
 
480
        $(DIROBJ)\llist.obj \
 
481
        $(DIROBJ)\md5.obj \
 
482
        $(DIROBJ)\memdebug.obj \
 
483
        $(DIROBJ)\mprintf.obj \
 
484
        $(DIROBJ)\multi.obj \
 
485
        $(DIROBJ)\netrc.obj \
 
486
        $(DIROBJ)\parsedate.obj \
 
487
        $(DIROBJ)\progress.obj \
 
488
        $(DIROBJ)\rawstr.obj \
 
489
        $(DIROBJ)\select.obj \
 
490
        $(DIROBJ)\sendf.obj \
 
491
        $(DIROBJ)\share.obj \
 
492
        $(DIROBJ)\socks.obj \
 
493
        $(DIROBJ)\socks_sspi.obj \
 
494
        $(DIROBJ)\speedcheck.obj \
 
495
        $(DIROBJ)\splay.obj \
 
496
        $(DIROBJ)\ssh.obj \
 
497
        $(DIROBJ)\sslgen.obj \
 
498
        $(DIROBJ)\ssluse.obj \
 
499
        $(DIROBJ)\strequal.obj \
 
500
        $(DIROBJ)\strerror.obj \
 
501
        $(DIROBJ)\strtok.obj \
 
502
        $(DIROBJ)\strtoofft.obj \
 
503
        $(DIROBJ)\telnet.obj \
 
504
        $(DIROBJ)\tftp.obj \
 
505
        $(DIROBJ)\timeval.obj \
 
506
        $(DIROBJ)\transfer.obj \
 
507
        $(DIROBJ)\url.obj \
 
508
        $(DIROBJ)\version.obj \
 
509
        $(RESOURCE)
 
510
 
 
511
all : $(TARGET)
 
512
 
 
513
$(TARGET): $(X_OBJS)
 
514
        $(LNK) $(LFLAGS) $(X_OBJS)
 
515
        -xcopy $(DIROBJ)\$(LIB_NAME).dll       . /y
 
516
        -xcopy $(DIROBJ)\$(LIB_NAME).lib       . /y
 
517
        -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).dll . /y
 
518
        -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).lib . /y
 
519
        -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib    . /y
 
520
        -xcopy $(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib . /y
 
521
        -xcopy $(DIROBJ)\*.exp                 . /y
 
522
        -xcopy $(DIROBJ)\*.pdb                 . /y
 
523
 
 
524
$(X_OBJS): $(DIROBJ)
 
525
 
 
526
$(DIROBJ):
 
527
        @if not exist "$(DIROBJ)" mkdir $(DIROBJ)
 
528
 
 
529
.SUFFIXES: .c .obj .res
 
530
 
 
531
{.\}.c{$(DIROBJ)\}.obj:
 
532
        $(CC) $(CFLAGS) /Fo"$@"  $<
 
533
 
 
534
debug-dll\libcurl.res \
 
535
debug-dll-ssl-dll\libcurl.res \
 
536
debug-dll-zlib-dll\libcurl.res \
 
537
debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
 
538
        rc /dCURLDEBUG=1 /Fo $@ libcurl.rc
 
539
 
 
540
release-dll\libcurl.res \
 
541
release-dll-ssl-dll\libcurl.res \
 
542
release-dll-zlib-dll\libcurl.res \
 
543
release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
 
544
        rc /dCURLDEBUG=0 /Fo $@ libcurl.rc
 
545
!ENDIF  # End of case where a config was provided.