version =1.50A
!	VNEWS MMS File (original by Jim Gerland; current version jms)
!
! To compile VNEWS for Multinet: MMS
! To compile VNEWS for Wollongong: MMS/macro="WIN=foo"
! To compile VNEWS for Wollongong 5.2: MMS/macro="win52=foo"
! To compile VNEWS for CMU: MMS/macro="CMU=bar"
! To compile VNEWS for UCX: MMS/macro="UCX=baz"
! To compile VNEWS for DECnet: MMS/macro="DECNET=zap"
! To compile VNEWS for TCPware: MMS/macro="PSC=boo"
!
!+++to change the network you're linking against, DELETE VNEWS.OPT+++
!
!
! This MMS file works with two MMS commands: MMS and DMMS.  MMS is
! standard MMS and compiles the program without debugging. DMMS
! compiles the program with debug options.  
! $ dmms == "mms/macro=(""ldflag=/DEBUG/TRACE"",fdflag=""/DEBUG/NOOPT"")"
!

!
! Our rules for building VNEWS.  
!
link =link
linkflags =/notrace/nomap/exec=vnews.exe
fort =fortran
fflags =/nolist/object=$(mms$target_name).obj/check=(bounds,overflow)
mflags =/nolist/object=$(mms$target_name).obj 
cflags =/nolist/object=$(mms$target_name).obj
cc =cc
macro =macro
cldflags = 
!tcpopts is defined for each specific TCP/IP implementation.

.suffixes
.suffixes .exe .obj .for .com .cld .mar .c

.obj.exe
	$(link) $(linkflags) $(mms$source) $(ldflag)
.cld.obj
	set command/object=$(mms$target_name) $(cldflags) $(mms$source)
.for.obj
	$(fort) $(fflags) $(mms$source) $(fdflag)
.mar.obj
	$(macro) $(mflags) $(mms$source) 
.c.obj
	$(cc) $(cflags) $(mms$source) $(cdflag)

vnews_objs =	auth.obj, -
		cachehdr.obj, -
		cli.obj, -
                close_newsrc.obj, -
                cmd.obj, -
		cmd_article.obj, -
                ctrl_c.obj, -
		c$time.obj, -
		delete_file.obj, -
		down_case.obj, -
		edit.obj, -
		expand_tabs.obj, -
		field.obj, -
		getfield.obj, -
		get_init.obj, -
		getinteger.obj, -
		getpersonalname.obj, -
		getuserdirectory.obj, -
		getusername.obj, -
		group_find.obj, -
		handler.obj, -
		header_check.obj, -
		itos.obj, -
		keypad_help.obj, -
		mark_as_read.obj, -
		mark_xref_as_read.obj, -
		more.obj, -
		news.obj, -
		nntp.obj, -
		open_newsrc.obj, -
		phoon.obj, -
		range.obj, -
		rfc_date.obj, -
		read_news.obj, -
		rotate.obj, -
		send_mail.obj, -
		smg.obj, -
		srv.obj, -
		str_strip_re.obj, -
		translog.obj, -
		trimlg.obj, -
		unavail_print.obj, -
		unread.obj, -
		user_open.obj, -
		vali4.obj, -
		validate_headers.obj, -
		version.obj, -
		vnews.obj, -
		xhdr.obj, -
		yow.obj


.ifdef win
! 
! Wollongong (pre V5.2) Version of VNEWS
!
tcpname =WINS/TCP
tcpopts =twg$tcp:[netdist.lib]libnet/lib, -
	 twg$tcp:[netdist.lib]libnetacc/lib,-
	 twg$tcp:[netdist.lib]libnet/lib,-
	 sys$share:vaxcrtl/share
alpha_tcpopts =twg$tcp:[netdist.lib]libnet/lib, -
	 twg$tcp:[netdist.lib]libnetacc/lib,-
	 twg$tcp:[netdist.lib]libnet/lib,-
	 sys$share:decc$shr/share
tcp_objs =bcopy.obj
.else
.ifdef win52
! 
! Wollongong (5.2 and above) Version of VNEWS
!
tcpname =WINS/TCP
tcpopts =twg$tcp:[netdist.lib]twglib/lib, -
	 sys$share:vaxcrtl/share
tcpopts =twg$tcp:[netdist.lib]twglib/lib, -
	 sys$share:decc$shr/share
tcp_objs =bcopy.obj
.else
.ifdef cmu
!
! CMU TEK TCP/IP Version of VNEWS
!
tcpname  =CMU/Tek
tcpopts  =sys$share:vaxcrtl/share
alpha_tcpopts  =sys$share:decc$shr/share
tcp_objs =htons.obj,bcopy.obj,gethostbyname.obj,cmulib.obj
.else
.ifdef ucx
!
! Digital's UCX version of VNEWS
!
tcpname  =DEC/UCX
tcpopts  =sys$library:ucx$ipc/lib,sys$share:vaxcrtl/share
alpha_tcpopts  =sys$library:ucx$ipc/lib,sys$share:decc$shr/share
tcp_objs =bcopy.obj
.else
.ifdef decnet
!
! DECnet version of VNEWS
!
tcpname  =DECnet
tcpopts  =sys$share:vaxcrtl/share
alpha_tcpopts  =sys$share:decc$shr/share
tcp_objs =htons.obj,decnetlib.obj
.else
.ifdef psc
!
! Process TCPware Version of VNEWS
!
tcpname  =PSC/TCPware
tcpopts  =tcpip_root:socklib/lib,sys$share:vaxcrtl/share
alpha_tcpopts  =tcpip_root:socklib/lib,decc$shr/share
tcp_objs =psclib.obj
.else
!
! TGV's Multinet (v2 and v3) Version of VNEWS
!
tcpname  =TGV/Multinet
tcpopts  =multinet:multinet_socket_library/share,sys$share:vaxcrtl/share
alpha_tcpopts  =multinet:multinet_socket_library/share,sys$share:decc$shr/share
tcp_objs =!none
.endif
.endif
.endif
.endif
.endif
.endif

!
! Here it is: the vnews dependencies.
!

vnews.exe : $(tcp_objs) 
vnews.exe : $(vnews_objs) vnews.opt
	$(link) $(linkflags) $(mms$source_list)/opt $(ldflag)

vnews.opt : Makefile
	! rebuilding the VNEWS.OPT file to run
	! VNEWS V$(version) for $(tcpname)
	@ hw == f$getsyi("HW_NAME")
	@ alpha == "FALSE"
	@ if f$edit(f$extract(0,3,hw),"upcase,collapse") .nes. "VAX" \
		then ALPHA=="TRUE"
	@ open/write vf vnews.opt
	@ write vf "!VNEWS using $(tcpname)"
	@ if f$extr(1,1,f$getsyi("VERSION")) .eqs. "4" then write vf "47compat"
	@ if alpha then write vf "$(alpha_tcpopts)"
	@ if (.NOT. alpha) then write vf "$(tcpopts)"
	@ write vf "identification=""VNEWS V$(version)"""
	@ close vf
	@ if (f$search("vnews.opt;-1").nes."") then $ purge vnews.opt
	@ if f$extr(1,1,f$getsyi("VERSION")) .eqs. "4" then fort 47compat

auth.obj : auth.for
bcopy.obj : bcopy.mar
cachehdr.obj : cachehdr.for
cli.obj : cli.for
close_newsrc.obj : close_newsrc.for news.def
cmd.obj : cmd.for news.def
cmd_article.obj : cmd_article.for news.def
cmulib.obj : cmulib.for cmulib.def network.def
	$(fort) $(fflags) cmulib.for $(fdflag) /warn=none
ctrl_c.obj : ctrl_c.for smg.def
c$time.obj : c$time.mar 
decnetlib.obj : decnetlib.for network.def
	$(fort) $(fflags) decnetlib.for $(fdflag) /warn=none
delete_file.obj : delete_file.for
down_case.obj : down_case.for
edit.obj : edit.for news.def
expand_tabs.obj : expand_tabs.for
field.obj : field.for
getfield.obj : getfield.for
gethostbyname.obj : gethostbyname.c
get_init.obj : get_init.for news.def site_specific.def
getinteger.obj : getinteger.for
getpersonalname.obj : getpersonalname.for itemlist.def
getuserdirectory.obj : getuserdirectory.for news.def itemlist.def
getusername.obj : getusername.for itemlist.def
group_find.obj : group_find.for news.def
handler.obj : handler.for handler.def
header_check.obj : header_check.for news.def
htons.obj : htons.mar
itos.obj : itos.for
keypad_help.obj : keypad_help.for news.def
mark_as_read.obj : mark_as_read.for news.def
mark_xref_as_read.obj : mark_xref_as_read.for news.def
more.obj : more.for news.def
news.obj : news.for news.def smg.def debug.def handler.def
news.obj : news.for news.def smg.def
nntp.obj : nntp.for news.def
open_newsrc.obj : open_newsrc.for news.def
phoon.obj : phoon.for phoon.def
psclib.obj : psclib.for
range.obj : range.for news.def
read_news.obj : read_news.for news.def smg.def debug.def
rfc_date.obj : rfc_date.for
rotate.obj : rotate.for
send_mail.obj : send_mail.for smg.def itemlist.def
smg.obj : smg.for smg.def
srv.obj : srv.for network.def debug.def
str_strip_re.obj : str_strip_re.for
translog.obj : translog.for itemlist.def
trimlg.obj : trimlg.for
unavail_print.obj : unavail_print.for
unread.obj : unread.for news.def
user_open.obj : user_open.for user_open.def
vali4.obj : vali4.for
validate_headers.obj : validate_headers.for news.def
version.obj : version.for
	$(fort) $(fflags) version.for $(fdflag)
	delete version.for;*
version.for : version.com
	@version.com "$(version)"
vnews.obj : vnews.cld
xhdr.obj : xhdr.for news.def
yow.obj : yow.for yow.def
	$(fort) $(fflags) yow.for $(fdflag) /extend/cont=99

.FIRST
	@determine-hardware
