#Makefile for CMfinder
#Dec, 2004
#

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

SHELL  = /bin/sh
LIBS   = -lm 

AR     = ar rcv 
RANLIB = ranlib

BINDIR      = ../bin

# Where the build arena is (module .h and .o files)
#

GSLLIBS = -lgsl -lgslcblas
GSLLIBDIR = -L../gsl/lib -lgsl -lgslcblas -lm
GSLINCDIR= -I../gsl/include

INFLIBS   = -linfernal
INFLIBDIR = -Linfernal
INFINCDIR = -Iinfernal

SQUIDLIBS   = -lsquid
SQUIDLIBDIR = -Lsquid
SQUIDINCDIR = -Isquid

EASELLIBS   = -leasel
EASELLIBDIR = -Leasel
EASELINCDIR = -Ieasel

VIENNALIBS   = -lvienna
VIENNALIBDIR = -Lvienna
VIENNAINCDIR = -Ivienna

PROGS = posterior
	
HEADER = phytree.h grammar.h
all : $(PROGS) 

MYOBJS =  phytree.o grammar.o gsl_ext.o cmfinder/global.o numerical_opt.o 

MATOBJ =  er_math.o misc.o matrix.o evolve.o 

$(PROGS): %: %.o $(MYOBJS) $(MATOBJ) $(HEADER)
	$(CC) $(CFLAGS) $(MDEFS) $(GSLLIBDIR) $(SQUIDLIBDIR) $(EASELLIBDIR) $(INFLIBDIR) $(VIENNALIBDIR) -o $@ $@.o $(MYOBJS) $(MATOBJ) $(LIBS) $(GSLLIBS) $(INFLIBS)  $(SQUIDLIBS) $(EASELLIBS) $(VIENNALIBS)



install: $(PROGS)
	cp $(PROGS) $(BINDIR)/

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

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

