curl tool: create tool_myfunc.[ch] which later on will hold my_* functions
[platform/upstream/curl.git] / src / Makefile.vc6
1 #***************************************************************************\r
2 #                                  _   _ ____  _\r
3 #  Project                     ___| | | |  _ \| |\r
4 #                             / __| | | | |_) | |\r
5 #                            | (__| |_| |  _ <| |___\r
6 #                             \___|\___/|_| \_\_____|\r
7 #\r
8 # Copyright (C) 1999 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.\r
9 #\r
10 # This software is licensed as described in the file COPYING, which\r
11 # you should have received as part of this distribution. The terms\r
12 # are also available at http://curl.haxx.se/docs/copyright.html.\r
13 #\r
14 # You may opt to use, copy, modify, merge, publish, distribute and/or sell\r
15 # copies of the Software, and permit persons to whom the Software is\r
16 # furnished to do so, under the terms of the COPYING file.\r
17 #\r
18 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY\r
19 # KIND, either express or implied.\r
20 #\r
21 #***************************************************************************\r
22 \r
23 # All files in the Makefile.vc* series are generated automatically from the\r
24 # one made for MSVC version 6. Alas, if you want to do changes to any of the\r
25 # fiels and send back to the project, edit the version six, make your diff and\r
26 # mail curl-users.\r
27 \r
28 #############################################################\r
29 #\r
30 ## Makefile for building curl.exe with MSVC6\r
31 ## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]\r
32 ##      (default is release)\r
33 ## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL\r
34 ## into curl.exe producing a standalone SSL-enabled executable.\r
35 ##\r
36 #\r
37 #############################################################\r
38 \r
39 PROGRAM_NAME = curl.exe\r
40 \r
41 # -------------------------------------------\r
42 # Verify that current subdir is curl's 'src'\r
43 # -------------------------------------------\r
44 \r
45 !IF ! EXIST(.\main.c)\r
46 !  MESSAGE Can not process this makefile from outside of curl's 'src' subdirectory.\r
47 !  MESSAGE Change to curl's 'src' subdirectory, and try again.\r
48 !  ERROR   See previous message.\r
49 !ENDIF\r
50 \r
51 # ------------------------------------------------\r
52 # Makefile.msvc.names provides libcurl file names\r
53 # ------------------------------------------------\r
54 \r
55 !INCLUDE ..\Makefile.msvc.names\r
56 \r
57 \r
58 \r
59 !IFNDEF OPENSSL_PATH\r
60 OPENSSL_PATH = ../../openssl-0.9.8r\r
61 !ENDIF\r
62 \r
63 !IFNDEF ZLIB_PATH\r
64 ZLIB_PATH = ../../zlib-1.2.5\r
65 !ENDIF\r
66 \r
67 !IFNDEF MACHINE\r
68 MACHINE  = X86\r
69 !ENDIF\r
70 \r
71 # USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication\r
72 # without an openssl installation and offers the ability to authenticate\r
73 # using the "current logged in user". Since at least with MSVC6 the sspi.h\r
74 # header is broken it is either required to install the Windows SDK,\r
75 # or to fix sspi.h with adding this define at the beginning of sspi.h:\r
76 # #define FreeCredentialHandle FreeCredentialsHandle\r
77 #\r
78 # If, for some reason the Windows SDK is installed but not installed\r
79 # in the default location, you can specify WINDOWS_SDK_PATH.\r
80 # It can be downloaded from:\r
81 # http://www.microsoft.com/msdownload/platformsdk/sdkupdate/\r
82 \r
83 # WINDOWS_SSPI = 1\r
84 \r
85 !IFDEF WINDOWS_SSPI\r
86 !IFNDEF WINDOWS_SDK_PATH\r
87 WINDOWS_SDK_PATH = "$(PROGRAMFILES)\Microsoft SDK"\r
88 !ENDIF\r
89 !ENDIF\r
90 \r
91 ########################################################\r
92 ## Nothing more to do below this line!\r
93 ZLIB_CFLAGS   = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"\r
94 ZLIB_LFLAGS   = "/LIBPATH:$(ZLIB_PATH)"\r
95 ZLIB_LIBS     = zlib.lib\r
96 ZLIB_IMP_LIBS = zdll.lib\r
97 \r
98 SSL_CFLAGS     = /DUSE_SSLEAY\r
99 SSL_LFLAGS     = /LIBPATH:"$(OPENSSL_PATH)/out32"\r
100 SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"\r
101 SSL_LIBS       = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib\r
102 \r
103 # Runtime library configuration\r
104 RTLIB   = /MD\r
105 RTLIBD  = /MDd\r
106 \r
107 !IF "$(RTLIBCFG)" == "static"\r
108 RTLIB  = /MT\r
109 RTLIBD = /MTd\r
110 !ENDIF\r
111 \r
112 ## Release\r
113 CCR   = cl.exe $(RTLIB) /O2 /DNDEBUG\r
114 LINKR = link.exe /incremental:no /libpath:"../lib"\r
115 RCR   = rc.exe /dDEBUGBUILD=0\r
116 \r
117 ## Debug\r
118 CCD   = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /GZ\r
119 LINKD = link.exe /incremental:yes /debug /libpath:"../lib"\r
120 RCD   = rc.exe /dDEBUGBUILD=1\r
121 \r
122 CFLAGS   = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /D_BIND_TO_CURRENT_VCLIBS_VERSION=1\r
123 LFLAGS   = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE)\r
124 RESFLAGS = /i../lib /i../include\r
125 \r
126 # This manifest thing is for VC8, enabled by the maketgz script that\r
127 # builds the VC8 version of this makefile. Left commented out in the VC6\r
128 # version!\r
129 #MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1\r
130 \r
131 !IFDEF WINDOWS_SSPI\r
132 CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include\r
133 !ENDIF\r
134 \r
135 RELEASE_OBJS= \\r
136         curlutilr.obj \\r
137         getpassr.obj \\r
138         homedirr.obj \\r
139         hugehelpr.obj \\r
140         mainr.obj \\r
141         nonblockr.obj \\r
142         os-specificr.obj \\r
143         rawstrr.obj \\r
144         strtoofftr.obj \\r
145         tool_cfgabler.obj \\r
146         tool_convertr.obj \\r
147         tool_mfilesr.obj \\r
148         tool_myfuncr.obj \\r
149         urlglobr.obj \\r
150         writeoutr.obj \\r
151         xattrr.obj \\r
152         curlr.res\r
153 \r
154 DEBUG_OBJS= \\r
155         curlutild.obj \\r
156         getpassd.obj \\r
157         homedird.obj \\r
158         hugehelpd.obj \\r
159         maind.obj \\r
160         nonblockd.obj \\r
161         os-specificd.obj \\r
162         rawstrd.obj \\r
163         strtoofftd.obj \\r
164         tool_cfgabled.obj \\r
165         tool_convertd.obj \\r
166         tool_mfilesd.obj \\r
167         tool_myfuncd.obj \\r
168         urlglobd.obj \\r
169         writeoutd.obj \\r
170         xattrd.obj \\r
171         curld.res\r
172 \r
173 #################################################\r
174 # If CFG not specified, use static libs\r
175 \r
176 CFLAGS         = $(CFLAGS) /DCURL_STATICLIB\r
177 LINKLIBS       = $(LIBCURL_STA_LIB_REL)\r
178 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG)\r
179 \r
180 #################################################\r
181 # release dynamic library\r
182 \r
183 !IF "$(CFG)" == "release-dll"\r
184 LINKLIBS       = $(LIBCURL_IMP_LIB_REL)\r
185 LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG)\r
186 !ENDIF\r
187 \r
188 #################################################\r
189 # release static library with zlib\r
190 \r
191 !IF "$(CFG)" == "release-zlib"\r
192 CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
193 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(ZLIB_LIBS)\r
194 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(ZLIB_LIBS)\r
195 LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
196 !ENDIF\r
197 \r
198 #################################################\r
199 # release static library with ssl\r
200 \r
201 !IF "$(CFG)" == "release-ssl"\r
202 CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB\r
203 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS)\r
204 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS)\r
205 LFLAGS         = $(LFLAGS) $(SSL_LFLAGS)\r
206 !ENDIF\r
207 \r
208 #################################################\r
209 # release dynamic library with dynamic ssl\r
210 \r
211 !IF "$(CFG)" == "release-dll-ssl-dll"\r
212 CFLAGS         = $(CFLAGS) $(SSL_CFLAGS)\r
213 LINKLIBS       = $(LIBCURL_IMP_LIB_REL) $(SSL_LIBS)\r
214 LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(SSL_LIBS)\r
215 LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)\r
216 !ENDIF\r
217 \r
218 #################################################\r
219 # release static library with ssl and zlib\r
220 \r
221 !IF "$(CFG)" == "release-ssl-zlib"\r
222 CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
223 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS) $(ZLIB_LIBS)\r
224 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS) $(ZLIB_LIBS)\r
225 LFLAGS         = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)\r
226 !ENDIF\r
227 \r
228 #################################################\r
229 # release static library with dynamic ssl\r
230 \r
231 !IF "$(CFG)" == "release-ssl-dll"\r
232 CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB\r
233 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS)\r
234 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS)\r
235 LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)\r
236 !ENDIF\r
237 \r
238 #################################################\r
239 # release static library with dynamic zlib\r
240 \r
241 !IF "$(CFG)" == "release-zlib-dll"\r
242 CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
243 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(ZLIB_IMP_LIBS)\r
244 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(ZLIB_IMP_LIBS)\r
245 LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
246 !ENDIF\r
247 \r
248 #################################################\r
249 # release dynamic library with dynamic zlib\r
250 \r
251 !IF "$(CFG)" == "release-dll-zlib-dll"\r
252 CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS)\r
253 LINKLIBS       = $(LIBCURL_IMP_LIB_REL) $(ZLIB_IMP_LIBS)\r
254 LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(ZLIB_IMP_LIBS)\r
255 LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
256 !ENDIF\r
257 \r
258 #################################################\r
259 # release static library with dynamic ssl and dynamic zlib\r
260 \r
261 !IF "$(CFG)" == "release-ssl-dll-zlib-dll"\r
262 CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB\r
263 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
264 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
265 LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)\r
266 !ENDIF\r
267 \r
268 #################################################\r
269 # release dynamic library with dynamic ssl and dynamic zlib\r
270 \r
271 !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"\r
272 CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS)\r
273 LINKLIBS       = $(LIBCURL_IMP_LIB_REL) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
274 LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
275 LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)\r
276 !ENDIF\r
277 \r
278 \r
279 LINKLIBS       = $(LINKLIBS) ws2_32.lib wldap32.lib\r
280 LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) ws2_32.lib wldap32.lib\r
281 \r
282 all : release\r
283 \r
284 release: $(RELEASE_OBJS)\r
285         $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)\r
286         $(MANIFESTTOOL)\r
287 \r
288 debug: $(DEBUG_OBJS)\r
289         $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)\r
290         $(MANIFESTTOOL)\r
291 \r
292 ## Release\r
293 hugehelpr.obj: hugehelp.c\r
294         $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c\r
295 writeoutr.obj: writeout.c\r
296         $(CCR) $(CFLAGS) /Fo"$@" writeout.c\r
297 urlglobr.obj: urlglob.c\r
298         $(CCR) $(CFLAGS) /Fo"$@" urlglob.c\r
299 getpassr.obj: getpass.c\r
300         $(CCR) $(CFLAGS) /Fo"$@" getpass.c\r
301 homedirr.obj: homedir.c\r
302         $(CCR) $(CFLAGS) /Fo"$@" homedir.c\r
303 curlutilr.obj: curlutil.c\r
304         $(CCR) $(CFLAGS) /Fo"$@" curlutil.c\r
305 os-specificr.obj: os-specific.c\r
306         $(CCR) $(CFLAGS) /Fo"$@" os-specific.c\r
307 nonblockr.obj: ../lib/nonblock.c\r
308         $(CCR) $(CFLAGS) /Fo"$@" ../lib/nonblock.c\r
309 rawstrr.obj: ../lib/rawstr.c\r
310         $(CCR) $(CFLAGS) /Fo"$@" ../lib/rawstr.c\r
311 strtoofftr.obj: ../lib/strtoofft.c\r
312         $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c\r
313 tool_cfgabler.obj: tool_cfgable.c\r
314         $(CCR) $(CFLAGS) /Fo"$@" tool_cfgable.c\r
315 tool_convertr.obj: tool_convert.c\r
316         $(CCR) $(CFLAGS) /Fo"$@" tool_convert.c\r
317 tool_mfilesr.obj: tool_mfiles.c\r
318         $(CCR) $(CFLAGS) /Fo"$@" tool_mfiles.c\r
319 tool_myfuncr.obj: tool_myfunc.c\r
320         $(CCR) $(CFLAGS) /Fo"$@" tool_myfunc.c\r
321 xattrr.obj: xattr.c\r
322         $(CCR) $(CFLAGS) /Fo"$@" xattr.c\r
323 mainr.obj: main.c\r
324         $(CCR) $(CFLAGS) /Fo"$@" main.c\r
325 curlr.res : curl.rc\r
326         $(RCR) $(RESFLAGS) /Fo"$@" curl.rc\r
327 \r
328 ## Debug\r
329 hugehelpd.obj: hugehelp.c\r
330         $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c\r
331 writeoutd.obj: writeout.c\r
332         $(CCD) $(CFLAGS) /Fo"$@" writeout.c\r
333 urlglobd.obj: urlglob.c\r
334         $(CCD) $(CFLAGS) /Fo"$@" urlglob.c\r
335 getpassd.obj: getpass.c\r
336         $(CCD) $(CFLAGS) /Fo"$@" getpass.c\r
337 homedird.obj: homedir.c\r
338         $(CCD) $(CFLAGS) /Fo"$@" homedir.c\r
339 curlutild.obj: curlutil.c\r
340         $(CCD) $(CFLAGS) /Fo"$@" curlutil.c\r
341 os-specificd.obj: os-specific.c\r
342         $(CCD) $(CFLAGS) /Fo"$@" os-specific.c\r
343 nonblockd.obj: ../lib/nonblock.c\r
344         $(CCD) $(CFLAGS) /Fo"$@" ../lib/nonblock.c\r
345 rawstrd.obj: ../lib/rawstr.c\r
346         $(CCD) $(CFLAGS) /Fo"$@" ../lib/rawstr.c\r
347 strtoofftd.obj: ../lib/strtoofft.c\r
348         $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c\r
349 tool_cfgabled.obj: tool_cfgable.c\r
350         $(CCD) $(CFLAGS) /Fo"$@" tool_cfgable.c\r
351 tool_convertd.obj: tool_convert.c\r
352         $(CCD) $(CFLAGS) /Fo"$@" tool_convert.c\r
353 tool_mfilesd.obj: tool_mfiles.c\r
354         $(CCD) $(CFLAGS) /Fo"$@" tool_mfiles.c\r
355 tool_myfuncd.obj: tool_myfunc.c\r
356         $(CCD) $(CFLAGS) /Fo"$@" tool_myfunc.c\r
357 xattrd.obj: xattr.c\r
358         $(CCD) $(CFLAGS) /Fo"$@" xattr.c\r
359 maind.obj: main.c\r
360         $(CCD) $(CFLAGS) /Fo"$@" main.c\r
361 curld.res : curl.rc\r
362         $(RCD) $(RESFLAGS) /Fo"$@" curl.rc\r
363 \r
364 clean:\r
365         @-erase $(PROGRAM_NAME) 2> NUL\r
366         @-erase $(RELEASE_OBJS) 2> NUL\r
367         @-erase $(DEBUG_OBJS) 2> NUL\r
368         @-erase *.idb 2> NUL\r
369         @-erase *.pdb 2> NUL\r
370         @-erase *.pch 2> NUL\r
371         @-erase *.ilk 2> NUL\r