LIBDIR = $(PREFIX)/libexec/mafft
BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/share/man/man1
+DESTDIR =
#MNO_CYGWIN = -mno-cygwin
-#ENABLE_MULTITHREAD = -Denablemultithread
-#Uncomment this to enable multithreading (linux only)
+ENABLE_MULTITHREAD = -Denablemultithread
+# Comment out the above line if your compiler
+# does not support TLS (thread-local strage).
CC = gcc
-CFLAGS = -O3
-#CFLAGS = -O0 -pedantic -Wall -std=c99 -g -pg -DMALLOC_CHECK_=3
+CFLAGS = -O3 -std=c99
+#CFLAGS = -O3 -fPIC
+# add -fPIC when building .so files
+
+#CC = icc
+#CFLAGS = -fast
+# if you have icc, use this.
+
+#CFLAGS = -O0 -fPIC -pedantic -Wall -std=c99 -g -pg -DMALLOC_CHECK_=3
+#CFLAGS = -O0 -fPIC -pedantic -Wall -std=c99 -g -pg -DMALLOC_CHECK_=3 -fprofile-arcs -ftest-coverage
+#CFLAGS = -O0 -fPIC -pedantic -Wall -std=c99 -g -DMALLOC_CHECK_=3 # for shark, valgrind
+#CFLAGS = -O0 -fPIC -pedantic -Wall -std=c99 -g -DMALLOC_CHECK_=3 -lprofiler # ?
+
MYCFLAGS = $(MNO_CYGWIN) $(ENABLE_MULTITHREAD) $(CFLAGS)
-ifeq ($(ENABLE_MULTITHREAD),-Denablemultithread)
+ifdef ENABLE_MULTITHREAD
LIBS = -lm -lpthread
else
LIBS = -lm
INSTALL = install
PROGS = dvtditr dndfast7 dndblast sextet5 mafft-distance pairlocalalign \
- pair2hat3s multi2hat3s rnatest pairash \
+ multi2hat3s pairash addsingle \
splittbfast disttbfast tbfast mafft-profile f2cl mccaskillwrap contrafoldwrap countlen \
- seq2regtable regtable2seq score getlag dndpre dndpre2 setcore replaceu restoreu
-SCRIPTS = mafft mafft-homologs.rb
+ seq2regtable regtable2seq score getlag dndpre setcore replaceu restoreu setdirection makedirectionlist version
+SOS = libdisttbfast.so
+DLLS = libdisttbfast.dll
+DYLIBS = libdisttbfast.dylib
+
+PERLPROGS = mafftash_premafft.pl seekquencer_premafft.pl
+SCRIPTS = mafft mafft-homologs.rb mafft-sparsecore.rb
+OBJSETDIRECTION = mtxutl.o io.o setdirection.o defs.o mltaln9.o
OBJREPLACEU = mtxutl.o io.o replaceu.o defs.o mltaln9.o
OBJRESTOREU = mtxutl.o io.o restoreu.o defs.o mltaln9.o
OBJREGTABLE2SEQ = mtxutl.o io.o regtable2seq.o defs.o mltaln9.o
OBJCONTRAFOLDWRAP = mtxutl.o io.o contrafoldwrap.o constants.o defs.o mltaln9.o
OBJMULTI2HAT3S = mtxutl.o io.o mltaln9.o tddis.o constants.o \
multi2hat3s.o defs.o fft.o fftFunctions.o
-OBJPAIR2HAT3S = mtxutl.o io.o mltaln9.o tddis.o constants.o \
- pair2hat3s.o defs.o fft.o fftFunctions.o
-OBJRNATEST = mtxutl.o io.o mltaln9.o tddis.o constants.o Lalignmm.o \
- rna.o rnatest.o defs.o fft.o fftFunctions.o
-OBJPAIRASH = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
- Falign.o MSalignmm.o Galign11.o MSalign11.o suboptalign11.o genGalign11.o genalign11.o Lalign11.o SAalignmm.o \
+OBJPAIRASH = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
+ Falign.o MSalignmm.o Galign11.o MSalign11.o suboptalign11.o genalign11.o Lalign11.o SAalignmm.o \
pairash.o defs.o fft.o fftFunctions.o
-OBJPAIRLOCALALIGN = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
- Falign.o MSalignmm.o Galign11.o MSalign11.o suboptalign11.o genGalign11.o genalign11.o Lalign11.o SAalignmm.o \
- pairlocalalign.o defs.o fft.o fftFunctions.o
-OBJDUMMY = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJPAIRLOCALALIGN = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
+ Falign.o MSalignmm.o Galign11.o MSalign11.o suboptalign11.o genalign11.o Lalign11.o SAalignmm.o \
+ pairlocalalignmain.o pairlocalalign.o defs.o fft.o fftFunctions.o
+OBJDUMMY = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
disttbfast_dummy.o dummy.o defs.o fft.o fftFunctions.o
-OBJSPLITFROMALN = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJSPLITFROMALN = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Lalign11.o splitfromaln.o defs.o fft.o fftFunctions.o
-OBJSPLITTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJSPLITTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
- Lalign11.o splittbfast.o defs.o fft.o fftFunctions.o
-OBJSPLITTBFAST2 = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+ Lalign11.o splittbfast.o defs.o fft.o fftFunctions.o
+OBJSPLITTBFAST2 = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Lalign11.o splittbfast2.o defs.o fft.o fftFunctions.o
-OBJSPLITTBFASTP = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJSPLITTBFASTP = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Lalign11.o defs.o fft.o fftFunctions.o
-OBJDISTTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJDISTTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
disttbfast.o defs.o fft.o fftFunctions.o addfunctions.o
-OBJTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o MSalignmm.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJMAKEDIRECTIONLIST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
+ Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
+ Lalign11.o makedirectionlist.o defs.o fft.o fftFunctions.o addfunctions.o
+OBJTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o MSalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
- tbfast.o defs.o fft.o fftFunctions.o addfunctions.o
-OBJTBFAST2 = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o MSalignmm.o \
+ tbfast.o defs.o fft.o fftFunctions.o addfunctions.o \
+ pairlocalalign.o genalign11.o MSalign11.o Lalign11.o
+OBJADDSINGLE = mtxutl.o io.o mltaln9.o tddis.o constants.o MSalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
+ Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
+ addsingle.o defs.o fft.o fftFunctions.o addfunctions.o
+OBJTBFAST2 = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o MSalignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
tbfast2.o defs.o fft.o fftFunctions.o
-OBJSETCORE = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJSETCORE = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
setcore.o defs.o fft.o fftFunctions.o
-OBJTDITR = mtxutl.o io.o mltaln9.o tddis.o constants.o nj.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJTDITR = mtxutl.o io.o mltaln9.o tddis.o constants.o nj.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o fftFunctions.o fft.o \
tditeration.o tditr.o defs.o SAalignmm.o treeOperation.o
-OBJDVTDITR = mtxutl.o io.o mltaln9.o tddis.o constants.o nj.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJDVTDITR = mtxutl.o io.o mltaln9.o tddis.o constants.o nj.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o MSalignmm.o fftFunctions.o fft.o \
- tditeration.o dvtditr.o defs.o SAalignmm.o treeOperation.o
-OBJGETLAG = mtxutl.o io.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
- Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
+ tditeration.o dvtditr.o defs.o SAalignmm.o treeOperation.o addfunctions.o
+OBJGETLAG = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o \
+ Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o Dalignmm.o \
getlag.o defs.o fft.o fftFunctions.o
OBJGAPFILL = mtxutl.o io.o constants.o gapfill.o defs.o
OBJDNDFAST5 = dndfast5.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
OBJTRIPLET5 = io.o constants.o mtxutl.o mltaln9.o tddis.o triplet5.o defs.o
OBJOCTET4 = io.o constants.o mtxutl.o mltaln9.o tddis.o octet4.o defs.o
OBJDNDPRE = dndpre.o io.o constants.o mtxutl.o mltaln9.o defs.o
-OBJDNDPRESCORE = dndpre2.o io.o constants.o mtxutl.o mltaln9.o defs.o
-OBJGALN = io.o mtxutl.o mltaln9.o tddis.o constants.o partQalignmm.o partSalignmm.o MSalignmm.o Lalignmm.o rna.o Salignmm.o Ralignmm.o Qalignmm.o Halignmm.o \
+OBJGALN = io.o mtxutl.o mltaln9.o tddis.o constants.o partSalignmm.o MSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
SAalignmm.o Galign11.o Falign.o Falign_localhom.o fftFunctions.o fft.o mafft-profile.o defs.o
OBJSCORE = io.o mtxutl.o mltaln9.o score.o constants.o defs.o
-HEADER = mltaln.h mtxutl.h
+HEADER = mltaln.h mtxutl.h mafft.h
FFTHEADER = fft.h
MANPAGES = mafft.1 mafft-homologs.1
-all : $(PROGS) $(SCRIPTS)
+
+all : $(PERLPROGS) $(PROGS) $(SCRIPTS)
cp $(SCRIPTS) ../scripts
chmod 755 ../scripts/*
- cp $(PROGS) ../binaries
+ cp $(PERLPROGS) $(PROGS) ../binaries
chmod 755 ../binaries/*
cp $(MANPAGES) ../binaries
@echo done.
+sos : $(SOS)
+dylibs : $(DYLIBS)
+dlls : $(DLLS)
+
univscript: univscript.tmpl Makefile
sed "s:_PROGS:$(PROGS):" univscript.tmpl > univscript
-mafft: mafft.tmpl
+mafft: mafft.tmpl mltaln.h
sed "s:_LIBDIR:$(LIBDIR):" mafft.tmpl > mafft
mafft-homologs.rb: mafft-homologs.tmpl
# cp mafft-homologs.tmpl mafft-homologs.rb
sed "s:_BINDIR:$(BINDIR):" mafft-homologs.tmpl > mafft-homologs.rb
+mafft-sparsecore.rb: mafft-sparsecore.tmpl
+# cp mafft-sparsecore.tmpl mafft-sparsecore.rb
+ sed "s:_BINDIR:$(BINDIR):" mafft-sparsecore.tmpl > mafft-sparsecore.rb
+
mltaln.h : functions.h
touch mltaln.h
+version : version.c mltaln.h
+ $(CC) -o $@ version.c $(MYCFLAGS) $(LDFLAGS)
+
tbfast : $(OBJTBFAST)
- $(CC) -o $@ $(OBJTBFAST) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
+
+addsingle : $(OBJADDSINGLE)
+ $(CC) -o $@ $(OBJADDSINGLE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
tbfast2 : $(OBJTBFAST2)
- $(CC) -o $@ $(OBJTBFAST2) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJTBFAST2) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
disttbfast : $(OBJDISTTBFAST)
- $(CC) -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
+
+libdisttbfast.so : $(OBJDISTTBFAST)
+ $(CC) -shared -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
+
+libdisttbfast.dylib : $(OBJDISTTBFAST)
+ $(CC) -dynamiclib -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
+
+libdisttbfast.dll : $(OBJDISTTBFAST)
+ $(CC) -shared -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
+
+makedirectionlist : $(OBJMAKEDIRECTIONLIST)
+ $(CC) -o $@ $(OBJMAKEDIRECTIONLIST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
splittbfast : $(OBJSPLITTBFAST)
- $(CC) -o $@ $(OBJSPLITTBFAST) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSPLITTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
splitfromaln : $(OBJSPLITFROMALN)
- $(CC) -o $@ $(OBJSPLITFROMALN) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSPLITFROMALN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
splittbfast2 : $(OBJSPLITTBFAST2)
- $(CC) -o $@ $(OBJSPLITTBFAST2) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSPLITTBFAST2) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dummy : $(OBJDUMMY)
- $(CC) -o $@ $(OBJDUMMY) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDUMMY) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
setcore : $(OBJSETCORE)
- $(CC) -o $@ $(OBJSETCORE) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSETCORE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
countlen : $(OBJCOUNTLEN)
- $(CC) -o $@ $(OBJCOUNTLEN) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJCOUNTLEN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
seq2regtable : $(OBJSEQ2REGTABLE)
- $(CC) -o $@ $(OBJSEQ2REGTABLE) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSEQ2REGTABLE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
regtable2seq : $(OBJREGTABLE2SEQ)
- $(CC) -o $@ $(OBJREGTABLE2SEQ) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJREGTABLE2SEQ) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
+
+setdirection : $(OBJSETDIRECTION)
+ $(CC) -o $@ $(OBJSETDIRECTION) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
replaceu : $(OBJREPLACEU)
- $(CC) -o $@ $(OBJREPLACEU) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJREPLACEU) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
restoreu : $(OBJRESTOREU)
- $(CC) -o $@ $(OBJRESTOREU) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJRESTOREU) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
f2cl : $(OBJF2CL)
- $(CC) -o $@ $(OBJF2CL) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJF2CL) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
mccaskillwrap : $(OBJMCCASKILLWRAP)
- $(CC) -o $@ $(OBJMCCASKILLWRAP) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJMCCASKILLWRAP) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
contrafoldwrap : $(OBJCONTRAFOLDWRAP)
- $(CC) -o $@ $(OBJCONTRAFOLDWRAP) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJCONTRAFOLDWRAP) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
pairlocalalign : $(OBJPAIRLOCALALIGN)
- $(CC) -o $@ $(OBJPAIRLOCALALIGN) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJPAIRLOCALALIGN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
pairash : $(OBJPAIRASH)
- $(CC) -o $@ $(OBJPAIRASH) $(MYCFLAGS) $(LIBS)
-
-rnatest : $(OBJRNATEST)
- $(CC) -o $@ $(OBJRNATEST) $(MYCFLAGS) $(LIBS)
-
-pair2hat3s : $(OBJPAIR2HAT3S)
- $(CC) -o $@ $(OBJPAIR2HAT3S) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJPAIRASH) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
multi2hat3s : $(OBJMULTI2HAT3S)
- $(CC) -o $@ $(OBJMULTI2HAT3S) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJMULTI2HAT3S) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
getlag : $(OBJGETLAG)
- $(CC) -o $@ $(OBJGETLAG) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJGETLAG) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
tditr : $(OBJTDITR)
- $(CC) -o $@ $(OBJTDITR) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJTDITR) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dvtditr : $(OBJDVTDITR)
- $(CC) -o $@ $(OBJDVTDITR) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDVTDITR) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
mafft-profile : $(OBJGALN)
- $(CC) -o $@ $(OBJGALN) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJGALN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
gapfill : $(OBJGAPFILL)
- $(CC) -o $@ $(OBJGAPFILL) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJGAPFILL) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dndfast4 : $(OBJDNDFAST4)
- $(CC) -o $@ $(OBJDNDFAST4) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDNDFAST4) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dndfast5 : $(OBJDNDFAST5)
- $(CC) -o $@ $(OBJDNDFAST5) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDNDFAST5) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dndfast6 : $(OBJDNDFAST6)
- $(CC) -o $@ $(OBJDNDFAST6) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDNDFAST6) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dndfast7 : $(OBJDNDFAST7)
- $(CC) -o $@ $(OBJDNDFAST7) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDNDFAST7) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dndblast : $(OBJDNDBLAST)
- $(CC) -o $@ $(OBJDNDBLAST) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDNDBLAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dndfast3 : $(OBJDNDFAST3)
- $(CC) -o $@ $(OBJDNDFAST3) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDNDFAST3) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
triplet : $(OBJTRIPLET)
- $(CC) -o $@ $(OBJTRIPLET) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJTRIPLET) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
triplet3 : $(OBJTRIPLET3)
- $(CC) -o $@ $(OBJTRIPLET3) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJTRIPLET3) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
sextet3 : $(OBJSEXTET3)
- $(CC) -o $@ $(OBJSEXTET3) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSEXTET3) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
sextet4 : $(OBJSEXTET4)
- $(CC) -o $@ $(OBJSEXTET4) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSEXTET4) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
sextet5 : $(OBJSEXTET5)
- $(CC) -o $@ $(OBJSEXTET5) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSEXTET5) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
mafft-distance : $(OBJDISTANCE)
- $(CC) -o $@ $(OBJDISTANCE) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDISTANCE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
triplet5 : $(OBJTRIPLET5)
- $(CC) -o $@ $(OBJTRIPLET5) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJTRIPLET5) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
triplet6 : $(OBJTRIPLET6)
- $(CC) -o $@ $(OBJTRIPLET6) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJTRIPLET6) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
octet4 : $(OBJOCTET4)
- $(CC) -o $@ $(OBJOCTET4) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJOCTET4) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dndpre : $(OBJDNDPRE)
- $(CC) -o $@ $(OBJDNDPRE) $(MYCFLAGS) $(LIBS)
-
-dndpre2 : $(OBJDNDPRESCORE)
- $(CC) -o $@ $(OBJDNDPRESCORE) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJDNDPRE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
score : $(OBJSCORE)
- $(CC) -o $@ $(OBJSCORE) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJSCORE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
genMtx : $(OBJGENMTX)
- $(CC) -o $@ $(OBJGENMTX) $(MYCFLAGS) $(LIBS)
+ $(CC) -o $@ $(OBJGENMTX) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
+
+mafftash_premafft.pl : mafftash_premafft.tmpl
+ cp mafftash_premafft.tmpl mafftash_premafft.pl
+
+seekquencer_premafft.pl : seekquencer_premafft.tmpl
+ cp seekquencer_premafft.tmpl seekquencer_premafft.pl
gapfill.o : gapfill.c $(HEADER)
$(CC) $(MYCFLAGS) -c gapfill.c
Salignmm.o : Salignmm.c $(HEADER)
$(CC) $(MYCFLAGS) -c Salignmm.c
-Halignmm.o : Halignmm.c $(HEADER)
- $(CC) $(MYCFLAGS) -c Halignmm.c
-
-Ralignmm.o : Ralignmm.c $(HEADER)
- $(CC) $(MYCFLAGS) -c Ralignmm.c
-
-Qalignmm.o : Qalignmm.c $(HEADER)
- $(CC) $(MYCFLAGS) -c Qalignmm.c
+Dalignmm.o : Dalignmm.c $(HEADER)
+ $(CC) $(MYCFLAGS) -c Dalignmm.c
MSalignmm.o : MSalignmm.c $(HEADER)
$(CC) $(MYCFLAGS) -c MSalignmm.c
partSalignmm.o : partSalignmm.c $(HEADER)
$(CC) $(MYCFLAGS) -c partSalignmm.c
-partQalignmm.o : partQalignmm.c $(HEADER)
- $(CC) $(MYCFLAGS) -c partQalignmm.c
-
Lalign11.o : Lalign11.c $(HEADER)
$(CC) $(MYCFLAGS) -c Lalign11.c
genalign11.o : genalign11.c $(HEADER)
$(CC) $(MYCFLAGS) -c genalign11.c
-genGalign11.o : genGalign11.c $(HEADER)
- $(CC) $(MYCFLAGS) -c genGalign11.c
-
suboptalign11.o : suboptalign11.c $(HEADER)
$(CC) $(MYCFLAGS) -c suboptalign11.c
splittbfast2.o : splittbfast2.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c splittbfast2.c
+makedirectionlist.o : makedirectionlist.c $(HEADER) $(FFTHEADER)
+ $(CC) $(MYCFLAGS) -c makedirectionlist.c
+
disttbfast_dummy.o : disttbfast_dummy.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c disttbfast_dummy.c
tbfast.o : tbfast.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c tbfast.c
+addsingle.o : addsingle.c $(HEADER) $(FFTHEADER)
+ $(CC) $(MYCFLAGS) -c addsingle.c
+
tbfast2.o : tbfast2.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c tbfast2.c
f2cl.o : f2cl.c $(HEADER)
$(CC) $(MYCFLAGS) -c f2cl.c
+setdirection.o : setdirection.c $(HEADER)
+ $(CC) $(MYCFLAGS) -c setdirection.c
+
replaceu.o : replaceu.c $(HEADER)
$(CC) $(MYCFLAGS) -c replaceu.c
pairlocalalign.o : pairlocalalign.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c pairlocalalign.c
+pairlocalalignmain.o : pairlocalalignmain.c $(HEADER) $(FFTHEADER)
+ $(CC) $(MYCFLAGS) -c pairlocalalignmain.c
+
pairash.o : pairash.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c pairash.c
-rnatest.o : rnatest.c $(HEADER) $(FFTHEADER)
- $(CC) $(MYCFLAGS) -c rnatest.c
-
multi2hat3s.o : multi2hat3s.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c multi2hat3s.c
-pair2hat3s.o : pair2hat3s.c $(HEADER) $(FFTHEADER)
- $(CC) $(MYCFLAGS) -c pair2hat3s.c
-
-dndpre2.o : dndpre2.c $(HEADER)
- $(CC) $(MYCFLAGS) -c dndpre2.c
-
io.o : io.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c io.c
$(CC) $(MYCFLAGS) -c score.c
clean :
- rm -f *.o *.a *.exe *~ $(PROGS) $(SCRIPTS)
+ rm -f *.o *.a *.exe *~ $(PERLPROGS) $(PROGS) $(SCRIPTS) $(SOS) $(DYLIBS) $(DLLS) *.gcda *.gcno
# rm -f ../binaries/* ../scripts/*
install : all
- mkdir -p $(LIBDIR)
- chmod 755 $(LIBDIR)
- mkdir -p $(BINDIR)
- chmod 755 $(BINDIR)
+ mkdir -p $(DESTDIR)$(LIBDIR)
+ chmod 755 $(DESTDIR)$(LIBDIR)
+ mkdir -p $(DESTDIR)$(BINDIR)
+ chmod 755 $(DESTDIR)$(BINDIR)
chmod 755 $(SCRIPTS)
- $(INSTALL) $(SCRIPTS) $(BINDIR)
- chmod 755 $(PROGS)
- $(INSTALL) $(PROGS) $(LIBDIR)
- $(INSTALL) -m 644 $(MANPAGES) $(LIBDIR)
+ $(INSTALL) $(SCRIPTS) $(DESTDIR)$(BINDIR)
+ chmod 755 $(PROGS) ||: # in MinGW, it's ok if this fails
+ $(INSTALL) -s $(PROGS) $(DESTDIR)$(LIBDIR)
+ $(INSTALL) $(PERLPROGS) $(DESTDIR)$(LIBDIR)
+ $(INSTALL) -m 644 $(MANPAGES) $(DESTDIR)$(LIBDIR)
- ( cd $(BINDIR); \
+ ( cd $(DESTDIR)$(BINDIR); \
rm -f linsi ginsi einsi fftns fftnsi nwns nwnsi xinsi qinsi; \
-rm -f mafft-linsi mafft-ginsi mafft-einsi mafft-fftns mafft-fftnsi mafft-nwns mafft-nwnsi mafft-xinsi mafft-qinsi; \
+rm -f mafft-linsi mafft-ginsi mafft-einsi mafft-fftns mafft-fftnsi mafft-nwns mafft-nwnsi mafft-xinsi mafft-qinsi mafft-randomcore.rb ; \
ln -s mafft linsi; ln -s mafft ginsi; ln -s mafft fftns; \
ln -s mafft fftnsi; ln -s mafft nwns; ln -s mafft nwnsi; \
ln -s mafft einsi; \
rm -f mafft-profile mafft-profile.exe; ln -s $(LIBDIR)/mafft-profile .; \
rm -f mafft-distance mafft-distance.exe; ln -s $(LIBDIR)/mafft-distance . )
- mkdir -p $(MANDIR)
- chmod 755 $(MANDIR)
- $(INSTALL) -m 644 $(MANPAGES) $(MANDIR)
+ mkdir -p $(DESTDIR)$(MANDIR)
+ chmod 755 $(DESTDIR)$(MANDIR)
+ $(INSTALL) -m 644 $(MANPAGES) $(DESTDIR)$(MANDIR)
# remove incorrectly installed manpages by previous versions
# rm -f /usr/local/man/man1/mafft.1 /usr/local/man/man1/mafft-homologs.1