1################################################################# 2# Infernal 3# src Makefile 4 5SHELL = /bin/sh 6 7## your compiler and compiler flags 8# 9CC = @CC@ 10CFLAGS = @CFLAGS@ 11 12## other defined flags. 13# DEFS contains stuff that autoconf decides on. 14# LIBS contains system libraries that the configure script decides we need. 15# 16DEFS = @DEFS@ 17LIBS = @LIBS@ -lm 18 19## archiving command, and ranlib command if you need one. 20# In general, you shouldn't need to change these, and they're 21# only used for building the testsuite anyway... e.g. we 22# make a "libinfernal.a" library for building the testsuite. 23# 24AR = @AR@ rcv 25RANLIB = @RANLIB@ 26 27# configuration for optional MPI functionality 28MPILIBS = @MPILIBS@ 29 30# Where the build arena is (module .h and .o files) 31# 32MYLIBS = -leasel 33MYLIBDIR = -L../../easel 34MYINCDIR = -I../../easel 35 36PROGS = cmalign cmbuild cmcalibrate cmemit cmscore cmsearch cmstat trcyk truncyk_check 37 38OBJS = cm.o\ 39 cm_dpalign.o\ 40 cm_dpsearch.o\ 41 cm_dpsmall.o\ 42 cm_io.o\ 43 cm_modelconfig.o\ 44 cm_modelmaker.o\ 45 cm_mx.o\ 46 cm_parsetree.o\ 47 cm_qdband.o\ 48 cm_submodel.o\ 49 cp9.o\ 50 cp9_dp.o\ 51 cp9_modelconfig.o\ 52 cp9_modelmaker.o\ 53 cp9_mx.o\ 54 cp9_trace.o\ 55 alphabet.o\ 56 dispatch.o\ 57 display.o\ 58 eweight.o\ 59 errors.o\ 60 hmmband.o\ 61 hybridsearch.o\ 62 logsum.o\ 63 mpisupport.o\ 64 prior.o\ 65 rnamat.o\ 66 searchinfo.o\ 67 seqstoaln.o\ 68 stats.o\ 69 truncyk.o 70 71HDRS = funcs.h\ 72 structs.h 73 74.c.o: 75 $(CC) $(CFLAGS) $(DEFS) $(MYINCDIR) -c $< 76 77################################################################# 78## Targets defining how to make INFERNAL executables. 79## 80all: $(PROGS) 81 82$(PROGS): % : %.o $(OBJS) ${HDRS} 83 $(CC) $(CFLAGS) $(DEFS) $(MYLIBDIR) -o $@ $@.o $(OBJS) $(MYLIBS) $(LIBS) $(MPILIBS) 84 85 86################################################################# 87## Targets used in making INFERNAL module for testsuite compilation. 88## 89module: libinfernal.a 90 91libinfernal.a: $(OBJS) ${HDRS} 92 $(AR) libinfernal.a $(OBJS) 93 $(RANLIB) libinfernal.a 94 chmod 644 libinfernal.a 95 96################################################################# 97## Miscellaneous targets. 98## 99clean: 100 -rm -f *.o *~ Makefile.bak core $(PROGS) TAGS gmon.out libinfernal.a 101 102distclean: 103 -rm -f *.o *~ Makefile.bak core $(PROGS) TAGS gmon.out libinfernal.a 104 -rm -f Makefile config.h 105 106TAGS: 107 etags -t *.c *.h Makefile.in 108 109 110################################################################# 111## For building as a library with an SSU-ALIGN distribution. 112## 113ssu: module 114 mv cmalign ssu-cmalign 115 mv cmbuild ssu-cmbuild 116 mv cmcalibrate ssu-cmcalibrate 117 mv cmemit ssu-cmemit 118 mv cmscore ssu-cmscore 119 mv cmsearch ssu-cmsearch 120 mv cmstat ssu-cmstat 121