#############################################################
## Makefile for building libcurl.lib with MSVC6
## Use: nmake -f makefile.vc6 [release | release-ssl | debug]
##      (default is release)
##
## Comments to: Troy Engel <tengel@sonic.net>
## Updated by: Craig Davison <cd@securityfocus.com>

PROGRAM_NAME = libcurl.lib
PROGRAM_NAME_DEBUG = libcurld.lib
OPENSSL_PATH = ../../openssl-0.9.6

########################################################
## Nothing more to do below this line!

## Release
CCR = cl.exe /MD /O2 /D "NDEBUG"
LINKR = link.exe -lib /out:$(PROGRAM_NAME)

## Debug
CCD = cl.exe /MDd /Gm /ZI /Od /D "_DEBUG" /GZ
LINKD = link.exe -lib /out:$(PROGRAM_NAME_DEBUG)

## SSL Release
CCRS = cl.exe /MD /O2 /D "NDEBUG" /D "USE_SSLEAY" /I "$(OPENSSL_PATH)/include" /I "$(OPENSSL_PATH)/include/openssl"
LINKRS = link.exe -lib /out:$(PROGRAM_NAME) /LIBPATH:$(OPENSSL_PATH)/out32dll

CFLAGS = /I "../include" /nologo /W3 /GX /D "WIN32" /D "VC6" /D "_MBCS" /D "_LIB" /YX /FD /c /D "MSDOS"
LFLAGS = /nologo
LINKLIBS = wsock32.lib
LINKSLIBS = libeay32.lib ssleay32.lib RSAglue.lib

RELEASE_OBJS= \
	base64r.obj \
	cookier.obj \
	transferr.obj \
	escaper.obj \
	formdatar.obj \
	ftpr.obj \
	httpr.obj \
	ldapr.obj \
	dictr.obj \
	telnetr.obj \
	getdater.obj \
	getenvr.obj \
	getpassr.obj \
	hostipr.obj \
	if2ipr.obj \
	mprintfr.obj \
	netrcr.obj \
	progressr.obj \
	sendfr.obj \
	speedcheckr.obj \
	ssluser.obj \
	timevalr.obj \
	urlr.obj \
	filer.obj \
	getinfor.obj \
	versionr.obj \
	easyr.obj \
	strequalr.obj

DEBUG_OBJS= \
	base64d.obj \
	cookied.obj \
	transferd.obj \
	escaped.obj \
	formdatad.obj \
	ftpd.obj \
	httpd.obj \
	ldapd.obj \
	dictd.obj \
	telnetd.obj \
	getdated.obj \
	getenvd.obj \
	getpassd.obj \
	hostipd.obj \
	if2ipd.obj \
	mprintfd.obj \
	netrcd.obj \
	progressd.obj \
	sendfd.obj \
	speedcheckd.obj \
	sslused.obj \
	timevald.obj \
	urld.obj \
	filed.obj \
	getinfod.obj \
	versiond.obj  \
	easyd.obj \
	strequald.obj

RELEASE_SSL_OBJS= \
	base64rs.obj \
	cookiers.obj \
	transferrs.obj \
	escapers.obj \
	formdatars.obj \
	ftprs.obj \
	httprs.obj \
	ldaprs.obj \
	dictrs.obj \
	telnetrs.obj \
	getdaters.obj \
	getenvrs.obj \
	getpassrs.obj \
	hostiprs.obj \
	if2iprs.obj \
	mprintfrs.obj \
	netrcrs.obj \
	progressrs.obj \
	sendfrs.obj \
	speedcheckrs.obj \
	sslusers.obj \
	timevalrs.obj \
	urlrs.obj \
	filers.obj \
	getinfors.obj \
	versionrs.obj \
	easyrs.obj \
	strequalrs.obj

LINK_OBJS= \
	base64.obj \
	cookie.obj \
	transfer.obj \
	escape.obj \
	formdata.obj \
	ftp.obj \
	http.obj \
	ldap.obj \
	dict.obj \
	telnet.obj \
	getdate.obj \
	getenv.obj \
	getpass.obj \
	hostip.obj \
	if2ip.obj \
	mprintf.obj \
	netrc.obj \
	progress.obj \
	sendf.obj \
	speedcheck.obj \
	ssluse.obj \
	timeval.obj \
	url.obj \
	file.obj \
	getinfo.obj \
	version.obj \
	easy.obj \
	strequal.obj

all : release

release: $(RELEASE_OBJS)
	$(LINKR) $(LFLAGS) $(LINKLIBS) $(LINK_OBJS)

debug: $(DEBUG_OBJS)
	$(LINKD) $(LFLAGS) $(LINKLIBS) $(LINK_OBJS)

release-ssl: $(RELEASE_SSL_OBJS)
	$(LINKRS) $(LFLAGS) $(LINKLIBS) $(LINKSLIBS) $(LINK_OBJS)

## Release
base64r.obj: base64.c
	$(CCR) $(CFLAGS) base64.c
cookier.obj: cookie.c
	$(CCR) $(CFLAGS) cookie.c
transferr.obj: transfer.c
	$(CCR) $(CFLAGS) transfer.c
escaper.obj: escape.c
	$(CCR) $(CFLAGS) escape.c
formdatar.obj: formdata.c
	$(CCR) $(CFLAGS) formdata.c
ftpr.obj: ftp.c
	$(CCR) $(CFLAGS) ftp.c
httpr.obj: http.c
	$(CCR) $(CFLAGS) http.c
ldapr.obj: ldap.c
	$(CCR) $(CFLAGS) ldap.c
dictr.obj: dict.c
	$(CCR) $(CFLAGS) dict.c
telnetr.obj: telnet.c
	$(CCR) $(CFLAGS) telnet.c
getdater.obj: getdate.c
	$(CCR) $(CFLAGS) getdate.c
getenvr.obj: getenv.c
	$(CCR) $(CFLAGS) getenv.c
getpassr.obj: getpass.c
	$(CCR) $(CFLAGS) getpass.c
hostipr.obj: hostip.c
	$(CCR) $(CFLAGS) hostip.c
if2ipr.obj: if2ip.c
	$(CCR) $(CFLAGS) if2ip.c
mprintfr.obj: mprintf.c
	$(CCR) $(CFLAGS) mprintf.c
netrcr.obj: netrc.c
	$(CCR) $(CFLAGS) netrc.c
progressr.obj: progress.c
	$(CCR) $(CFLAGS) progress.c
sendfr.obj: sendf.c
	$(CCR) $(CFLAGS) sendf.c
speedcheckr.obj: speedcheck.c
	$(CCR) $(CFLAGS) speedcheck.c
ssluser.obj: ssluse.c
	$(CCR) $(CFLAGS) ssluse.c
timevalr.obj: timeval.c
	$(CCR) $(CFLAGS) timeval.c
urlr.obj: url.c
	$(CCR) $(CFLAGS) url.c
filer.obj: file.c
	$(CCR) $(CFLAGS) file.c
getinfor.obj: getinfo.c
	$(CCR) $(CFLAGS) getinfo.c
versionr.obj: version.c
	$(CCR) $(CFLAGS) version.c
easyr.obj: easy.c
	$(CCR) $(CFLAGS) easy.c
strequalr.obj: strequal.c
	$(CCR) $(CFLAGS) strequal.c

## Debug
base64d.obj: base64.c
	$(CCD) $(CFLAGS) base64.c
cookied.obj: cookie.c
	$(CCD) $(CFLAGS) cookie.c
transferd.obj: transfer.c
	$(CCD) $(CFLAGS) transfer.c
escaped.obj: escape.c
	$(CCD) $(CFLAGS) escape.c
formdatad.obj: formdata.c
	$(CCD) $(CFLAGS) formdata.c
ftpd.obj: ftp.c
	$(CCD) $(CFLAGS) ftp.c
httpd.obj: http.c
	$(CCD) $(CFLAGS) http.c
ldapd.obj: ldap.c
	$(CCD) $(CFLAGS) ldap.c
dictd.obj: dict.c
	$(CCD) $(CFLAGS) dict.c
telnetd.obj: telnet.c
	$(CCD) $(CFLAGS) telnet.c
getdated.obj: getdate.c
	$(CCD) $(CFLAGS) getdate.c
getenvd.obj: getenv.c
	$(CCD) $(CFLAGS) getenv.c
getpassd.obj: getpass.c
	$(CCD) $(CFLAGS) getpass.c
hostipd.obj: hostip.c
	$(CCD) $(CFLAGS) hostip.c
if2ipd.obj: if2ip.c
	$(CCD) $(CFLAGS) if2ip.c
mprintfd.obj: mprintf.c
	$(CCD) $(CFLAGS) mprintf.c
netrcd.obj: netrc.c
	$(CCD) $(CFLAGS) netrc.c
progressd.obj: progress.c
	$(CCD) $(CFLAGS) progress.c
sendfd.obj: sendf.c
	$(CCD) $(CFLAGS) sendf.c
speedcheckd.obj: speedcheck.c
	$(CCD) $(CFLAGS) speedcheck.c
sslused.obj: ssluse.c
	$(CCD) $(CFLAGS) ssluse.c
timevald.obj: timeval.c
	$(CCD) $(CFLAGS) timeval.c
urld.obj: url.c
	$(CCD) $(CFLAGS) url.c
filed.obj: file.c
	$(CCD) $(CFLAGS) file.c
getinfod.obj: getinfo.c
	$(CCD) $(CFLAGS) getinfo.c
versiond.obj: version.c
	$(CCD) $(CFLAGS) version.c
easyd.obj: easy.c
	$(CCD) $(CFLAGS) easy.c
strequald.obj: strequal.c
	$(CCD) $(CFLAGS) strequal.c


## Release SSL
base64rs.obj: base64.c
	$(CCRS) $(CFLAGS) base64.c
cookiers.obj: cookie.c
	$(CCRS) $(CFLAGS) cookie.c
transferrs.obj: transfer.c
	$(CCRS) $(CFLAGS) transfer.c
escapers.obj: escape.c
	$(CCRS) $(CFLAGS) escape.c
formdatars.obj: formdata.c
	$(CCRS) $(CFLAGS) formdata.c
ftprs.obj: ftp.c
	$(CCRS) $(CFLAGS) ftp.c
httprs.obj: http.c
	$(CCRS) $(CFLAGS) http.c
ldaprs.obj: ldap.c
	$(CCRS) $(CFLAGS) ldap.c
dictrs.obj: dict.c
	$(CCRS) $(CFLAGS) dict.c
telnetrs.obj: telnet.c
	$(CCRS) $(CFLAGS) telnet.c
getdaters.obj: getdate.c
	$(CCRS) $(CFLAGS) getdate.c
getenvrs.obj: getenv.c
	$(CCRS) $(CFLAGS) getenv.c
getpassrs.obj: getpass.c
	$(CCRS) $(CFLAGS) getpass.c
hostiprs.obj: hostip.c
	$(CCRS) $(CFLAGS) hostip.c
if2iprs.obj: if2ip.c
	$(CCRS) $(CFLAGS) if2ip.c
mprintfrs.obj: mprintf.c
	$(CCRS) $(CFLAGS) mprintf.c
netrcrs.obj: netrc.c
	$(CCRS) $(CFLAGS) netrc.c
progressrs.obj: progress.c
	$(CCRS) $(CFLAGS) progress.c
sendfrs.obj: sendf.c
	$(CCRS) $(CFLAGS) sendf.c
speedcheckrs.obj: speedcheck.c
	$(CCRS) $(CFLAGS) speedcheck.c
sslusers.obj: ssluse.c
	$(CCRS) $(CFLAGS) ssluse.c
timevalrs.obj: timeval.c
	$(CCRS) $(CFLAGS) timeval.c
urlrs.obj: url.c
	$(CCRS) $(CFLAGS) url.c
filers.obj: file.c
	$(CCRS) $(CFLAGS) file.c
getinfors.obj: getinfo.c
	$(CCRS) $(CFLAGS) getinfo.c
versionrs.obj: version.c
	$(CCRS) $(CFLAGS) version.c
easyrs.obj: easy.c
	$(CCRS) $(CFLAGS) easy.c
strequalrs.obj: strequal.c
	$(CCRS) $(CFLAGS) strequal.c


clean:
	-@erase *.obj
	-@erase vc60.idb
	-@erase vc60.pch

distrib: clean
	-@erase $(PROGRAM_NAME)