########################################################
## Makefile for building curl.exe with MSVC6
## 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>
## winmm.lib added by Miklos Nemeth <mnemeth@kfkisystems.com> to support
## timeGetTime() in timeval.c

PROGRAM_NAME = curl.exe

########################################################
## Nothing more to do below this line!

## Release
CCR = cl.exe /MD /O2 /D "NDEBUG"
LINKR = link.exe /incremental:no /libpath:"../lib"
RCR = rc.exe /dCURLDEBUG=0

## Debug
CCD = cl.exe /MDd /Gm /ZI /Od /D "_DEBUG" /GZ
LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
RCD = rc.exe /dCURLDEBUG=1

!IFNDEF ZLIB_PATH
ZLIB_PATH  = ../../zlib-1.1.4
!ENDIF

CFLAGS = /I "../lib" /I "../include" /I "$(ZLIB_PATH)" /nologo /W3 /GX /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
LFLAGS = /nologo /libpath:"$(ZLIB_PATH)" /out:$(PROGRAM_NAME) /subsystem:console /machine:I386
RESFLAGS = /i "../include"
LINKLIBS = wsock32.lib libcurl.lib winmm.lib zlib.lib
LINKLIBS_DEBUG = wsock32.lib libcurld.lib winmm.lib zlib.lib

RELEASE_OBJS= \
	hugehelpr.obj \
	writeoutr.obj \
	urlglobr.obj \
	getpassr.obj \
	homedirr.obj \
	timevalr.obj \
	strtoofftr.obj \
	mainr.obj \
	curlr.res

DEBUG_OBJS= \
	hugehelpd.obj \
	writeoutd.obj \
	urlglobd.obj \
	getpassd.obj \
	homedird.obj \
	timevald.obj \
	strtoofftd.obj \
	maind.obj \
	curld.res
	
######################
# release-ssl
 
!IF "$(CFG)" == "release-ssl"
!IFNDEF OPENSSL_PATH
OPENSSL_PATH   = ../../openssl-0.9.7a
!ENDIF
LFLAGSSSL = /LIBPATH:"$(OPENSSL_PATH)/out32"
SSLLIBS   = libeay32.lib ssleay32.lib gdi32.lib 
CFLAGS = $(CFLAGS) -DUSE_SSLEAY
LINKLIBS  = $(LINKLIBS) $(SSLLIBS)
LINKLIBS_DEBUG  = $(LINKLIBS_DEBUG) $(SSLLIBS)
LFLAGS = $(LFLAGS) $(LFLAGSSSL)
!ENDIF

######################
# release-libcurl-ssl-dll

!IF "$(CFG)" == "release-libcurl-ssl-dll"
!IFNDEF OPENSSL_PATH
OPENSSL_PATH   = ../../openssl-0.9.7a
!ENDIF
LFLAGSSSL = /LIBPATH:"$(OPENSSL_PATH)/out32"
SSLLIBS   = libeay32.lib ssleay32.lib gdi32.lib 
CFLAGS = $(CFLAGS) -DUSE_SSLEAY
LINKLIBS  = $(LINKLIBS) $(SSLLIBS)
LINKLIBS_DEBUG  = $(LINKLIBS_DEBUG) $(SSLLIBS)
LFLAGS = $(LFLAGS) $(LFLAGSSSL)
!ENDIF


all : release

release: $(RELEASE_OBJS)
	$(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)

debug: $(DEBUG_OBJS)
	$(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)

## 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
timevalr.obj: ../lib/timeval.c
	$(CCR) $(CFLAGS) /Fo"$@" ../lib/timeval.c
strtoofftr.obj: ../lib/strtoofft.c
	$(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.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
timevald.obj: timeval.c
	$(CCR) $(CFLAGS) /Fo"$@" timeval.c
strtoofftd.obj: ../lib/strtoofft.c
	$(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
maind.obj: main.c
	$(CCD) $(CFLAGS) /Fo"$@" main.c
curld.res : curl.rc
	$(RCD) $(RESFLAGS) /Fo"$@" curl.rc

clean:
	-@erase $(RELEASE_OBJS)
	-@erase $(DEBUG_OBJS)
	-@erase vc60.idb
	-@erase vc60.pdb
	-@erase vc60.pch
	-@erase vc70.idb
	-@erase vc70.pch
	-@erase curl.ilk
	-@erase curl.pdb

distrib: clean
	-@erase $(PROGRAM_NAME)
