all: jastrow temp vmc ZTPIMC

ZTPIMC: chain.o VectorOps.o PairAction.o jastrow.o MatrixOps.o io.o Nvector.o ZTPIMC.o; c++ -o ZTPIMC VectorOps.o jastrow.o PairAction.o MatrixOps.o io.o Nvector.o ZTPIMC.o chain.o

jastrow: jastrow.o MatrixOps.o VectorOps.o io.o Nvector.o main.o; c++ -o main jastrow.o\
MatrixOps.o VectorOps.o io.o Nvector.o main.o -lm

vmc: jastrow.o MatrixOps.o VectorOps.o io.o Nvector.o variational.o; c++ -o vmc jastrow.o\
MatrixOps.o VectorOps.o io.o Nvector.o variational.o -lm

temp: temp.o Nvector.o MatrixOps.o VectorOps.o io.o; c++ -o temp temp.o Nvector.o\
MatrixOps.o VectorOps.o io.o -lm

INCLUDES = -Itnt/0.9.2/
HEADERS = Nvector.h constants.h header.h jastrow.h PairAction.h chain.h

temp.o:		$(HEADERS) temp.c;	    c++ -c $(INCLUDES) temp.c
Nvector.o:	$(HEADERS) Nvector.c;	    c++ -c $(INCLUDES) Nvector.c
io.o:		$(HEADERS) io.c;	    c++ -c $(INCLUDES) io.c
MatrixOps.o:	$(HEADERS) MatrixOps.c;	    c++ -c $(INCLUDES) MatrixOps.c
VectorOps.o:	$(HEADERS) VectorOps.c;	    c++ -c $(INCLUDES) VectorOps.c
jastrow.o:	$(HEADERS) jastrow.c;	    c++ -c $(INCLUDES) jastrow.c
main.o:		$(HEADERS) main.c;	    c++ -c $(INCLUDES) main.c
variational.o:	$(HEADERS) variational.c;   c++ -c $(INCLUDES) variational.c
PairAction.o:	$(HEADERS) PairAction.c;    c++ -c $(INCLUDES) PairAction.c
ZTPIMC.o:	$(HEADERS) ZTPIMC.c;        c++ -c $(INCLUDES) ZTPIMC.c
chain.o:	$(HEADERS) chain.c;    	    c++ -c $(INCLUDES) chain.c
