##++ Makefile for Generic NQS v3.4x.
#
# Please read the file `../INSTALL' for full details.

#
# STEP ONE : EDIT THESE VARIABLES TO SUIT YOUR LOCAL SETUP
#
# THE DEFAULTS SHOULD BE SUITABLE FOR JUST ABOUT EVERY INSTALLATION.
# USERS WITH A BSD-STYLE FILESYSTEM LAYOUT MAY PREFER TO USE THE OTHER
# SUPPLIED DEFINITION OF NQS_LIBEXE INSTEAD.
#

# NQS_ROOTDIR is a directory which is (possibly) shared via NFS between
# several machines.  Generic NQS will be installed into sub-directories
# of NQS_ROOTDIR.

NQS_ROOTDIR  =  /usr/local

# NQS_ROOTPRIV is a directory which is UNIQUE to each machine running NQS.
# This directory is used to hold pending NQS job scripts, output files
# waiting to be returned to the user's home directory, queue and manager
# definitions, and transient data about each submitted job.
#
# Typical requirements depend on what you use NQS for, but for most sites,
# I'd recommend about 10Mbs of free space.

NQS_ROOTPRIV =  /usr/spool

# Existing users of NQS may wish to change these variables to conform to
# existing installations.  New users are STRONGLY advised not to change
# these variables.

NQS_MAN       = $(NQS_ROOTDIR)/man
NQS_SPOOL     = $(NQS_ROOTPRIV)/nqs
#NQS_LIBEXE  = $(NQS_ROOTDIR)/lib/nqs
  # BSD-style
 NQS_LIBEXE    = $(NQS_ROOTDIR)/sbin
  # Linux/SYSV alternative
NQS_HOME      = $(NQS_ROOTDIR)/lib/nqs
NQS_USREXE    = $(NQS_ROOTDIR)/bin
NQS_STAGE_LOC = $(NQS_ROOTDIR)/lib/nqs/stage
QMGR_HELPFILE = $(NQS_ROOTDIR)/lib/nqs/qmgr.hlp
NQS_NMAP      = $(NQS_ROOTDIR)/lib/nqs/nmap

# STEP TWO - FEATURE LIST
#
# The following OPTIONAL features are supported by Generic NQS v3.40.0 :
#
# -DTAMU
#    a whole host of generic improvements, kindly contributed by Dave Safford 
#    from Texas A&M University.
# -DNQS_CHECKBAL
#    adds support for user accounting.  The internal function nqs_checkbal()
#    is called - replace this with your own to provide a mechanism for
#    checking whether a user has used up all of their credit or not.
# -DNQS_DYNAMICSCHED
#    adds support for dynamic scheduling, where the NQS queues are resorted
#    on a very regular basis.  One advantage of this is that users who
#    submit more jobs than the queue's user_limit find their jobs being
#    requeued with a lower priority than that enjoyed by other users ...
# -DNQS_NIS
#    allows you to use NIS netgroups in /etc/hosts.equiv.  I've experienced
#    problems with this and NIS+ - if you do, compile without this feature.
# -DNQS_PSET
#    processor set support (only works with IRIX 5 and 6 atm)
# -DNQS_TMPDIR
#    adds support for supplying running scripts with a TMPDIR environment
#    variable, which points to a scratch space directory.  For compatibility 
#    with CraySoft NQE.
#
# More complete details can be found in the file `Features', inside the `doc'
# directory of the Generic NQS source distribution.
#
# To compile Generic NQS with the optional features of your choice, simply
# add the feature you want to the `FEATURES' line below.  The TAMU features
# are already added, as an example.  IMPORTANT - do not forget the `-D'
# at the front of each feature!!

FEATURES = -DTAMU

# STEP THREE - WHAT VERSION OF UNIX DO YOU RUN?
#
# uncomment the makefile for your machine, by deleting the `#' at the
# start of the appropriate line.
#
# Please note that many IRIX 6 users will be unable to compile the 64-bit
# version of Generic NQS.  I understand that some older IRIX 6 compilers
# **APPEAR** to be unable to correctly compile Generic NQS - this will
# be investigated further.  In the mean time, the 32-bit IRIX 6 version
# is reported to work well.

#include Makefile.fujitsu		# Fujitsu UXP/M
#include Makefile.ibm			# AIX
#include Makefile.hpux8			# HP-UX v8
#include Makefile.hpux9			# HP-UX v9
#include Makefile.hpux10		# HP-UX 10 (unsupported)
#include Makefile.sgi4			# IRIX 4.x (probably doesn't work)
#include Makefile.sgi5			# IRIX 5.x
#include Makefile.sgi6.32		# IRIX 6.x, 32-bit binary
#include Makefile.sgi6.64		# IRIX 6.x, 64-bit binary
#					# (may not work with older compilers?)
#include Makefile.linux			# Linux
#include Makefile.ncr			# NCR UNIX
#include Makefile.decosf		# OSF/1 on DEC hardware
#include Makefile.solaris		# Solaris 2.x
#include Makefile.sun			# SunOS 4.x
#include Makefile.ultrix		# ULTRIX
#include Makefile.unicos		# UNICOS v8

# YOU SHOULD NOT NEED TO EDIT BELOW HERE ----------------------------------

NQS_GROUP = 	bin
NQS_OWNER = 	root

# More detailed information can be found below HERE
#
# $Source$
#
# DESCRIPTION:
#
#	Network Queueing System (NQS) Makefile
#
#
#	To "make" NQS for NPSN UNIX, one should first change directory to
#	the ../proto directory (as a SUPERUSER) and type:
#
#		make directories	(Unnecessary if the NQS directories
#					 already exist)
#	and then (as a NON-SUPERUSER):
#
#		make
#
#	then as SUPERUSER (still in the ../proto directory),
#
#		make install
#
#
#
#	NQS Run-time Directory Hierarchy:
#
#
#	$(NQS_SPOOL)/			    NQS directory tree;	       mode 711
#		      new/		    Parent of new request      mode 700
#		      |	 |		    database hierarchy
#		      |	 |		    (mode 700 must be maintained
#		      |  |		    to prevent unauthorized
#		      |	 |		    linking to and deleting of
#		      |  V		    new request files);
#		      |  requests/	    New request files and      mode 777
#		      |			    FIFO request pipe to
#		      |			    NQS local daemon;
#		      private/		    NQS private directories;   mode 700
#		      |	     root/	    NQS root directory;	       mode 777
#		      |		 V	    (Mode MUST be 777)
#		      |		 control/   Parent of the request      mode 777
#		      |		 |	|   control file directories;
#		      |		 |      V
#		      |		 |     <subdirectories>		       mode 777
#		      |		 V
#		      |		 data/	    Parent of the request      mode 777
#		      |		 |   |	    data files (e.g. print
#		      |		 |   |      files, commands for batch
#		      |          |   |      requests;
#		      |		 |   V
#		      |		 |  <subdirectories>		       mode 777
#		      |		 V
#		      |		 database/  NQS database files (see    mode 777
#		      |		 |	    database_qa, database_qo,
#		      |		 V	    and transact also);
#		      |		 database_qa/
#		      |		 V	    Queue access files;	       mode 777
#		      |		 database_qo/
#		      |		 V	    Queue ordering files;      mode 777
#		      |		 failed/    Saved copies of requests   mode 777
#		      |		 V	    that caused problems;
#		      |		 interproc/ Inter-process	       mode 777
#		      |		 |	    communication files for
#		      |		 |	    completion code results FROM
#		      |		 |	    the NQS daemon to local client
#		      |		 V	    processes;
#		      |		 output/    Spooled output files,      mode 777
#		      |		 |     |    and mail log files for
#		      |		 |     |    NQS batch requests.
#		      |		 |     V
#		      |		 |    <subdirectories>		       mode 777
#		      |		 V
#		      |		 transact/  Transaction files;	       mode 777
#		      |			 V
#		      |			<subdirectories>	       mode 777
#		      |			
#		      V
#		      scripts/		    Contains links to active   mode 711
#					    shell scripts when the
#					    NQS shell-strategy is
#					    set to free mode.
#				
#
#
#	Author:
#	-------
#	Brent A. Kingsbury, Sterling Software Incorporated.
#	November 12, 1985.
#
#
# STANDARDS VIOLATIONS:
#
# REVISION HISTORY: ($Revision$ $Date$ $State$)
# $Log$
#
#--
#
# These first parameters are the ones that you might want to modify while
# building NQS...
#
#  NQS_GROUP is a group that will be given special access
#	to the queueing system (system maintainers).
#  NQS_OWNER is the name of the user who owns the NQS directory
#	identified by NQS_SPOOL, and all directories descended
#	from the NQS_SPOOL directory.
#  NQS_LIBEXE is where ancillary NQS programs and files live.
#	(can be shared by the same architecture).
#  NQS_SPOOL is the top of the NQS spooling tree (.../spool/nqs)
#	(must be private to each system running NQS).
#  NQS_USREXE is where user interface NQS programs live.
#	(can be shared by the same architecture).
#  NQS_MAN is the location for installing man pages.
#	(can be shared by the same architecture).
#  NQS_NMAP is the location of the Nmapmgr database.
#	(can be shared by the same architecture).
#  NQS_STAGE_LOC is the directory in which the next version is
#	held for install when the system is idle. (can be shared by the same
#	architecture).	
#  QMGR_HELPFILE defines the full path of the installed NQS Qmgr
#	help file (can be shared by the same architecture).
