OPTS=-g
#CHARMC=$(HOME)/charm/net-cygwin/bin/charmc $(OPTS)
#CHARMC=$(HOME)/Projects/charm/net-sol-cc/bin/charmc $(OPTS)
#CHARMC=$(HOME)/Projects/charm/net-sol-smp/bin/charmc $(OPTS)
CHARMC=$(HOME)/charm/net-linux-smp/bin/charmc $(OPTS)

PGM=ring

all: ring maxReduce prime jacobi3D line ping maxReduceNV octo bgMD

#blue.o: blue.h blue.C
#	$(CHARMC) -c blue.C

ring:  ring.o
	$(CHARMC) -language bluegene -o ring ring.o

maxReduce: maxReduce.o 
	$(CHARMC) -language bluegene -o maxReduce  maxReduce.o

maxReduceNV: maxReduceNV.o 
	$(CHARMC) -language bluegene -o maxReduceNV  maxReduceNV.o

prime: prime.o 
	$(CHARMC) -language bluegene -o prime  prime.o

jacobi3D: jacobi3D.o 
	$(CHARMC) -language bluegene -o jacobi3D  jacobi3D.o #-memory paranoid

line: line.o 
	$(CHARMC) -language bluegene -o line  line.o

octo: octo.o 
	$(CHARMC) -language bluegene -o octo  octo.o

ping: ping.o 
	$(CHARMC) -language bluegene -o ping  ping.o

#time: time.o 
#	$(CHARMC) -language bluegene -o time  time.o

bgMD: littleMD/bgMD.o littleMD/Handlers.o 
	$(CHARMC) -language bluegene -o bgMD  littleMD/bgMD.o littleMD/Handlers.o

ring.o: ring.c 
	$(CHARMC) -c ring.c

maxReduce.o: maxReduce.C 
	$(CHARMC) -c maxReduce.C

maxReduceNV.o: maxReduceNV.C 
	$(CHARMC) -c maxReduceNV.C

prime.o: prime.C 
	$(CHARMC) -c prime.C

jacobi3D.o: jacobi3D.C 
	$(CHARMC) -c jacobi3D.C

line.o: line.C 
	$(CHARMC) -c line.C

octo.o: octo.C 
	$(CHARMC) -c octo.C

ping.o: ping.C 
	$(CHARMC) -c ping.C

#time.o: time.C 
#	$(CHARMC) -c time.C

littleMD/bgMD.o: littleMD/bgMD.C littleMD/bgMD.h littleMD/Atom.h littleMD/Cell.h littleMD/SimParams.h
	$(CHARMC) -c littleMD/bgMD.C 

littleMD/Handlers.o: littleMD/bgMD.h littleMD/Atom.h littleMD/Cell.h littleMD/SimParams.h littleMD/Handlers.C 
	$(CHARMC) -c littleMD/Handlers.C

clean:
	rm -f core 
	rm -f TAGS *.o *~ littleMD/*.o
	rm -f ring maxReduce prime jacobi3D line ping maxReduceNV octo bgMD
	rm -f conv-host charmrun

