# cdtd: Makefile. To be used with make.
#
.SUFFIXES : .dif .out

SHELL = /bin/sh

OUTS = bldgcn4dna.out bldam94kol84.out minam94kol84.out bldgcn4dna94.out \
       bldhb.out bldkol84.out bldmb.out bldnew.out \
       buildpti.out buildptih.out \
       buildtest.out parmwrong.out buildptidyn.out bldmcp85b.out bldflvdox.out \
       buildptimin.out bldcg19.out bldcrbn.out bldamnew.out 

DIFS = $(OUTS:.out=.dif) 

SOURCES = $(OUTS:.out=.inp) \
	  hba.seq hbb.seq hba.crd hbhema.crd hbb.crd hbhemb.crd \
	  mb1.seq mb1.crd mbhem.crd \
	  kol84h.seq kol84l.seq kol84v.crd kol84vam.crd \
	  mcp85vl.seq mcpvl85.crd mcp85vh.seq mcpvh85.crd \
	  newv.crd \
	  bpti.crd ptimin.crd \
	  buildtest.crd \
	  flvdox1.crd flvdox1.seq \
	  het.awk makefile descrip.mms \
	  pdb2ait.dat pdb2fb4.ent cg19.crd \
	  1crn_h.pdb crbn.nmr \
	  gcn4dnaa.crd gcn4dnaa.seq gcn4dnab.crd gcn4dnab.seq \
	  gcn4dnac.crd gcn4dnac.seq gcn4dnad.crd gcn4dnad.seq \
	  alp.pdb alph.pdb am94kol84v.crd 

install all : $(OUTS)
	echo "All done"

diffs : $(DIFS)

bldhb.out : bldhb.inp hba.seq hbb.seq hba.crd hbhema.crd hbb.crd hbhemb.crd
	runcg bldhb

bldmb.out : bldmb.inp mb1.seq mb1.crd mbhem.crd
	runcg bldmb

bldkol84.out : bldkol84.inp kol84h.seq kol84l.seq kol84v.crd
	runcg bldkol84

bldam94kol84.out : bldam94kol84.inp kol84h.seq kol84l.seq kol84vam.crd
	runcg bldam94kol84

bldmcp85b.out : bldmcp85b.inp mcp85vl.seq mcpvl85.crd mcp85vh.seq mcpvh85.crd 
	runcg bldmcp85b

bldnew.out : bldnew.inp newv.crd
	runcg bldnew

bldamnew.out : bldamnew.inp newv.crd
	runcg bldamnew

buildpti.out : buildpti.inp bpti.crd
	runcg buildpti

buildptidyn.out : buildptidyn.inp buildptimin.out buildpti.out
	runcg buildptidyn

buildptih.out : buildptih.inp buildptimin.out
	runcg buildptih

bldcrbn.out : bldcrbn.inp 1crn_h.pdb
	runcg bldcrbn

bldgcn4dna.out : bldgcn4dna.inp gcn4dnaa.crd gcn4dnaa.seq gcn4dnab.crd gcn4dnab.seq \
		 gcn4dnac.crd gcn4dnac.seq gcn4dnad.crd gcn4dnad.seq 
	runcg bldgcn4dna

bldgcn4dna94.out : bldgcn4dna94.inp pdb1ysa.ent
	runcg bldgcn4dna94

# ptimin.crd should be constant across platforms so that the dynamics
# trajectories are more easily compared.

buildptimin.out : buildptimin.inp buildpti.out
	case "$(CGPLATFORM)" in \
	  sgi_r4k_i5.3_c5.3_m2_a32 ) rm -f ptimin.crd ; runcg buildptimin ;; \
          *  		           ) touch ptimin.crd buildptimin.out ;; \
	esac

# cg19.crd should be constant across platforms so that CGTEST19.OUT
# is more easily compared.

bldcg19.out : bldcg19.inp 
	case "$(CGPLATFORM)" in \
	  sgi_r4k_i5.3_c5.3_m2_a32 ) rm -f cg19.crd ; runcg bldcg19 ;; \
          *                        ) touch cg19.crd bldcg19.out ;; \
	esac

# am94kol84v.crd must be constant across platforms.

minam94kol84.out : bldam94kol84.inp kol84h.seq kol84l.seq kol84vam.crd
	case "$(CGPLATFORM)" in \
	  sgi_r4k_i5.3_c5.3_m2_a32 ) rm -f am94kol84v.crd; runcg minam94kol84 ;; \
          *                        ) touch am94kol84v.crd minam94kol84.out ;; \
        esac

buildtest.out : buildtest.inp buildtest.crd
	runcg buildtest

parmwrong.out : parmwrong.inp
	runcg parmwrong

bldflvdox.out : bldflvdox.inp flvdox1.crd flvdox1.seq
	runcg bldflvdox

clean :
	- rm -f foo.* core *~* *#* *.out

prepare : clean
	- touch *.inp

tovax : tovax.time

tovax.time : $(SOURCES)
	cp $? dino
	(cd dino/; chmod u+w $?)
	touch tovax.time

.DEFAULT :
	co $<

.out.dif :
	- co -p $*.out | diff - $*.out >$*.dif
