#Makefile for CMfinder
#Dec, 2004
#
#BINDIR      = ../bin

CC = gcc	# GNU cc, if you have it...
CFLAGS =  -g -O2    # most machines
#CFLAGS = -g -DDEBUG

SHELL  = /bin/sh
LIBS   = -lm 

AR     = ar rcv 
RANLIB = ranlib

# Where the build arena is (module .h and .o files)
#
SQUIDLIBS   = -lsquid
SQUIDLIBDIR = -L../squid
SQUIDINCDIR = -I../squid


EASELLIBS   = -leasel
EASELLIBDIR = -L../easel
EASELINCDIR = -I../easel

INFLIBS   = -linfernal
INFLIBDIR = -L../infernal
INFINCDIR = -I../infernal

VIENNALIBS   = -lvienna
VIENNALIBDIR = -L../vienna
VIENNAINCDIR = -I../vienna

PROGS = candf cands canda align cluster count_seq 

all : cmfinder summarize $(PROGS) 

MYOBJS  = cand.o match_constr.o phytree.o global.o histogram.o
	
			
$(PROGS): %: %.o $(MYOBJS) 	
	$(CC) $(CFLAGS) $(MDEFS) $(VIENNALIBDIR) $(INFLIBDIR) $(SQUIDLIBDIR) $(EASELLIBDIR) -o $@ $@.o $(MYOBJS) ../squid/iupac.o ../squid/dayhoff.o $(LIBS) $(VIENNALIBS) $(INFLIBS) $(SQUIDLIBS) $(EASELLIBS)

cmfinder: %: %.o $(MYOBJS) em.o automaker.o	
	$(CC) $(CFLAGS) $(MDEFS) $(VIENNALIBDIR) $(INFLIBDIR) $(SQUIDLIBDIR) $(EASELLIBDIR) -o $@ $@.o $(MYOBJS) automaker.o em.o ../squid/iupac.o ../squid/dayhoff.o $(LIBS) $(VIENNALIBS) $(INFLIBS) $(SQUIDLIBS) $(EASELLIBS)


summarize: %: %.o $(MYOBJS) automaker.o	
	$(CC) $(CFLAGS) $(MDEFS) $(VIENNALIBDIR) $(INFLIBDIR) $(SQUIDLIBDIR) $(EASELLIBDIR) -o $@ $@.o $(MYOBJS) automaker.o ../squid/iupac.o ../squid/dayhoff.o $(LIBS) $(VIENNALIBS) $(INFLIBS) $(SQUIDLIBS) $(EASELLIBS)


refine: %: %.o $(MYOBJS) automaker.o	
	$(CC) $(CFLAGS) $(MDEFS) $(VIENNALIBDIR) $(INFLIBDIR) $(SQUIDLIBDIR) $(EASELLIBDIR) -o $@ $@.o $(MYOBJS) automaker.o ../squid/iupac.o ../squid/dayhoff.o $(LIBS) $(VIENNALIBS) $(INFLIBS) $(SQUIDLIBS) $(EASELLIBS)

	
install: $(PROGS) cmfinder summarize 
#	cp $(PROGS) cmfinder summarize $(BINDIR)/

clean:
	-rm -f core.* *.o *~ *.Addrs *.Counts *.pixie Makefile.bak core $(PROGS) TAGS

.c.o:
	$(CC) $(CFLAGS) $(MDEFS)  $(SQUIDINCDIR) $(INFINCDIR) $(EASELINCDIR) $(VIENNAINCDIR)  -c $<		



