1 ########################################################
\r
2 # $Id: Makefile.vc6,v 1.19 2004/11/14 13:48:15 giva Exp $
\r
4 ## Makefile for building curl.exe with MSVC6
\r
5 ## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]
\r
6 ## (default is release)
\r
7 ## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL
\r
8 ## into curl.exe producing a standalone SSL-enabled executable.
\r
10 ## Comments to: Troy Engel <tengel@sonic.net>
\r
11 ## Updated by: Craig Davison <cd@securityfocus.com>
\r
12 ## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com>
\r
13 ## winmm.lib added by Miklos Nemeth <mnemeth@kfkisystems.com> to support
\r
14 ## timeGetTime() in timeval.c
\r
16 PROGRAM_NAME = curl.exe
\r
19 ZLIB_PATH = ../../zlib-1.2.1
\r
22 !IFNDEF OPENSSL_PATH
\r
23 OPENSSL_PATH = ../../openssl-0.9.7d
\r
26 ########################################################
\r
27 ## Nothing more to do below this line!
\r
28 CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
\r
29 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
\r
31 SSLINC = /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
\r
32 CFLAGSSSL = /DUSE_SSLEAY
\r
33 LFLAGSSSL = /LIBPATH:"$(OPENSSL_PATH)/out32"
\r
34 SSLLIBS = libeay32.lib ssleay32.lib gdi32.lib
\r
37 CCR = cl.exe /MD /O2 /DNDEBUG
\r
38 LINKR = link.exe /incremental:no /libpath:../lib
\r
39 RCR = rc.exe /dCURLDEBUG=0
\r
42 CCD = cl.exe /MDd /Gm /ZI /Od /D_DEBUG /GZ
\r
43 LINKD = link.exe /incremental:yes /debug /libpath:../lib
\r
44 RCD = rc.exe /dCURLDEBUG=1
\r
46 CFLAGS = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c
\r
47 LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:I386
\r
48 RESFLAGS = /i../include
\r
73 #################################################
\r
74 # release-zlib (static libcurl + zlib)
\r
76 !IF "$(CFG)" == "release-zlib"
\r
77 CFLAGS = $(CFLAGS) $(CFLAGSZLIB) /DCURL_STATICLIB
\r
78 LINKLIBS = libcurl.lib $(ZLIBLIBS)
\r
79 LINKLIBS_DEBUG = libcurld.lib $(ZLIBLIBS)
\r
80 LFLAGS = $(LFLAGS) $(LFLAGSZLIB)
\r
83 #################################################
\r
84 # release-ssl (static libcurl + ssl)
\r
86 !IF "$(CFG)" == "release-ssl"
\r
87 CFLAGS = $(CFLAGS) $(CFLAGSSSL) /DCURL_STATICLIB
\r
88 LINKLIBS = libcurl.lib $(SSLLIBS)
\r
89 LINKLIBS_DEBUG = libcurld.lib $(SSLLIBS)
\r
90 LFLAGS = $(LFLAGS) $(LFLAGSSSL)
\r
93 #################################################
\r
94 # release-libcurl-ssl-dll (libcurl.dll + ssl)
\r
96 !IF "$(CFG)" == "release-libcurl-ssl-dll"
\r
97 CFLAGS = $(CFLAGS) $(CFLAGSSSL)
\r
98 LINKLIBS = libcurl_imp.lib $(SSLLIBS)
\r
99 LINKLIBS_DEBUG = libcurld_imp.lib $(SSLLIBS)
\r
100 LFLAGS = $(LFLAGS) $(LFLAGSSSL)
\r
103 #################################################
\r
104 # release-ssl-zlib (static libcurl + ssl + zlib)
\r
106 !IF "$(CFG)" == "release-ssl-zlib"
\r
107 CFLAGS = $(CFLAGS) $(CFLAGSSSL) $(CFLAGSZLIB) /DCURL_STATICLIB
\r
108 LINKLIBS = libcurl.lib $(SSLLIBS) $(ZLIBLIBS)
\r
109 LINKLIBS_DEBUG = libcurld.lib $(SSLLIBS) $(ZLIBLIBS)
\r
110 LFLAGS = $(LFLAGS) $(LFLAGSSSL) $(LFLAGSZLIB)
\r
113 #################################################
\r
114 # If CFG not specified, use static libs
\r
116 !IF "$(CFG)." == "."
\r
117 CFLAGS = $(CFLAGS) /DCURL_STATICLIB
\r
118 LINKLIBS = libcurl.lib
\r
119 LINKLIBS_DEBUG = libcurld.lib
\r
123 LINKLIBS = $(LINKLIBS) wsock32.lib winmm.lib
\r
124 LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) wsock32.lib winmm.lib
\r
128 release: $(RELEASE_OBJS)
\r
129 $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)
\r
131 debug: $(DEBUG_OBJS)
\r
132 $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)
\r
135 hugehelpr.obj: hugehelp.c
\r
136 $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
\r
137 writeoutr.obj: writeout.c
\r
138 $(CCR) $(CFLAGS) /Fo"$@" writeout.c
\r
139 urlglobr.obj: urlglob.c
\r
140 $(CCR) $(CFLAGS) /Fo"$@" urlglob.c
\r
141 getpassr.obj: getpass.c
\r
142 $(CCR) $(CFLAGS) /Fo"$@" getpass.c
\r
143 homedirr.obj: homedir.c
\r
144 $(CCR) $(CFLAGS) /Fo"$@" homedir.c
\r
145 timevalr.obj: ../lib/timeval.c
\r
146 $(CCR) $(CFLAGS) /Fo"$@" ../lib/timeval.c
\r
147 strtoofftr.obj: ../lib/strtoofft.c
\r
148 $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
\r
150 $(CCR) $(CFLAGS) /Fo"$@" main.c
\r
151 curlr.res : curl.rc
\r
152 $(RCR) $(RESFLAGS) /Fo"$@" curl.rc
\r
155 hugehelpd.obj: hugehelp.c
\r
156 $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
\r
157 writeoutd.obj: writeout.c
\r
158 $(CCD) $(CFLAGS) /Fo"$@" writeout.c
\r
159 urlglobd.obj: urlglob.c
\r
160 $(CCD) $(CFLAGS) /Fo"$@" urlglob.c
\r
161 getpassd.obj: getpass.c
\r
162 $(CCD) $(CFLAGS) /Fo"$@" getpass.c
\r
163 homedird.obj: homedir.c
\r
164 $(CCD) $(CFLAGS) /Fo"$@" homedir.c
\r
165 timevald.obj: ../lib/timeval.c
\r
166 $(CCD) $(CFLAGS) /Fo"$@" ../lib/timeval.c
\r
167 strtoofftd.obj: ../lib/strtoofft.c
\r
168 $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
\r
170 $(CCD) $(CFLAGS) /Fo"$@" main.c
\r
171 curld.res : curl.rc
\r
172 $(RCD) $(RESFLAGS) /Fo"$@" curl.rc
\r
175 -@erase $(RELEASE_OBJS)
\r
176 -@erase $(DEBUG_OBJS)
\r
186 -@erase $(PROGRAM_NAME)
\r