## to generate hypernet training and testing programs

SHELL		= /bin/sh
srcdir		= .
VPATH		= .
top_srcdir	= .
prefix		= /usr/local
exec_prefix	= ${prefix}
bindir		= ${exec_prefix}/bin
sbindir		= ${exec_prefix}/sbin
libdir		= ${exec_prefix}/lib
libexecdir	= ${exec_prefix}/libexec
includedir	= ${prefix}/include 
oldincludedir	= /usr/include
infodir		= ${prefix}/info
mandir		= ${prefix}/man
man1dir		= $(mandir)/man1
datadir		= ${prefix}/share
sysconfdir	= ${prefix}/etc

installdir  = ~/bin

CC		= g++
CXX     = g++
CPP		= gcc -E
CXXCPP		= g++ -E
CFLAGS		= 
CXXFLAGS	= -O6
CPPFLAGS	=    
CCFLAGS		= $(CFLAGS) $(CPPFLAGS)
CXXCFLAGS	= $(CXXFLAGS) $(CPPFLAGS)
LDFLAGS		= 
LIBS		=   
INSTALL		= /usr/bin/ginstall -c
INSTALL_PROGRAM	= ${INSTALL}
INSTALL_DATA	= ${INSTALL} -m 644

adDIRS = 

adEXECS = hypertrain2  hypertest hypertrainp

adINTFILES = $(adOBJS)

adMAKESUBDIR_TEST = $(adTESTS)

adOBJS = hypertrain2.o hypertest.o hypertrainp.o filemag04.o objects.o simfunc04.o cran32.o misc.o 

adOUTFILES = $(adEXECS)

adTESTS = $(adINTFILES) $(adOUTFILES)

adTESTS_MAKESUBDIR = $(adTESTS)

adBeginSubdir = test -z "$(adDIRS)" ||    \
                for d in $(adDIRS) ; do \
                  (cd $$d; $(MAKE)

adEndSubdir =                        );   \
                done

#
# Default target
#

all : $(adTESTS_MAKESUBDIR)

adMakeSubdir :
	$(adBeginSubdir) all $(adEndSubdir)

#
# Rules for all target
#

# Compiling C/C++ sources


filemag04.o : Makefile $(srcdir)/constants.h $(srcdir)/filemag04.cc \
            $(srcdir)/objects.h $(srcdir)/simfunc04.h
				$(CXX) $(CXXCFLAGS) -c $(srcdir)/filemag04.cc

hypertrain2.o : Makefile $(srcdir)/constants.h \
	             $(srcdir)/filemag04.h $(srcdir)/cran32.h $(srcdir)/misc.h \
			     $(srcdir)/hypertrain2.cc $(srcdir)/objects.h $(srcdir)/simfunc04.h
			     $(CXX) $(CXXCFLAGS) -c $(srcdir)/hypertrain2.cc

hypertrainp.o : Makefile $(srcdir)/constants.h \
		$(srcdir)/filemag04.h $(srcdir)/cran32.h $(srcdir)/misc.h \
		$(srcdir)/hypertrainp.cc $(srcdir)/objects.h $(srcdir)/simfunc04.h
		$(CXX) $(CXXCFLAGS) -c $(srcdir)/hypertrainp.cc


cran32.o : Makefile $(srcdir)/cran32.h
		$(CXX) $(CXXCFLAGS) -c $(srcdir)/cran32.cc		

misc.o	: Makefile $(srcdir)/misc.h
		$(CXX) $(CXXCFLAGS) -c $(srcdir)/misc.cc

objects.o : Makefile $(srcdir)/constants.h $(srcdir)/objects.cc \
            $(srcdir)/objects.h
		$(CXX) $(CXXCFLAGS) -c $(srcdir)/objects.cc

simfunc04.o : Makefile $(srcdir)/constants.h \
            $(srcdir)/objects.h $(srcdir)/simfunc04.cc cran32.h
		$(CXX) $(CXXCFLAGS) -c $(srcdir)/simfunc04.cc

hypertest.o : Makefile $(srcdir)/constants.h \
            $(srcdir)/filemag04.h $(srcdir)/cran32.h \
           $(srcdir)/hypertest.cc $(srcdir)/objects.h \
           $(srcdir)/simfunc04.h $(srcdir)/misc.h
	        $(CXX) $(CXXCFLAGS) -c $(srcdir)/hypertest.cc


# Linking

hypertrain2 : Makefile hypertrain2.o filemag04.o objects.o simfunc04.o misc.o cran32.o
	$(CXX) -o hypertrain2 $(CXXFLAGS) $(LDFLAGS) hypertrain2.o filemag04.o objects.o \
	        simfunc04.o cran32.o misc.o $(LIBS)

hypertest : Makefile hypertest.o filemag04.o objects.o simfunc04.o misc.o cran32.o
		     $(CXX) -o hypertest $(CXXFLAGS) $(LDFLAGS) hypertest.o filemag04.o objects.o \
			simfunc04.o cran32.o misc.o $(LIBS)

hypertrainp : Makefile hypertrainp.o filemag04.o objects.o simfunc04.o misc.o cran32.o
		  $(CXX) -o hypertrainp $(CXXFLAGS) $(LDFLAGS) hypertrainp.o filemag04.o objects.o \
		   simfunc04.o cran32.o misc.o $(LIBS)

.PHONY : clean_curdir clean distclean_curdir distclean

# Delete object and executable files
# Do not run rm -f ... if variables are empty
clean_curdir : 	
	     test -z "$(adINTFILES)" || rm -f $(adINTFILES) 
	     test -z "$(adOUTFILES)" || rm -f $(adOUTFILES)

clean : clean_curdir
	$(adBeginSubdir) $@ $(adEndSubdir)

install	:
		cp hypertrain2 $(installdir)
		cp hypertest	$(installdir)
		cp hypertrainp $(installdir)
