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