CHARMDIR=../../../..
CHARMC=$(CHARMDIR)/bin/charmc $(OPTS)
OBJS = charmserver.o

all: server charmserver client java

server: server.o
	$(CHARMC) -o $@ server.o -language converse++ 

client: client.o
	$(CHARMC) -o $@ client.o -language converse++

server.o: server.c
	$(CHARMC) -c server.c -language converse++

client.o: client.c
	$(CHARMC) -c client.c -seq -language c 


charmserver: $(OBJS)
	$(CHARMC) -language charm++ -o charmserver $(OBJS)

charmserver.decl.h: charmserver.ci
	$(CHARMC)  charmserver.ci

charmserver.o: charmserver.C charmserver.decl.h
	$(CHARMC) -c charmserver.C


conv-test: server client
	@echo "---------- Converse test: ----------"
	./charmrun ./server +p2 ++server ++server-port 51001 &
	./client localhost 51001

charm-test: charmserver client
	@echo "---------- Charm++ test: ----------"
	./charmrun ./charmserver +p2 ++server ++server-port 51002 &
	./client localhost 51002

test: conv-test charm-test
	@echo "The servers are still running--you'll have to killall server; killall charmserver"

clean:
	rm -f client server charmserver *.o *.decl.h *.def.h conv-host charmrun

java: CcsServer.java JavaClient.java
	javac JavaClient.java

CcsServer.java:
	ln -s $(CHARMDIR)/include/CcsServer.java .

