1# ========================================================================
2# Copyright 1988-2007 University of Washington
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#     http://www.apache.org/licenses/LICENSE-2.0
9#
10#
11# ========================================================================
12
13# Program:	Portable C client makefile -- NT version + Kerberos
14#
15# Author:	Mark Crispin
16#		Networks and Distributed Computing
17#		Computing & Communications
18#		University of Washington
19#		Administration Building, AG-44
20#		Seattle, WA  98195
21#		Internet: MRC@CAC.Washington.EDU
22#
23# Date:		11 May 1989
24# Last Edited:	23 May 2007
25# Last Edited:   1 Aug 2018
26
27
28EXTRAAUTHENTICATORS =
29EXTRADRIVERS =
30EXTRACFLAGS =
31AUTHENTICATORS = ext gss md5 pla bea oa2 log
32DRIVERS = imap nntp pop3 mbx mtx tenex unix
33CREATEDRIVER = mbx
34APPENDDRIVER = unix
35OSCOMPAT = /DWIN32 /D_WIN32_WINNT=0x0501 /I\k5\include
36VSCOMPAT = /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
37CFLAGS = /MT /W3 /Ox /DCHUNKSIZE=65536 $(OSCOMPAT) $(VSCOMPAT) -nologo /I.. $(EXTRACFLAGS)
38CC = cl
39CCLIENTLIB = cclient.lib
40
41all:	$(CCLIENTLIB)
42
43.c.obj:
44	$(CC) -c $(CFLAGS) $*.c
45
46osdep.h: os_nt.h
47	copy os_nt.h osdep.h
48	if exist linkage.c del linkage.c
49	if exist linkage.h del linkage.h
50	if exist auths.c del auths.c
51	$(CC) -c $(CFLAGS) proc.c
52	link /subsystem:console /out:proc.exe proc.obj
53	proc drivers $(EXTRADRIVERS) $(DRIVERS) dummy
54	proc setproto $(CREATEDRIVER) $(APPENDDRIVER)
55	proc sslinit
56	proc mkauths $(EXTRAAUTHENTICATORS) $(AUTHENTICATORS)
57	proc version
58
59ip_nt.c: ip4_nt.c
60	copy ip4_nt.c ip_nt.c
61
62mail.obj: mail.h misc.h osdep.h mail.c
63
64misc.obj: mail.h misc.h misc.c
65
66fdstring.obj: mail.h misc.h osdep.h fdstring.h fdstring.c
67
68flstring.obj: mail.h misc.h osdep.h flstring.h flstring.c
69
70netmsg.obj: mail.h misc.h netmsg.h osdep.h netmsg.c
71
72newsrc.obj: mail.h misc.h newsrc.h osdep.h newsrc.c
73
74rfc822.obj: mail.h rfc822.h misc.h rfc822.c
75
76smanager.obj: mail.h misc.h smanager.c
77
78utf8.obj: mail.h misc.h osdep.h utf8.h
79
80utf8aux.obj: mail.h misc.h osdep.h utf8.h
81
82imap4r1.obj: mail.h imap4r1.h misc.h osdep.h imap4r1.c
83
84nntp.obj: mail.h nntp.h smtp.h rfc822.h misc.h osdep.h nntp.c
85
86pop3.obj: mail.h rfc822.h misc.h osdep.h pop3.c
87
88smtp.obj: mail.h smtp.h rfc822.h misc.h osdep.h smtp.c
89
90os_ntk.obj: mail.h osdep.h env_nt.h fs.h ftl.h nl.h tcp.h tcp_nt.h yunchan.h \
91	os_ntk.c fs_nt.c ftl_nt.c nl_nt.c env_nt.c ssl_nt.c ssl_none.c \
92	ip_nt.c tcp_nt.c yunchan.c pmatch.c write.c \
93	mailfile.h auth_gss.c auth_md5.c auth_ntl.c auth_pla.c auth_bea.c \
94	auth_oa2 auth_log.c kerb_mit.c
95
96mbxnt.obj: mail.h misc.h osdep.h mbxnt.c
97
98mtxnt.obj: mail.h misc.h osdep.h mtxnt.c
99
100tenexnt.obj: mail.h misc.h osdep.h tenexnt.c
101
102unixnt.obj: mail.h unixnt.h pseudo.h misc.h osdep.h unixnt.c
103
104dummynt.obj: mail.h dummy.h misc.h osdep.h dummynt.c
105
106pseudo.obj: pseudo.h
107
108http.obj: mail.h misc.h http.h
109
110json.obj: mail.h misc.h json.h
111
112$(CCLIENTLIB): mail.obj misc.obj fdstring.obj flstring.obj netmsg.obj \
113	newsrc.obj rfc822.obj smanager.obj utf8.obj utf8aux.obj \
114	imap4r1.obj nntp.obj pop3.obj smtp.obj os_ntk.obj \
115	mbxnt.obj mtxnt.obj tenexnt.obj unixnt.obj dummynt.obj pseudo.obj \
116	http.obj json.obj
117	if exist $(CCLIENTLIB) del $(CCLIENTLIB)
118	LIB /NOLOGO /OUT:cclient.lib \
119	mail.obj misc.obj fdstring.obj flstring.obj netmsg.obj \
120	newsrc.obj rfc822.obj smanager.obj utf8.obj utf8aux.obj \
121	imap4r1.obj nntp.obj pop3.obj smtp.obj os_ntk.obj \
122	mbxnt.obj mtxnt.obj tenexnt.obj unixnt.obj dummynt.obj pseudo.obj \
123	http.obj json.obj
124
125clean:
126	del *.lib *.obj linkage.* osdep.* ip_nt.c auths.c *.exe *.exp || rem
127
128# A monument to a hack of long ago and far away...
129
130love:
131	@echo not war?
132