~ubuntu-branches/ubuntu/vivid/curl/vivid

« back to all changes in this revision

Viewing changes to src/Makefile.vc9

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Schuldei
  • Date: 2009-04-02 23:35:45 UTC
  • mto: (1.2.1 upstream) (3.2.3 sid)
  • mto: This revision was merged to the branch mainline in revision 38.
  • Revision ID: james.westby@ubuntu.com-20090402233545-geixkwhe3izccjt7
Tags: upstream-7.19.4
ImportĀ upstreamĀ versionĀ 7.19.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#############################################################
 
2
# $Id: Makefile.vc9,v 1.19 2004/11/14 13:48:15 giva Exp $
 
3
#
 
4
## Makefile for building curl.exe with MSVC9
 
5
## Use: nmake -f makefile.vc9 [release | debug] [CFG=release-ssl]
 
6
##      (default is release)
 
7
## "nmake -f makefile.vc9 CFG=release-ssl" statically links OpenSSL
 
8
## into curl.exe producing a standalone SSL-enabled executable.
 
9
##
 
10
## Comments to: Troy Engel <tengel@sonic.net>
 
11
## Updated by: Craig Davison <cd@securityfocus.com>
 
12
## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com>
 
13
#
 
14
#############################################################
 
15
 
 
16
PROGRAM_NAME = curl.exe
 
17
 
 
18
!IFNDEF ZLIB_PATH
 
19
ZLIB_PATH = ../../zlib-1.2.3
 
20
!ENDIF
 
21
 
 
22
!IFNDEF OPENSSL_PATH
 
23
OPENSSL_PATH = ../../openssl-0.9.8g
 
24
!ENDIF
 
25
 
 
26
!IFNDEF MACHINE
 
27
MACHINE  = X86
 
28
!ENDIF
 
29
 
 
30
# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
 
31
# without an openssl installation and offers the ability to authenticate
 
32
# using the "current logged in user". Since at least with MSVC9 the sspi.h
 
33
# header is broken it is either required to install the Windows SDK,
 
34
# or to fix sspi.h with adding this define at the beginning of sspi.h:
 
35
# #define FreeCredentialHandle FreeCredentialsHandle
 
36
#
 
37
# If, for some reason the Windows SDK is installed but not installed
 
38
# in the default location, you can specify WINDOWS_SDK_PATH.
 
39
# It can be downloaded from:
 
40
# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
 
41
 
 
42
# WINDOWS_SSPI = 1
 
43
 
 
44
!IFDEF WINDOWS_SSPI
 
45
!IFNDEF WINDOWS_SDK_PATH
 
46
WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
 
47
!ENDIF
 
48
!ENDIF
 
49
 
 
50
########################################################
 
51
## Nothing more to do below this line!
 
52
ZLIB_CFLAGS   = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
 
53
ZLIB_LFLAGS   = "/LIBPATH:$(ZLIB_PATH)"
 
54
ZLIB_LIBS     = zlib.lib
 
55
ZLIB_IMP_LIBS = zdll.lib
 
56
 
 
57
SSL_CFLAGS     = /DUSE_SSLEAY
 
58
SSL_LFLAGS     = /LIBPATH:"$(OPENSSL_PATH)/out32"
 
59
SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"
 
60
SSL_LIBS       = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib
 
61
 
 
62
# Runtime library configuration
 
63
RTLIB   = /MD
 
64
RTLIBD  = /MDd
 
65
 
 
66
!IF "$(RTLIBCFG)" == "static"
 
67
RTLIB  = /MT
 
68
RTLIBD = /MTd
 
69
!ENDIF
 
70
 
 
71
## Release
 
72
CCR   = cl.exe $(RTLIB) /O2 /DNDEBUG
 
73
LINKR = link.exe /incremental:no /libpath:"../lib"
 
74
RCR   = rc.exe /dCURLDEBUG=0
 
75
 
 
76
## Debug
 
77
CCD   = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /RTC1
 
78
LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
 
79
RCD   = rc.exe /dCURLDEBUG=1
 
80
 
 
81
CFLAGS   = /I../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c
 
82
LFLAGS   = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE)
 
83
RESFLAGS = /i../include
 
84
 
 
85
# This manifest thing is for VC8, enabled by the maketgz script that
 
86
# builds the VC8 version of this makefile. Left commented out in the VC9
 
87
# version!
 
88
#MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1
 
89
 
 
90
!IFDEF WINDOWS_SSPI
 
91
CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
 
92
!ENDIF
 
93
 
 
94
RELEASE_OBJS= \
 
95
        hugehelpr.obj \
 
96
        writeoutr.obj \
 
97
        urlglobr.obj \
 
98
        getpassr.obj \
 
99
        homedirr.obj \
 
100
        curlutilr.obj \
 
101
        rawstrr.obj \
 
102
        strtoofftr.obj \
 
103
        mainr.obj \
 
104
        curlr.res
 
105
 
 
106
DEBUG_OBJS= \
 
107
        hugehelpd.obj \
 
108
        writeoutd.obj \
 
109
        urlglobd.obj \
 
110
        getpassd.obj \
 
111
        homedird.obj \
 
112
        curlutild.obj \
 
113
        rawstrd.obj \
 
114
        strtoofftd.obj \
 
115
        maind.obj \
 
116
        curld.res
 
117
 
 
118
#################################################
 
119
# If CFG not specified, use static libs
 
120
 
 
121
CFLAGS         = $(CFLAGS) /DCURL_STATICLIB
 
122
LINKLIBS       = libcurl.lib
 
123
LINKLIBS_DEBUG = libcurld.lib
 
124
 
 
125
#################################################
 
126
# release dynamic library
 
127
 
 
128
!IF "$(CFG)" == "release-dll"
 
129
LINKLIBS       = libcurl_imp.lib
 
130
LINKLIBS_DEBUG = libcurld_imp.lib
 
131
!ENDIF
 
132
 
 
133
#################################################
 
134
# release static library with zlib
 
135
 
 
136
!IF "$(CFG)" == "release-zlib"
 
137
CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
 
138
LINKLIBS       = libcurl.lib  $(ZLIB_LIBS)
 
139
LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS)
 
140
LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)
 
141
!ENDIF
 
142
 
 
143
#################################################
 
144
# release static library with ssl
 
145
 
 
146
!IF "$(CFG)" == "release-ssl"
 
147
CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
 
148
LINKLIBS       = libcurl.lib  $(SSL_LIBS)
 
149
LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
 
150
LFLAGS         = $(LFLAGS) $(SSL_LFLAGS)
 
151
!ENDIF
 
152
 
 
153
#################################################
 
154
# release dynamic library with dynamic ssl
 
155
 
 
156
!IF "$(CFG)" == "release-dll-ssl-dll"
 
157
CFLAGS         = $(CFLAGS) $(SSL_CFLAGS)
 
158
LINKLIBS       = libcurl_imp.lib  $(SSL_LIBS)
 
159
LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS)
 
160
LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)
 
161
!ENDIF
 
162
 
 
163
#################################################
 
164
# release static library with ssl and zlib
 
165
 
 
166
!IF "$(CFG)" == "release-ssl-zlib"
 
167
CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
 
168
LINKLIBS       = libcurl.lib  $(SSL_LIBS) $(ZLIB_LIBS)
 
169
LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS)
 
170
LFLAGS         = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)
 
171
!ENDIF
 
172
 
 
173
#################################################
 
174
# release static library with dynamic ssl
 
175
 
 
176
!IF "$(CFG)" == "release-ssl-dll"
 
177
CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
 
178
LINKLIBS       = libcurl.lib  $(SSL_LIBS)
 
179
LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
 
180
LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)
 
181
!ENDIF
 
182
 
 
183
#################################################
 
184
# release static library with dynamic zlib
 
185
 
 
186
!IF "$(CFG)" == "release-zlib-dll"
 
187
CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
 
188
LINKLIBS       = libcurl.lib  $(ZLIB_IMP_LIBS)
 
189
LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS)
 
190
LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)
 
191
!ENDIF
 
192
 
 
193
#################################################
 
194
# release dynamic library with dynamic zlib
 
195
 
 
196
!IF "$(CFG)" == "release-dll-zlib-dll"
 
197
CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS)
 
198
LINKLIBS       = libcurl_imp.lib  $(ZLIB_IMP_LIBS)
 
199
LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS)
 
200
LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)
 
201
!ENDIF
 
202
 
 
203
#################################################
 
204
# release static library with dynamic ssl and dynamic zlib
 
205
 
 
206
!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
 
207
CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
 
208
LINKLIBS       = libcurl.lib  $(SSL_LIBS) $(ZLIB_IMP_LIBS)
 
209
LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
 
210
LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
 
211
!ENDIF
 
212
 
 
213
#################################################
 
214
# release dynamic library with dynamic ssl and dynamic zlib
 
215
 
 
216
!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
 
217
CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS)
 
218
LINKLIBS       = libcurl_imp.lib  $(SSL_LIBS) $(ZLIB_IMP_LIBS)
 
219
LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
 
220
LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
 
221
!ENDIF
 
222
 
 
223
 
 
224
LINKLIBS       = $(LINKLIBS) ws2_32.lib wldap32.lib
 
225
LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) ws2_32.lib wldap32.lib
 
226
 
 
227
all : release
 
228
 
 
229
release: $(RELEASE_OBJS)
 
230
        $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)
 
231
        $(MANIFESTTOOL)
 
232
 
 
233
debug: $(DEBUG_OBJS)
 
234
        $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)
 
235
        $(MANIFESTTOOL)
 
236
 
 
237
## Release
 
238
hugehelpr.obj: hugehelp.c
 
239
        $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
 
240
writeoutr.obj: writeout.c
 
241
        $(CCR) $(CFLAGS) /Fo"$@" writeout.c
 
242
urlglobr.obj: urlglob.c
 
243
        $(CCR) $(CFLAGS) /Fo"$@" urlglob.c
 
244
getpassr.obj: getpass.c
 
245
        $(CCR) $(CFLAGS) /Fo"$@" getpass.c
 
246
homedirr.obj: homedir.c
 
247
        $(CCR) $(CFLAGS) /Fo"$@" homedir.c
 
248
curlutilr.obj: curlutil.c
 
249
        $(CCR) $(CFLAGS) /Fo"$@" curlutil.c
 
250
rawstrr.obj: ../lib/rawstr.c
 
251
        $(CCR) $(CFLAGS) /Fo"$@" ../lib/rawstr.c
 
252
strtoofftr.obj: ../lib/strtoofft.c
 
253
        $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
 
254
mainr.obj: main.c
 
255
        $(CCR) $(CFLAGS) /Fo"$@" main.c
 
256
curlr.res : curl.rc
 
257
        $(RCR) $(RESFLAGS) /Fo"$@" curl.rc
 
258
 
 
259
## Debug
 
260
hugehelpd.obj: hugehelp.c
 
261
        $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
 
262
writeoutd.obj: writeout.c
 
263
        $(CCD) $(CFLAGS) /Fo"$@" writeout.c
 
264
urlglobd.obj: urlglob.c
 
265
        $(CCD) $(CFLAGS) /Fo"$@" urlglob.c
 
266
getpassd.obj: getpass.c
 
267
        $(CCD) $(CFLAGS) /Fo"$@" getpass.c
 
268
homedird.obj: homedir.c
 
269
        $(CCD) $(CFLAGS) /Fo"$@" homedir.c
 
270
curlutild.obj: curlutil.c
 
271
        $(CCD) $(CFLAGS) /Fo"$@" curlutil.c
 
272
rawstrd.obj: ../lib/rawstr.c
 
273
        $(CCD) $(CFLAGS) /Fo"$@" ../lib/rawstr.c
 
274
strtoofftd.obj: ../lib/strtoofft.c
 
275
        $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
 
276
maind.obj: main.c
 
277
        $(CCD) $(CFLAGS) /Fo"$@" main.c
 
278
curld.res : curl.rc
 
279
        $(RCD) $(RESFLAGS) /Fo"$@" curl.rc
 
280
 
 
281
clean:
 
282
        @-erase $(PROGRAM_NAME) 2> NUL
 
283
        @-erase $(RELEASE_OBJS) 2> NUL
 
284
        @-erase $(DEBUG_OBJS) 2> NUL
 
285
        @-erase *.idb 2> NUL
 
286
        @-erase *.pdb 2> NUL
 
287
        @-erase *.pch 2> NUL
 
288
        @-erase *.ilk 2> NUL