CC 	=	cc
FLAGS	=
SRC	= 	pg_cl.c pgcons.c pg_serv.c tacyons.c pgserver.c \
			c_pganim.c dot2anim pg_pvm.h pgtags.h	pg_serv.h \
			f_trans
PROGS	=	client pgcons pg_serv pgserver c_pganim dot2anim_sh \
			proto f_trans_src
DOCS	=	paper.ps manual.ps manual.tex gantt.ps animate.ps \
			task.ps timeline.ps README.DOC
EXP	=	quicksort.c README.EXP Makefile.EXP data10000
MAN_D	=	pg_pvm.1


# uncomment below for SUN solaris systems
# OPT_LIB	=	-lnsl -lsocket
PVM_LIB	=	$(PVM_ROOT)/lib/$(PVM_ARCH) $(OPT_LIB)
INSTALL	=	$(PROGS) clean copy_src copy_docs copy_exp copy_man
LDIR	= $(PVM_ROOT)/pg/lib
XDIR	= $(LDIR)/$(PVM_ARCH)
SDIR	= $(PVM_ROOT)/pg/src
IDIR	= $(PVM_ROOT)/pg/include
DDIR	= $(PVM_ROOT)/pg/docs
EDIR	= $(PVM_ROOT)/pg/examples
MDIR	= $(PVM_ROOT)/pg/man/man1

all: 	$(INSTALL)

$(MDIR):
	/bin/mkdir -p $(MDIR)
	chmod a+rw $(MDIR)

$(EDIR):
	/bin/mkdir -p $(EDIR)
	chmod a+rw $(EDIR)

$(DDIR):
	/bin/mkdir -p $(DDIR)
	chmod a+rw $(DDIR)

$(XDIR):
	/bin/mkdir -p $(XDIR)
	chmod a+rw $(XDIR)

$(SDIR):
	/bin/mkdir -p $(SDIR)
	chmod a+rw $(SDIR)

$(LDIR):
	/bin/mkdir -p $(LDIR)
	chmod a+rw $(LDIR)

$(IDIR):
	/bin/mkdir -p $(IDIR)
	chmod a+rw $(IDIR)

clean:
	/bin/rm -f *.o 

copy_man: $(MDIR)
	/bin/cp $(MAN_D) $(MDIR)
	chmod a+rw $(MDIR)/*

copy_exp: $(EDIR)
	/bin/cp $(EXP) $(EDIR)
	chmod a+rw $(EDIR)/*

copy_src: $(SDIR)
	/bin/cp $(SRC) $(SDIR) 
	chmod a+rw $(SDIR)/*
	
copy_docs: $(DDIR)
	/bin/cp $(DOCS) $(DDIR) 
	chmod a+rw $(DDIR)/*
	
f_trans_src: f_trans $(XDIR)
	/bin/cp f_trans $(XDIR)
	chmod a+rw $(XDIR)/f_trans

client:	pg_cl.c $(XDIR)
	$(CC) $(FLAGS) -c pg_cl.c -I$(PVM_ROOT)/include
	ar ru libpg.a pg_cl.o
	/bin/mv libpg.a $(XDIR)
	chmod a+rw $(XDIR)/libpg.a

pgcons:	pgcons.c $(XDIR)
	$(CC) $(FLAGS) -o $@ pgcons.c -I$(PVM_ROOT)/include -L$(PVM_LIB) -lpvm3
	/bin/mv $@ $(XDIR)
	chmod a+rw $(XDIR)/$@


pg_serv:	pg_serv.c tacyons.c $(XDIR)
	$(CC) $(FLAGS) -o $@ pg_serv.c tacyons.c -I$(PVM_ROOT)/include -L$(PVM_LIB) -lpvm3
	/bin/mv $@ $(XDIR)
	chmod a+rw $(XDIR)/$@

pgserver:	pgserver.c $(XDIR)
	$(CC) $(FLAGS) -o $@ pgserver.c -I$(PVM_ROOT)/include -L$(PVM_LIB) -lpvm3
	/bin/mv $@ $(XDIR)
	chmod a+rw $(XDIR)/$@

c_pganim:	c_pganim.c $(XDIR)
	$(CC) $(FLAGS) -o $@ c_pganim.c
	/bin/mv $@ $(XDIR)
	chmod a+rw $(XDIR)/$@

dot2anim_sh:	dot2anim $(XDIR)
	/bin/cp dot2anim $(XDIR)
	chmod a+rw $(XDIR)/dot2anim

proto:	pg_proto.h $(IDIR)
	/bin/cp pg_proto.h $(IDIR)
	chmod a+rw $(IDIR)/pg_proto.h
