# CFLAGS:
#	set -DJOBCONTROL if you have job control (BSD).
#	set -DSYSV -Dindex=strchr -Drindex=strrchr on Sytem V systems
#	set -Dregfree=free if you DON'T include reg.o (SYSV + some BSD)
#
# JOBCONTROL could be done as #ifndef SYSV, I suppose, but this clearly
# marks that particular difference.
#
# LIBS:
# should point to any extra libraries needed, such as termcap.  You
# may want to change this to use the curses termcap cover.  If you need
# to pull in another library to get regex / regcmp or strtok on non-SYSV
# systems, you may want to put that here.  I understand that -lPW is now
# required on many SYSV systems to pick up regex/regcmp, hence that is
# reflected here.
#
# EXTRAOBJS:
# may be used to include tmpnam.o, strtok.o, reg.o in the list.
#
# These objects implement SYSV utilities for BSD machines.
#
# strtok.o implements strtok() / strpbrk().  reg.o implements regex()/regcmp()
# on top of the BSD regular expression library (regex() allows multiple
# regular expressions).  tmpnam.o implements tmpnam() of course.
#
# If you have them, use your own regex/regcmp, because:
#
#	i) They should be faster than the reg.c code, which
#	recompiles the "current" ucb string every time you
#	switch regular expressions.
#
#	ii) I'm using reg.c myself on a couple systems, and it seems to
#	work.  But implementing one set of system calls on top of a
#	different set is always a bit suspect, and why add code when
#	you don't need to.
#
# if you DON'T include reg.o, be sure you set -Dregfree=free in CFLAGS.
#
# As with regex, if you have a system strtok(), it is likely more efficient -
# string routines will often be done in assembler on a given machine.
#
# Even if you have it, you can use tmpnam.o anyhow.  This version will tailor
# the temp file name to vnXXXXXX, instead of a generic tmpXXXXXX.
#
# "vanilla" BSD.  This has been used locally on Pyramids / CCI / Sun.
#LIBS = -ltermcap
#EXTRAOBJS = tmpnam.o strtok.o reg.o
#CFLAGS = -O -DJOBCONTROL
#
# "vanilla" SYSV:
#LIBS = -ltermcap -lPW
#EXTRAOBJS = tmpnam.o
#CFLAGS = -O -DSYSV -Dregfree=free -Dindex=strchr -Drindex=strrchr
#
# BSD with strtok() / regex(), such as ULTRIX.  These are the rules
# used for our non-NNTP installation (rtech is a microvax running ULTRIX):
#LIBS = -ltermcap
#EXTRAOBJS = tmpnam.o
#CFLAGS = -O -DJOBCONTROL -Dregfree=free

# SERVEROBJS defines the object(s) for the vns_xxxx "server" interface.
#
#	std.o is the version for "standard" news, making use of the
#	users .newsrc file, and  resident articles / active file.
#	If you compile std.c with NNTP defined you get the version
#	of vn which will talk to an NNTP server.  You will also have
#	to define where to pick up the response_codes.h header file,
#	and where the server library is (server_init, etc.).  It is also
#	99.9% certain that you will want to change DEF_MACHINE in
#	config_std.h.  For this reason, config_std.h has the definition
#	commented out, which will cause a syntax error until you fix it.
#	See the special NNTP version rule for std.o following the vn rule
#
SERVEROBJS = std.o
SERVERLIBS = 

# normal vn objects
#
VNOBJS=	hash.o envir_set.o pagefile.o reader.o storage.o sig_set.o term_set.o tty_set.o userlist.o vn.o vnglob.o digest.o strings.o session.o printex.o getch.o help.o newdisp.o stat.o svart.o

# This is to force you to read the makefile.  Once you have, comment this rule,
# and uncomment the "real" rule.  At the minimum, you will also have to
# uncomment one of the three sets of LIBS / EXTRAOBJS & CFLAGS definitions
# above.  For the NNTP version you will also have to uncomment and modify
# the std.o special rule, and pick up server_init, etc. from somewhere.
#
vn:
	@echo "PLEASE READ THE MAKEFILE"
#vn:	$(VNOBJS) $(EXTRAOBJS) $(SERVEROBJS)
#	cc -o vn $(VNOBJS) $(EXTRAOBJS) $(SERVEROBJS) $(SERVERLIBS) $(LIBS)
#
#std.o	:
#	cc -c $(CFLAGS) -DNNTP -I. std.c
