# $Header: Makefile,v 2.96 98/10/20 22:49:22 goodman Exp $
# See RCS Log info at bottom
#

# Makefile for NevProp
# University of Nevada Center for Biomedical Modeling Research
# goodman@unr.edu

# Examples:
#   make    (makes the program)
#   make test  (performs a test -- see documentation)
#   make clean   (removes all files created by this makefile)
#   make PARAMETERS='' ( machines w/o rand48() )
#   make PARAMETERS='-DHAVE_RANDOM=1' ( machines w/ random() but not rand48() )
#   make OPTIMIZE='-O3'   (for machines that recognize this optimization)
#   make OPTIMIZE='-g -DDEBUG'   (debug)
#
#   ****TO COMPILE ON DOS MACHINES****
#   make PARAMETERS='-DCOMPILE_ON_DOS'
#	
# NOTE: nevprop may not compile with -DDEBUG on certain systems (that
# implement assert as a statement rather than an expression).  If you
# have trouble compiling, don't use -DDEBUG .

# For lint (code verifier):
# To lint all code,  "make lint" (or "make glint" to use gnu compiler).
#
# To lint particular .c files (if needed, i.e. dependencies have changed),
# e.g. "make aNet.ln netTr.ln", or  "make aNet.gln netTr.gln" for gnu.
#
# To re-lint (if needed) all code previously linted (i.e. having existing .ln
# file), "make *.ln"  or "make *.gln".

#defaults:

PARAMETERS =  -DHAVE_RAND48=1   # rand48() is best if available

# in final release, use system default:
#OPTIMIZE = $(CFLAGS)

# for beta, make -g the default:
OPTIMIZE = -g

#OPTIMIZE = -O
#OPTIMIZE = -O2  # gcc and some other compilers
#OPTIMIZE = -g -DDEBUG

#usually best to set CC or LINT on command line or as environment variable
#instead of here:

# hp-ux/ultrix ansi c :
#CC=cc -Aa
RM=/bin/rm -f

TARGET = np

LINT = lint

LDLIBS = -lm

# mkmf is in comp.sources.misc/volume1  (or comes with hp-ux)
# search archie (exact match) for mkmf.tar.Z or for comp.sources.misc
MAKEDEPEND=mkmf

# BSD:
#MAKEDEPEND=makedepend -- $(OPTIMIZE) *.c

############## no user-definable parameters below here ##############

# avoid using user's $SHELL in SysV
SHELL = /bin/sh

# HDRS, OBJS, and SRCS are maintained by mkmf (make [rcs]depend)
# Make sure you don't have any other .c or .h files in current dir.

HDRS	      = 1ofN.h \
		NPVERSION.h \
		aNet.h \
		aNetDef.h \
		ards.h \
		atox.h \
		auTrn.h \
		auTrnDef.h \
		boot.h \
		bootDef.h \
		cind.h \
		calibrate.h \
		const.h \
		create.h \
		datPr.h \
		datPrDef.h \
		dbassert.h \
		def.h \
		describe.h \
		describeDef.h \
		dmem.h \
		do.h \
		effWts.h \
		effWtsDef.h \
		eigens.h \
		ensemble.h \
		epsilon.h \
		extra.h \
		gammas.h \
		glob.h \
		hessian.h \
		ivs.h \
		lib.h \
		lrandom.h \
		netTr.h \
		netTrDef.h \
		parUpd.h \
		parUpdDef.h \
		protoTyp.h \
		qsort.h \
		rank.h \
		trakmem.h \
		util.h \
		volatile.h

OBJS = 1ofN.o \
		aNet.o \
		ards.o \
		atox.o \
		auTrn.o \
		boot.o \
		calibrate.o \
		cind.o \
		create.o \
		datPr.o \
		describe.o \
		dmem.o \
		effWts.o \
		eigens.o \
		ensemble.o \
		epsilon.o \
		extra.o \
		gammas.o \
		getdata.o \
		hessian.o \
		init.o \
		ivs.o \
		netTr.o \
		np.o \
		parUpd.o \
		qsort.o \
		rank.o \
		textf.o \
		trakmem.o \
		usr_resp.o \
		util.o

SRCS	      = 1ofN.c \
		aNet.c \
		ards.c \
		atox.c \
		auTrn.c \
		boot.c \
		cind.c \
		create.c \
		datPr.c \
		describe.c \
		dmem.c \
		effWts.c \
		eigens.c \
		ensemble.c \
		epsilon.c \
		extra.c \
		gammas.c \
		getdata.c \
		hessian.c \
		init.c \
		ivs.c \
		netTr.c \
		np.c \
		qsort.c \
		calibrate.c \
		parUpd.c \
		rank.c \
		textf.c \
		trakmem.c \
		usr_resp.c \
		util.c

np1to2_OBJS = 


build: $(TARGET) 

all: build Iris.net

$(TARGET): $(OBJS)
	$(RM) $@
	$(CC) $(OPTIMIZE) -o $@ $(OBJS) $(LDLIBS)

# should really just put in $(LNFILES) as dependencies
all.ln: $(SRCS) $(HDRS)
	$(LINT) $(LINTFLAGS) -c $(SRCS)

# should really just put in $(GLNFILES) as dependencies
all.gln: glint  $(SRCS) $(HDRS)
	./glint $(GLINTFLAGS) -c $(SRCS)

# rm the target first; otherwise mod-time bad for mis-synchronized nfs server
.c.o:
	$(RM) $@
	$(CC) $(OPTIMIZE) $(PARAMETERS) -c $<

# missing files? try getting them from rcs.  include some explicitly for
# versions of make not recognizing .DEFAULT target .
.DEFAULT $(SRCS) $(HDRS) glint cout rcsnull:
	co $@
	@test -f $@ && touch $@

.SUFFIXES: .gln .ln $(SUFFIXES)

# lint:  (cheap shortcut: make .ln depend on .o to get the header dependencies)
.o.ln:
	$(RM) $@
	$(LINT) $(LINTFLAGS) -c $*.c

# glint:
.o.gln:
	@$(MAKE) -$(MAKEFLAGS) -s glintXXX
	$(RM) $@
	./glint $(GLINTFLAGS) -c $*.c


oclean:
	@/bin/rm -f $(OBJS) 
lnclean:
	@/bin/rm -f *.ln *.gln
clean:	oclean lnclean
	@/bin/rm -f $(TARGET) np core \
		test1.out test2.out test3.out \
		test2out.wts test2out.ptr
	@/bin/rm -fr 00*TempDist.Dir

test1.out:	$(TARGET) test1.net
	./$(TARGET) test1 1000 25 99 > $@
test2.out:	$(TARGET) test2.net
	./$(TARGET) test2  300  5 66 >test2.out && \
	       (/bin/mv test2.wts test2out.wts; /bin/mv test2.ptr test2out.ptr)
test3.out:	$(TARGET) test3.net
	./$(TARGET) test3 200 25 99 > $@

test1: test1.out golden1.out
	@(diff golden1.out test1.out) && echo $@ passed || (echo $@ failed; false)
test2: test2.out golden2.out
	@(diff golden2.out test2.out) && echo $@ passed || (echo $@ failed; false)

test3: test3.out golden3.out
	@(diff golden3.out test3.out) && echo $@ passed || (echo $@ failed; false)

# list the .out files here so the pass/fail messages appear together at end:
testdiffs: test1 test1_interactive test2 test3

test: test1.out test2.out test3.out 

golden: test1.out test2.out test3.out
	cp test1.out golden1.out
	cp test2.out golden2.out
	cp test3.out golden3.out

# remove objects after changing dependencies to ensure recompilation
depend:	$(SRCS) $(HDRS)
	rcsnull $(SRCS) $(HDRS)
	@$(MAKEDEPEND)
	$(MAKE) -$(MAKEFLAGS) oclean

Iris.net: Describe.net
	egrep -v '^#>' Describe.net > $@ || /bin/rm $@

dist: NPtemp.tar.gz
	@if [ -f NP.tar.gz ] ; then /bin/mv NP.tar.gz NP.tar.gz~ ; fi
	/bin/mv -f NPtemp.tar.gz NP.tar.gz

NPtemp.tar.gz: Iris.net
	@echo >&2 "I hope you've checked out all the latest versions just now."
	@mkdir 00$$$$TempDist.Dir && mkdir 00$$$$TempDist.Dir/NevProp4 \
	&& files="0_README.NOW COPYING Iris.net Prostate.trn `/bin/ls ./RCS/. \
	  | egrep '\.(net|out|inp|doc|np2)\,v$$'|sed 's/\,v$$//' \
	  ` Makefile $(HDRS) $(SRCS)" \
	&& rcsnull $$files \
	&& for file in $$files; do \
		test -f $$file && /bin/cp $$file 00$$$$TempDist.Dir/NevProp4/;\
	   done \
	&& cd 00$$$$TempDist.Dir \
	&& chmod -R a+r,u+w NevProp4\
	&& (chmod -R a+X NevProp4 2>/dev/null || true) \
	&& tar cvf - NevProp4 | gzip > $@ && /bin/mv -i $@ ../ && cd ..
	@/bin/rm  -rf 00*TempDist.Dir

# check out all files from rcs :
coall: ./RCS/. cout rcsnull
	./cout $(COFLAGS) `(/bin/ls RCS/.|sed 's/,v//'; echo "Makefile")|sort|uniq -u`
	co $(COFLAGS) Makefile
	./cout $(COFLAGS) `(/bin/ls RCS/.|sed 's/,v//'; echo "Makefile")|sort|uniq -d`
	$(MAKE) -$(MAKEFLAGS) Iris.net

# indirect target avoids "glint is up to date" message:
glintXXX: glint

# || true keeps make from aborting if error status due to writeable Makefile
rcsdepend:
	@echo "rcsdepend doesn't work right now.  co -l Makefile and \
make depend instead." >&2 ; false

##	co -q $(SRCS) $(HDRS) || true   # make sure everything is current
##	co -l -q Makefile || (echo 'If you have already locked Makefile, just do a "make depend".'; false)
##	$(MAKE) -$(MAKEFLAGS) depend
##	ci -q -m"$(MAKE) -$(MAKEFLAGS) rcsdepend" Makefile || true
##	co -q Makefile && rcs -u Makefile || true  # unlock if co -q succeeds

# This info maintained by RCS:
#
# $Log:	Makefile,v $
# Revision 2.96  98/10/20  22:49:22  22:49:22  goodman (Dr. Philip Goodman)
# Removed interactive test condition (no longer supported)
# 
# Revision 2.95  98/08/16  02:26:35  02:26:35  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.94  98/08/16  02:21:47  02:21:47  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.93  98/08/16  02:18:06  02:18:06  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.92  98/08/16  02:11:16  02:11:16  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.91  98/08/13  23:23:13  23:23:13  goodman (Dr. Philip Goodman)
# Update NevProp3 to NevProp4 for tar distribution.
# 
# Revision 2.90  98/02/01  19:32:00  19:32:00  feisha (Fei Sha)
# Calibrate.c, qsort.c added!!!
# 
# Revision 2.89  96/09/14  12:47:54  12:47:54  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.88  96/09/14  04:27:41  04:27:41  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.87  96/09/06  06:24:20  06:24:20  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.86  96/09/06  06:16:02  06:16:02  goodman (Dr. Philip Goodman)
# update NevProp2 to NevProp3/ folder for deististrib 
# 
# Revision 2.85  96/03/26  09:28:04  09:28:04  feisha (Fei Sha)
# remove np1to2 from target.
# 
# Revision 2.84  96/01/11  19:01:47  19:01:47  feisha (Fei Sha)
# Chaning in ivs.c and ivs.h.
# 
# Revision 2.83  96/01/04  11:45:17  11:45:17  feisha (Fei Sha)
# 1ofN related modules.
# 
# Revision 2.82  95/12/29  11:50:28  11:50:28  feisha (Fei Sha)
# Makefile can checkout all files for compiling.
# 
# Revision 2.81  95/12/13  16:00:07  16:00:07  feisha (Fei Sha)
# a flaw corrected.
# 
# Revision 2.80  95/12/13  15:58:34  15:58:34  feisha (Fei Sha)
# Ensemble related compiling commands are added.
# 
# Revision 2.78  95/10/25  13:55:04  13:55:04  feisha (Fei Sha)
# add ARD-related module to Makefile.
# 
# Revision 2.77  95/04/12  16:43:32  16:43:32  puranka (Ashish D Purankar)
# Added describeDef.h in header file list.
# 
# Revision 2.76  95/04/11  16:48:35  16:48:35  puranka (Ashish D Purankar)
# describe.h added.
# 
# Revision 2.75  95/04/07  21:47:06  21:47:06  puranka (Ashish D Purankar)
# Added describe.o, and describe.c to list of object and source files.
# 
# Revision 2.74  95/02/21  16:05:27  16:05:27  carlson (Derek Carlson)
# Added effWts.c, got rid of the np1to2.o line.
# 
# Revision 2.73  94/12/12  21:29:34  21:29:34  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.72  94/11/30  19:59:23  19:59:23  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.71  94/11/29  22:33:11  22:33:11  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.70  94/11/29  20:56:47  20:56:47  weij (Wei Ju)
# remove -DDEBUG -DDEBUG_MEM_CHECK for this version so that allow NevProp
# can compile successfully on some picky machines like SunOS and Cray.
# 
# Revision 2.69  94/10/25  21:47:17  21:47:17  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.68  94/10/13  21:12:48  21:12:48  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.67  94/10/07  18:26:28  18:26:28  carlson (Derek Carlson)
# added comment on how to compile on DOS machines
# 
# Revision 2.66  94/10/06  20:34:24  20:34:24  carlson (Derek Carlson)
# added -DDEBUG
# 
# Revision 2.65  94/10/06  19:07:49  19:07:49  carlson (Derek Carlson)
# by default -DDEBUG_MEM_CHECK, used not only to check memory, but to free
# all unfreed memory at end! If we ever get all the memory freed when it
# is supposed to be freed (i.e. every create has a matching destroy), then
# we can remove this definition and the assoc modules. The only down side
# to including it is the running program uses a little more memory.
# 
# Revision 2.64  94/08/26  16:06:56  16:06:56  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.63  94/08/19  23:51:03  23:51:03  goodman (Dr. Philip Goodman)
# *** empty log message ***
# 
# Revision 2.62  94/08/19  17:26:18  17:26:18  rosen (David B. Rosen)
# replace touch by $(RM) commands
# 
# Revision 2.61  94/08/18  23:09:57  23:09:57  rosen (David B. Rosen)
# oops -- removed accidentally-added lintstuff.* and test.*
# 
# Revision 2.60  94/08/18  23:03:23  23:03:23  rosen (David B. Rosen)
# remove strcase.h
# 
# Revision 2.59  94/08/18  22:37:50  22:37:50  rosen (David B. Rosen)
# fixed make dist so it doesn't try to include any empty (obsolete) files.
# 
# Revision 2.58  94/08/18  09:40:25  09:40:25  goodman (Dr. Philip Goodman)
# Changed iris*.net to test*.net
# 
# Revision 2.57  94/08/17  17:49:10  17:49:10  rosen (David B. Rosen)
# add Prostate.trn
# 
# Revision 2.56  94/08/17  04:41:13  04:41:13  rosen (David B. Rosen)
# add Iris.net;  change target test to testdiffs (test doesn't do diff)
# 
# Revision 2.55  94/08/11  05:07:03  05:07:03  rosen (David B. Rosen)
# *** empty log message ***
# 
# Revision 2.54  94/08/10  13:40:29  13:40:29  goodman (Dr. Philip Goodman)
# Modified dist to include .doc files.
# 
# Revision 2.53  94/08/10  05:45:42  05:45:42  rosen (David B. Rosen)
# new target Iris.net
# target "all" now includes Iris.net
# target "build" is the new name for the default target.
# 
# Revision 2.52  94/08/07  00:35:33  00:35:33  rosen (David B. Rosen)
# -g  is default for beta
# 
# Revision 2.51  94/08/06  03:11:38  03:11:38  rosen (David B. Rosen)
# .DEFAULT
# 
# Revision 2.50  94/08/06  03:04:54  03:04:54  rosen (David B. Rosen)
# add dependencies to targets all.ln, all.gln
# added missing touch
# 
# Revision 2.49  94/08/06  02:53:46  02:53:46  rosen (David B. Rosen)
# make depend
# 
# Revision 2.48  94/08/06  02:50:30  02:50:30  rosen (David B. Rosen)
# make -b rcsdepend
# 
# Revision 2.47  94/08/06  02:48:16  02:48:16  rosen (David B. Rosen)
# automatically check out missing source files from rcs
# 
# Revision 2.46  94/08/06  02:39:50  02:39:50  rosen (David B. Rosen)
# kluge for mis-synchr clocks on nfs server (e.g. moriah)
# also glintXXX to avoid annoying msg
# 
# Revision 2.45  94/08/06  01:53:54  01:53:54  rosen (David B. Rosen)
# add rules for making .ln and .gln (lint and glint)
# add targets all.ln, all.gln, glint
# 
# Revision 2.44  94/08/02  06:23:30  06:23:30  rosen (David B. Rosen)
# use COFLAGS if present
# 
# Revision 2.43  94/07/28  20:26:05  20:26:05  rosen (David B. Rosen)
# use test1 for now as golden -- slight bug in test1i
# 
# Revision 2.42  94/07/26  05:17:32  05:17:32  rosen (David B. Rosen)
# make golden
# 
# Revision 2.41  94/07/23  02:37:21  02:37:21  rosen (David B. Rosen)
# make np and np1to2 by default
# 
# Revision 2.40  94/07/23  02:24:17  02:24:17  rosen (David B. Rosen)
# make depend
# make dist always makes the tarfile, even if it is up-to-date
# 
# Revision 2.39  94/07/23  01:37:07  01:37:07  rosen (David B. Rosen)
# fix make dist to make tarfile with NevProp2/* files, and that have ordinary
# (writable) modes.
# also slight makedepend change
# 
# Revision 2.38  94/07/21  23:57:00  23:57:00  rosen (David B. Rosen)
# target coall  (cout, rcsnull)
# 
# Revision 2.37  94/07/21  21:35:27  21:35:27  rosen (David B. Rosen)
# try nullfile.lst
# 
# Revision 2.36  94/07/20  22:54:34  22:54:34  rosen (David B. Rosen)
# np1to2 fixes;  added $Header: Makefile,v 2.96 98/10/20 22:49:22 goodman Exp $ at top
# 
# Revision 2.35  94/07/20  04:19:22  04:19:22  rosen (David B. Rosen)
# minor change to make dist
# 
# Revision 2.34  94/07/19  03:26:02  03:26:02  rosen (David B. Rosen)
# added commented-out CC=gcc .....  with lots of warnings
# 
# Revision 2.33  94/07/18  18:29:19  18:29:19  rosen (David B. Rosen)
# add terget np1to2
# add HDRS variable (maintained by mkmf)
# 
# Revision 2.31  94/07/09  02:33:03  02:33:03  rosen (David B. Rosen)
# switch order of files for diff: golden first, new output second now
# 
# Revision 2.30  94/07/07  05:56:00  05:56:00  rosen (David B. Rosen)
# make rcsdepend
# 
# Revision 2.29  94/07/07  05:55:02  05:55:02  rosen (David B. Rosen)
# add test3.out to clean
# 
# Revision 2.28  94/06/08  20:10:46  20:10:46  carlson (Derek Carlson)
# now makes debug code, i.e. dmem.c, trakmem.c
# 
# Revision 2.27  94/06/02  21:09:02  21:09:02  carlson (Derek Carlson)
# make depend
# .,
# 
# Revision 2.26  94/05/28  00:09:32  00:09:32  carlson (Derek Carlson)
# added test3 to check STANDARDIZE INPUTS and NBOOTS
# 
# Revision 2.25  94/05/27  23:40:52  23:40:52  carlson (Derek Carlson)
# with adaptive epsilon module
# 
# Revision 2.24  94/05/18  20:07:21  20:07:21  carlson (Derek Carlson)
# current makefile
# 
# Revision 2.23  94/05/13  22:35:55  22:35:55  carlson (Derek Carlson)
# to make all new modules which have all mallocs and frees replaced with
# destroys and creates, etc.
# 
# Revision 2.22  94/05/06  09:51:57  09:51:57  carlson (Derek Carlson)
# Updated to include boot, autrn, util
# 
# Revision 2.19  94/03/28  21:28:19  21:28:19  rosen (David B. Rosen)
# make rcsdepend
# 
# Revision 2.18  94/03/20  15:56:10  15:56:10  carlson (Derek Carlson)
# make rcsdepend
# 
# Revision 2.17  94/03/12  00:21:20  00:21:20  carlson (Derek Carlson)
# Added datPr.c to makefile
# 
# Revision 2.16  94/03/11  21:15:06  21:15:06  carlson (Derek Carlson)
# *** empty log message ***
# 
# Revision 2.15  94/03/07  00:30:28  00:30:28  rosen (David B. Rosen)
# added arguments to makedepend.  also did make depend, which updated 
# from adding dbassert.h.
# 
# Revision 2.14  94/03/05  01:02:46  01:02:46  rosen (David B. Rosen)
# give error when a test fails.   use make -k test if you want to do all
# tests instead of aborting with first failure.
# 
# Revision 2.13  94/03/05  00:46:32  00:46:32  rosen (David B. Rosen)
# co -q everything in rcsdepend to make sure it's current.
# make clean deletes core too
# 
# Revision 2.12  94/03/05  00:25:39  00:25:39  rosen (David B. Rosen)
# bug fix: unlock Makefile if unchanged
# 
# Revision 2.11  94/03/05  00:17:45  00:17:45  rosen (David B. Rosen)
# added "rcsdepend" target.  use "make rcsdepend" under rcs
# whenever you add/remove #include directives from any
# file (change which files include which others)
# in order to keep dependency information current.   (also when adding a new
# file.)
# 
# also add target oclean and minor cleanup of make test.
# 
# 
# Revision 2.8  94/03/04  23:11:26  23:11:26  rosen (David B. Rosen)
# added "depend" target for determining dependencies on .h files.
# now when you change a .h file and type make, it knows which .c files
# to recompile.  whenever you add/remove #include directives from any
# file (change which files include which others), you must:
#   co -l Makefile
#   make depend
#   ci Makefile
# in order to keep this information current.  (also when adding a new file.)
# 
# also fixed structure of "make test" so it knows when np actually
# needs to be run again (when it is newer than the .out files).
# 
# Revision 2.7  94/02/25  22:20:59  22:20:59  rosen (David B. Rosen)
# we were getting 2 .ptr and 2 .wts files from make test.  i disabled
# creation of these in iris1.net but kept in iris2.net.  also make test
# renames them to unique names so that make test can safely remove them
# without their being created by users using these .net files as examples.
# also SHELL=
# 
# Revision 2.6  94/02/25  20:55:55  20:55:55  rosen (David B. Rosen)
# > remove -Aa as this is only recognized on hp-ux.  you can define env var CC
# appropriate for a given system in your startup files or before compiling
# instead.
# "test1/test2" in pass/fail messages.  cleaned up parameters and their
# comments, etc.
# 
# Revision 2.5  94/02/23  22:06:31  22:06:31  goodman (Dr. Philip Goodman)
# Made -Aa default for now (make test requires ANSI).
# 
# Revision 2.4  94/02/23  21:54:07  21:54:07  goodman (Dr. Philip Goodman)
# Revised to reflect 2 .net files under make test.
# 
# Revision 2.3  94/02/09  18:08:07  18:08:07  rosen (David B. Rosen)
# fix typo rand()
# 
# Revision 2.2  94/02/01  17:54:34  17:54:34  rosen (David B. Rosen)
# use $(TARGET) in test
# 
# Revision 2.1  94/02/01  00:22:47  00:22:47  rosen (David B. Rosen)
# New NevProp version turned over today by Joyce (test1i.inp,golden1.out renamd)
#
# 11-10 added test: line to compare current results to previous results and
# to display test passed for success else test failed jkh
# 'golden1.out' is orig results; 'test1.out', 'test1i.out' are current results
# 'test1i.inp' contains replies to interactive prompts piped to program

# don't add/modify anything after this line -- maintained by makedepend/mkmf.
# except you may want to reverse the order of the following two lines
# to keep one of the two programs from wiping out the key line of the other:

# DO NOT DELETE THIS LINE -- make depend depends on it.
###
1ofN.o: 1ofN.h datPrDef.h const.h def.h protoTyp.h netTrDef.h parUpd.h \
	parUpdDef.h aNetDef.h glob.h ensemble.h create.h dbassert.h netTr.h \
	cind.h datPr.h aNet.h
aNet.o: aNet.h aNetDef.h const.h def.h datPrDef.h cind.h protoTyp.h create.h \
	dbassert.h datPr.h netTrDef.h parUpd.h parUpdDef.h do.h glob.h \
	ensemble.h 1ofN.h
ards.o: aNetDef.h const.h def.h datPrDef.h netTrDef.h parUpd.h parUpdDef.h \
	protoTyp.h create.h dbassert.h ards.h glob.h ensemble.h 1ofN.h
atox.o: lib.h const.h atox.h dbassert.h protoTyp.h def.h
auTrn.o: auTrn.h protoTyp.h const.h def.h datPrDef.h aNetDef.h netTrDef.h \
	parUpd.h parUpdDef.h auTrnDef.h create.h dbassert.h netTr.h cind.h \
	aNet.h lrandom.h lib.h datPr.h ensemble.h
boot.o: glob.h def.h aNetDef.h const.h datPrDef.h netTrDef.h parUpd.h \
	parUpdDef.h protoTyp.h ensemble.h 1ofN.h boot.h bootDef.h auTrnDef.h \
	auTrn.h netTr.h cind.h create.h dbassert.h datPr.h lrandom.h lib.h \
	aNet.h util.h effWtsDef.h
cind.o: const.h do.h create.h protoTyp.h dbassert.h rank.h cind.h
create.o: lib.h dbassert.h create.h protoTyp.h dmem.h trakmem.h
datPr.o: datPr.h datPrDef.h const.h def.h cind.h protoTyp.h create.h \
	dbassert.h netTrDef.h parUpd.h parUpdDef.h lib.h do.h lrandom.h \
	trakmem.h aNetDef.h
describe.o: datPr.h datPrDef.h const.h def.h cind.h protoTyp.h create.h \
	dbassert.h netTrDef.h parUpd.h parUpdDef.h describeDef.h describe.h \
	aNetDef.h effWtsDef.h effWts.h netTr.h aNet.h lrandom.h lib.h glob.h \
	ensemble.h 1ofN.h util.h do.h
dmem.o: trakmem.h protoTyp.h dbassert.h dmem.h create.h
effWts.o: datPr.h datPrDef.h const.h def.h cind.h protoTyp.h create.h \
	dbassert.h netTrDef.h parUpd.h parUpdDef.h effWts.h aNetDef.h \
	effWtsDef.h netTr.h aNet.h lrandom.h lib.h glob.h ensemble.h 1ofN.h \
	do.h util.h atox.h
ensemble.o: ensemble.h datPrDef.h const.h def.h protoTyp.h netTrDef.h \
	parUpd.h parUpdDef.h aNetDef.h glob.h 1ofN.h create.h dbassert.h \
	netTr.h cind.h datPr.h aNet.h
epsilon.o: epsilon.h const.h protoTyp.h aNetDef.h def.h datPrDef.h netTrDef.h \
	parUpd.h parUpdDef.h aNet.h cind.h create.h dbassert.h
extra.o: lib.h glob.h def.h aNetDef.h const.h datPrDef.h netTrDef.h parUpd.h \
	parUpdDef.h protoTyp.h ensemble.h 1ofN.h extra.h aNet.h cind.h \
	create.h dbassert.h netTr.h
gammas.o: glob.h def.h aNetDef.h const.h datPrDef.h netTrDef.h parUpd.h \
	parUpdDef.h protoTyp.h ensemble.h 1ofN.h hessian.h eigens.h create.h \
	dbassert.h
getdata.o: lib.h dbassert.h const.h create.h protoTyp.h glob.h def.h \
	aNetDef.h datPrDef.h netTrDef.h parUpd.h parUpdDef.h ensemble.h \
	1ofN.h aNet.h cind.h datPr.h extra.h lrandom.h trakmem.h atox.h
hessian.o: glob.h def.h aNetDef.h const.h datPrDef.h netTrDef.h parUpd.h \
	parUpdDef.h protoTyp.h ensemble.h 1ofN.h aNet.h cind.h create.h \
	dbassert.h hessian.h
init.o: glob.h def.h aNetDef.h const.h datPrDef.h netTrDef.h parUpd.h \
	parUpdDef.h protoTyp.h ensemble.h 1ofN.h
ivs.o: aNetDef.h const.h def.h datPrDef.h util.h protoTyp.h ivs.h netTrDef.h \
	parUpd.h parUpdDef.h glob.h ensemble.h 1ofN.h ards.h
netTr.o: aNet.h aNetDef.h const.h def.h datPrDef.h cind.h protoTyp.h create.h \
	dbassert.h datPr.h netTrDef.h parUpd.h parUpdDef.h netTr.h lib.h \
	volatile.h do.h lrandom.h util.h epsilon.h atox.h ards.h gammas.h \
	glob.h ensemble.h 1ofN.h ivs.h
np.o: lib.h create.h protoTyp.h dbassert.h lrandom.h do.h ensemble.h \
	datPrDef.h const.h def.h netTrDef.h parUpd.h parUpdDef.h aNetDef.h \
	cind.h effWts.h effWtsDef.h netTr.h aNet.h datPr.h auTrn.h auTrnDef.h \
	boot.h bootDef.h util.h epsilon.h glob.h 1ofN.h atox.h extra.h ards.h \
	ivs.h NPVERSION.h
parUpd.o: lib.h dbassert.h parUpd.h parUpdDef.h protoTyp.h const.h atox.h \
	def.h
rank.o: lib.h const.h do.h create.h protoTyp.h dbassert.h rank.h
textf.o: glob.h def.h aNetDef.h const.h datPrDef.h netTrDef.h parUpd.h \
	parUpdDef.h protoTyp.h ensemble.h 1ofN.h aNet.h cind.h create.h \
	dbassert.h datPr.h util.h
trakmem.o: trakmem.h protoTyp.h dbassert.h create.h
usr_resp.o: util.h aNetDef.h const.h def.h datPrDef.h protoTyp.h lib.h glob.h \
	netTrDef.h parUpd.h parUpdDef.h ensemble.h 1ofN.h dbassert.h
util.o: lib.h dbassert.h parUpd.h parUpdDef.h protoTyp.h const.h do.h util.h \
	aNetDef.h def.h datPrDef.h glob.h netTrDef.h ensemble.h 1ofN.h atox.h
