# ========================================================================
# Copyright 1988-2007 University of Washington
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# 
# ========================================================================

# Program:	Portable C client makefile -- Windows 2000/XP version
#
# Author:	Mark Crispin
#		Networks and Distributed Computing
#		Computing & Communications
#		University of Washington
#		Administration Building, AG-44
#		Seattle, WA  98195
#		Internet: MRC@CAC.Washington.EDU
#
# Date:		11 May 1989
# Last Edited:	23 May 2007


IP=6
EXTRAAUTHENTICATORS =
EXTRADRIVERS = 
EXTRACFLAGS =
AUTHENTICATORS = ext gss md5 pla bea oa2 log
DRIVERS = graph graphloser imap nntp pop3 mbx mtx tenex unix
CREATEDRIVER = mbx
APPENDDRIVER = unix
OSCOMPAT = /DWIN32
VSCOMPAT = /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
CFLAGS = /MT /W3 /Ox /DCHUNKSIZE=65536 $(OSCOMPAT) $(VSCOMPAT) -nologo /I.. $(EXTRACFLAGS)
CC = cl
CCLIENTLIB = cclient.lib

all:	$(CCLIENTLIB)

.c.obj:
	$(CC) -c $(CFLAGS) $*.c

osdep.h: os_nt.h
	copy os_nt.h osdep.h
	if exist linkage.c del linkage.c
	if exist linkage.h del linkage.h
	if exist auths.c del auths.c
	$(CC) -c $(CFLAGS) proc.c
	link /subsystem:console /out:proc.exe proc.obj
	proc drivers $(EXTRADRIVERS) $(DRIVERS) dummy
	proc setproto $(CREATEDRIVER) $(APPENDDRIVER)
	proc sslinit
	proc mkauths $(EXTRAAUTHENTICATORS) $(AUTHENTICATORS)
	proc version

ip_nt.c: ip$(IP)_nt.c
	copy ip$(IP)_nt.c ip_nt.c

mail.obj: mail.h misc.h osdep.h mail.c

misc.obj: mail.h misc.h misc.c

fdstring.obj: mail.h misc.h osdep.h fdstring.h fdstring.c

flstring.obj: mail.h misc.h osdep.h flstring.h flstring.c

netmsg.obj: mail.h misc.h netmsg.h osdep.h netmsg.c

newsrc.obj: mail.h misc.h newsrc.h osdep.h newsrc.c

rfc822.obj: mail.h rfc822.h misc.h rfc822.c

smanager.obj: mail.h misc.h smanager.c

utf8.obj: mail.h misc.h osdep.h utf8.h

utf8aux.obj: mail.h misc.h osdep.h utf8.h

imap4r1.obj: mail.h imap4r1.h misc.h osdep.h imap4r1.c

nntp.obj: mail.h nntp.h smtp.h rfc822.h misc.h osdep.h nntp.c

pop3.obj: mail.h rfc822.h misc.h osdep.h pop3.c

smtp.obj: mail.h smtp.h rfc822.h misc.h osdep.h smtp.c

os_w2k.obj: mail.h osdep.h env_nt.h fs.h ftl.h nl.h tcp.h tcp_nt.h yunchan.h \
	os_w2k.c fs_nt.c ftl_nt.c nl_nt.c env_nt.c ssl_w2k.c ssl_none.c \
	ip_nt.c tcp_nt.c yunchan.c pmatch.c write.c \
	mailfile.h auth_gss.c auth_md5.c auth_ntl.c auth_pla.c auth_bea.c \
	auth_oa2.c auth_log.c kerb_w2k.c sha.c

mbxnt.obj: mail.h misc.h osdep.h mbxnt.c

mtxnt.obj: mail.h misc.h osdep.h mtxnt.c

tenexnt.obj: mail.h misc.h osdep.h tenexnt.c

unixnt.obj: mail.h unixnt.h pseudo.h misc.h osdep.h unixnt.c

dummynt.obj: mail.h dummy.h misc.h osdep.h dummynt.c

pseudo.obj: pseudo.h

http.obj: mail.h misc.h http.h

json.obj: mail.h misc.h json.h

sha.obj: mail.h misc.h osdep.h sha.h sha-private.h hash.h hmac.c sha1.c sha224-256.c sha384-512.c usha.c

$(CCLIENTLIB): mail.obj misc.obj fdstring.obj flstring.obj netmsg.obj \
	newsrc.obj rfc822.obj smanager.obj utf8.obj utf8aux.obj \
	imap4r1.obj nntp.obj pop3.obj smtp.obj os_w2k.obj \
	mbxnt.obj mtxnt.obj tenexnt.obj unixnt.obj dummynt.obj pseudo.obj \
	http.obj json.obj sha.obj
	if exist $(CCLIENTLIB) del $(CCLIENTLIB)
	LIB /NOLOGO /OUT:cclient.lib \
	mail.obj misc.obj fdstring.obj flstring.obj netmsg.obj \
	newsrc.obj rfc822.obj smanager.obj utf8.obj utf8aux.obj \
	imap4r1.obj nntp.obj pop3.obj smtp.obj os_w2k.obj \
	mbxnt.obj mtxnt.obj tenexnt.obj unixnt.obj dummynt.obj pseudo.obj \
	http.obj json.obj sha.obj

clean:
	del *.lib *.obj linkage.* osdep.* ip_nt.c auths.c *.exe *.exp || rem

# A monument to a hack of long ago and far away...

love:
	@echo not war?
