summaryrefslogtreecommitdiff
path: root/src/Makefile.vc8
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile.vc8')
-rw-r--r--src/Makefile.vc8305
1 files changed, 305 insertions, 0 deletions
diff --git a/src/Makefile.vc8 b/src/Makefile.vc8
new file mode 100644
index 000000000..8ede3fe43
--- /dev/null
+++ b/src/Makefile.vc8
@@ -0,0 +1,305 @@
+#############################################################
+#
+## Makefile for building curl.exe with MSVC8
+## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]
+## (default is release)
+## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL
+## into curl.exe producing a standalone SSL-enabled executable.
+##
+## Comments to: Troy Engel <tengel@sonic.net>
+## Updated by: Craig Davison <cd@securityfocus.com>
+## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com>
+#
+#############################################################
+
+PROGRAM_NAME = curl.exe
+
+!IFNDEF OPENSSL_PATH
+OPENSSL_PATH = ../../openssl-0.9.8o
+!ENDIF
+
+!IFNDEF ZLIB_PATH
+ZLIB_PATH = ../../zlib-1.2.5
+!ENDIF
+
+!IFNDEF MACHINE
+MACHINE = X86
+!ENDIF
+
+# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
+# without an openssl installation and offers the ability to authenticate
+# using the "current logged in user". Since at least with MSVC8 the sspi.h
+# header is broken it is either required to install the Windows SDK,
+# or to fix sspi.h with adding this define at the beginning of sspi.h:
+# #define FreeCredentialHandle FreeCredentialsHandle
+#
+# If, for some reason the Windows SDK is installed but not installed
+# in the default location, you can specify WINDOWS_SDK_PATH.
+# It can be downloaded from:
+# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
+
+# WINDOWS_SSPI = 1
+
+!IFDEF WINDOWS_SSPI
+!IFNDEF WINDOWS_SDK_PATH
+WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
+!ENDIF
+!ENDIF
+
+########################################################
+## Nothing more to do below this line!
+ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
+ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)"
+ZLIB_LIBS = zlib.lib
+ZLIB_IMP_LIBS = zdll.lib
+
+SSL_CFLAGS = /DUSE_SSLEAY
+SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32"
+SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"
+SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib
+
+# Runtime library configuration
+RTLIB = /MD
+RTLIBD = /MDd
+
+!IF "$(RTLIBCFG)" == "static"
+RTLIB = /MT
+RTLIBD = /MTd
+!ENDIF
+
+## Release
+CCR = cl.exe $(RTLIB) /O2 /DNDEBUG
+LINKR = link.exe /incremental:no /libpath:"../lib"
+RCR = rc.exe /dDEBUGBUILD=0
+
+## Debug
+CCD = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /RTC1
+LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
+RCD = rc.exe /dDEBUGBUILD=1
+
+CFLAGS = /I../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c
+LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE)
+RESFLAGS = /i../include
+
+# This manifest thing is for VC8, enabled by the maketgz script that
+# builds the VC8 version of this makefile. Left commented out in the VC8
+# version!
+#MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1
+
+!IFDEF WINDOWS_SSPI
+CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
+!ENDIF
+
+RELEASE_OBJS= \
+ curlutilr.obj \
+ getpassr.obj \
+ homedirr.obj \
+ hugehelpr.obj \
+ mainr.obj \
+ nonblockr.obj \
+ os-specificr.obj \
+ rawstrr.obj \
+ strtoofftr.obj \
+ urlglobr.obj \
+ writeoutr.obj \
+ xattrr.obj \
+ curlr.res
+
+DEBUG_OBJS= \
+ curlutild.obj \
+ getpassd.obj \
+ homedird.obj \
+ hugehelpd.obj \
+ maind.obj \
+ nonblockd.obj \
+ os-specificd.obj \
+ rawstrd.obj \
+ strtoofftd.obj \
+ urlglobd.obj \
+ writeoutd.obj \
+ xattrd.obj \
+ curld.res
+
+#################################################
+# If CFG not specified, use static libs
+
+CFLAGS = $(CFLAGS) /DCURL_STATICLIB
+LINKLIBS = libcurl.lib
+LINKLIBS_DEBUG = libcurld.lib
+
+#################################################
+# release dynamic library
+
+!IF "$(CFG)" == "release-dll"
+LINKLIBS = libcurl_imp.lib
+LINKLIBS_DEBUG = libcurld_imp.lib
+!ENDIF
+
+#################################################
+# release static library with zlib
+
+!IF "$(CFG)" == "release-zlib"
+CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
+LINKLIBS = libcurl.lib $(ZLIB_LIBS)
+LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS)
+LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
+!ENDIF
+
+#################################################
+# release static library with ssl
+
+!IF "$(CFG)" == "release-ssl"
+CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
+LINKLIBS = libcurl.lib $(SSL_LIBS)
+LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
+LFLAGS = $(LFLAGS) $(SSL_LFLAGS)
+!ENDIF
+
+#################################################
+# release dynamic library with dynamic ssl
+
+!IF "$(CFG)" == "release-dll-ssl-dll"
+CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
+LINKLIBS = libcurl_imp.lib $(SSL_LIBS)
+LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS)
+LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
+!ENDIF
+
+#################################################
+# release static library with ssl and zlib
+
+!IF "$(CFG)" == "release-ssl-zlib"
+CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
+LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_LIBS)
+LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS)
+LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)
+!ENDIF
+
+#################################################
+# release static library with dynamic ssl
+
+!IF "$(CFG)" == "release-ssl-dll"
+CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
+LINKLIBS = libcurl.lib $(SSL_LIBS)
+LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
+LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
+!ENDIF
+
+#################################################
+# release static library with dynamic zlib
+
+!IF "$(CFG)" == "release-zlib-dll"
+CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
+LINKLIBS = libcurl.lib $(ZLIB_IMP_LIBS)
+LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS)
+LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
+!ENDIF
+
+#################################################
+# release dynamic library with dynamic zlib
+
+!IF "$(CFG)" == "release-dll-zlib-dll"
+CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)
+LINKLIBS = libcurl_imp.lib $(ZLIB_IMP_LIBS)
+LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS)
+LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
+!ENDIF
+
+#################################################
+# release static library with dynamic ssl and dynamic zlib
+
+!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
+CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
+LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
+LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
+LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
+!ENDIF
+
+#################################################
+# release dynamic library with dynamic ssl and dynamic zlib
+
+!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
+CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS)
+LINKLIBS = libcurl_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
+LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
+LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
+!ENDIF
+
+
+LINKLIBS = $(LINKLIBS) ws2_32.lib bufferoverflowu.lib wldap32.lib
+LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) ws2_32.lib bufferoverflowu.lib wldap32.lib
+
+all : release
+
+release: $(RELEASE_OBJS)
+ $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)
+ $(MANIFESTTOOL)
+
+debug: $(DEBUG_OBJS)
+ $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)
+ $(MANIFESTTOOL)
+
+## Release
+hugehelpr.obj: hugehelp.c
+ $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
+writeoutr.obj: writeout.c
+ $(CCR) $(CFLAGS) /Fo"$@" writeout.c
+urlglobr.obj: urlglob.c
+ $(CCR) $(CFLAGS) /Fo"$@" urlglob.c
+getpassr.obj: getpass.c
+ $(CCR) $(CFLAGS) /Fo"$@" getpass.c
+homedirr.obj: homedir.c
+ $(CCR) $(CFLAGS) /Fo"$@" homedir.c
+curlutilr.obj: curlutil.c
+ $(CCR) $(CFLAGS) /Fo"$@" curlutil.c
+os-specificr.obj: os-specific.c
+ $(CCR) $(CFLAGS) /Fo"$@" os-specific.c
+nonblockr.obj: ../lib/nonblock.c
+ $(CCR) $(CFLAGS) /Fo"$@" ../lib/nonblock.c
+rawstrr.obj: ../lib/rawstr.c
+ $(CCR) $(CFLAGS) /Fo"$@" ../lib/rawstr.c
+strtoofftr.obj: ../lib/strtoofft.c
+ $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
+xattrr.obj: xattr.c
+ $(CCR) $(CFLAGS) /Fo"$@" xattr.c
+mainr.obj: main.c
+ $(CCR) $(CFLAGS) /Fo"$@" main.c
+curlr.res : curl.rc
+ $(RCR) $(RESFLAGS) /Fo"$@" curl.rc
+
+## Debug
+hugehelpd.obj: hugehelp.c
+ $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
+writeoutd.obj: writeout.c
+ $(CCD) $(CFLAGS) /Fo"$@" writeout.c
+urlglobd.obj: urlglob.c
+ $(CCD) $(CFLAGS) /Fo"$@" urlglob.c
+getpassd.obj: getpass.c
+ $(CCD) $(CFLAGS) /Fo"$@" getpass.c
+homedird.obj: homedir.c
+ $(CCD) $(CFLAGS) /Fo"$@" homedir.c
+curlutild.obj: curlutil.c
+ $(CCD) $(CFLAGS) /Fo"$@" curlutil.c
+os-specificd.obj: os-specific.c
+ $(CCD) $(CFLAGS) /Fo"$@" os-specific.c
+nonblockd.obj: ../lib/nonblock.c
+ $(CCD) $(CFLAGS) /Fo"$@" ../lib/nonblock.c
+rawstrd.obj: ../lib/rawstr.c
+ $(CCD) $(CFLAGS) /Fo"$@" ../lib/rawstr.c
+strtoofftd.obj: ../lib/strtoofft.c
+ $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
+xattrd.obj: xattr.c
+ $(CCD) $(CFLAGS) /Fo"$@" xattr.c
+maind.obj: main.c
+ $(CCD) $(CFLAGS) /Fo"$@" main.c
+curld.res : curl.rc
+ $(RCD) $(RESFLAGS) /Fo"$@" curl.rc
+
+clean:
+ @-erase $(PROGRAM_NAME) 2> NUL
+ @-erase $(RELEASE_OBJS) 2> NUL
+ @-erase $(DEBUG_OBJS) 2> NUL
+ @-erase *.idb 2> NUL
+ @-erase *.pdb 2> NUL
+ @-erase *.pch 2> NUL
+ @-erase *.ilk 2> NUL