JWS-112 Bumping version of Mafft to version 7.310.
[jabaws.git] / binaries / src / mafft / core / Makefile
1 PREFIX = /usr/local
2 LIBDIR = $(PREFIX)/libexec/mafft
3 BINDIR = $(PREFIX)/bin
4 MANDIR = $(PREFIX)/share/man/man1
5 DESTDIR = 
6
7 #MNO_CYGWIN = -mno-cygwin
8
9 ENABLE_MULTITHREAD = -Denablemultithread
10 # Comment out the above line if your compiler 
11 # does not support TLS (thread-local strage).
12
13 CC = gcc
14 CFLAGS = -O3 -std=c99
15 #CFLAGS = -O3 -fPIC
16 # add -fPIC when building .so files
17
18 #CC = icc
19 #CFLAGS = -fast
20 # if you have icc, use this.
21
22 #CFLAGS =  -O0  -fPIC -pedantic -Wall -std=c99 -g -pg -DMALLOC_CHECK_=3
23 #CFLAGS =  -O0  -fPIC -pedantic -Wall -std=c99 -g -pg -DMALLOC_CHECK_=3  -fprofile-arcs -ftest-coverage 
24 #CFLAGS =  -O0  -fPIC -pedantic -Wall -std=c99 -g -DMALLOC_CHECK_=3 # for shark, valgrind
25 #CFLAGS =  -O0  -fPIC -pedantic -Wall -std=c99 -g -DMALLOC_CHECK_=3 -lprofiler  # ?
26
27
28 MYCFLAGS = $(MNO_CYGWIN) $(ENABLE_MULTITHREAD) $(CFLAGS)
29
30 ifdef ENABLE_MULTITHREAD
31 LIBS = -lm  -lpthread
32 else
33 LIBS = -lm
34 endif
35
36 INSTALL = install
37
38 PROGS = dvtditr dndfast7 dndblast sextet5 mafft-distance pairlocalalign \
39                 multi2hat3s pairash addsingle \
40         splittbfast disttbfast tbfast mafft-profile f2cl mccaskillwrap contrafoldwrap countlen \
41                 seq2regtable regtable2seq score getlag dndpre setcore replaceu restoreu setdirection makedirectionlist version
42 SOS = libdisttbfast.so
43 DLLS = libdisttbfast.dll
44 DYLIBS = libdisttbfast.dylib
45
46 PERLPROGS = mafftash_premafft.pl seekquencer_premafft.pl
47 SCRIPTS = mafft mafft-homologs.rb mafft-sparsecore.rb
48 OBJSETDIRECTION = mtxutl.o io.o setdirection.o defs.o mltaln9.o
49 OBJREPLACEU = mtxutl.o io.o replaceu.o defs.o mltaln9.o
50 OBJRESTOREU = mtxutl.o io.o restoreu.o defs.o mltaln9.o
51 OBJREGTABLE2SEQ = mtxutl.o io.o regtable2seq.o defs.o mltaln9.o
52 OBJSEQ2REGTABLE = mtxutl.o io.o seq2regtable.o defs.o
53 OBJCOUNTLEN = mtxutl.o io.o countlen.o defs.o
54 OBJF2CL = mtxutl.o io.o f2cl.o constants.o defs.o
55 OBJMCCASKILLWRAP = mtxutl.o io.o mccaskillwrap.o constants.o defs.o mltaln9.o
56 OBJCONTRAFOLDWRAP = mtxutl.o io.o contrafoldwrap.o constants.o defs.o mltaln9.o
57 OBJMULTI2HAT3S = mtxutl.o io.o mltaln9.o tddis.o constants.o \
58                                  multi2hat3s.o defs.o fft.o fftFunctions.o
59 OBJPAIRASH = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
60                          Falign.o MSalignmm.o Galign11.o MSalign11.o suboptalign11.o genalign11.o Lalign11.o SAalignmm.o \
61                          pairash.o defs.o fft.o fftFunctions.o
62 OBJPAIRLOCALALIGN = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
63                             Falign.o MSalignmm.o Galign11.o MSalign11.o suboptalign11.o genalign11.o Lalign11.o SAalignmm.o \
64                                         pairlocalalignmain.o pairlocalalign.o defs.o fft.o fftFunctions.o
65 OBJDUMMY = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
66                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
67                         disttbfast_dummy.o dummy.o defs.o fft.o fftFunctions.o
68 OBJSPLITFROMALN = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o  Dalignmm.o \
69                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
70                         Lalign11.o splitfromaln.o defs.o fft.o fftFunctions.o
71 OBJSPLITTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o  Dalignmm.o \
72                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
73                         Lalign11.o splittbfast.o defs.o fft.o fftFunctions.o 
74 OBJSPLITTBFAST2 = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o  Dalignmm.o \
75                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
76                         Lalign11.o splittbfast2.o defs.o fft.o fftFunctions.o
77 OBJSPLITTBFASTP = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
78                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
79                         Lalign11.o defs.o fft.o fftFunctions.o
80 OBJDISTTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
81                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
82                         disttbfast.o defs.o fft.o fftFunctions.o addfunctions.o
83 OBJMAKEDIRECTIONLIST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o  Dalignmm.o \
84                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
85                         Lalign11.o makedirectionlist.o defs.o fft.o fftFunctions.o addfunctions.o
86 OBJTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o MSalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
87                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
88                         tbfast.o defs.o fft.o fftFunctions.o addfunctions.o \
89                         pairlocalalign.o genalign11.o MSalign11.o Lalign11.o 
90 OBJADDSINGLE = mtxutl.o io.o mltaln9.o tddis.o constants.o MSalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
91                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
92                         addsingle.o defs.o fft.o fftFunctions.o addfunctions.o
93 OBJTBFAST2 = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o  MSalignmm.o Dalignmm.o \
94                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
95                         tbfast2.o defs.o fft.o fftFunctions.o
96 OBJSETCORE = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
97                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
98                         setcore.o defs.o fft.o fftFunctions.o
99 OBJTDITR = mtxutl.o io.o mltaln9.o tddis.o constants.o nj.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o  \
100                    Falign.o Falign_localhom.o Galign11.o fftFunctions.o fft.o  \
101                    tditeration.o tditr.o defs.o SAalignmm.o treeOperation.o
102 OBJDVTDITR = mtxutl.o io.o mltaln9.o tddis.o constants.o nj.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
103                         Falign.o Falign_localhom.o Galign11.o MSalignmm.o fftFunctions.o fft.o  \
104                         tditeration.o dvtditr.o defs.o SAalignmm.o treeOperation.o addfunctions.o
105 OBJGETLAG = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o  \
106                     Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o Dalignmm.o \
107                         getlag.o defs.o fft.o fftFunctions.o
108 OBJGAPFILL = mtxutl.o io.o constants.o gapfill.o defs.o
109 OBJDNDFAST5 = dndfast5.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
110 OBJDNDBLAST = dndblast.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
111 OBJDNDFAST7 = dndfast7.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
112 OBJDNDFAST6 = dndfast6.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
113 OBJDNDFAST4 = dndfast4.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
114 OBJDNDFAST6 = dndfast6.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
115 OBJSEXTET5 = io.o constants.o mtxutl.o mltaln9.o tddis.o sextet5.o defs.o
116 OBJDISTANCE = io.o constants.o mtxutl.o mltaln9.o tddis.o mafft-distance.o defs.o
117 OBJTRIPLET6 = io.o constants.o mtxutl.o mltaln9.o tddis.o triplet6.o defs.o
118 OBJTRIPLET5 = io.o constants.o mtxutl.o mltaln9.o tddis.o triplet5.o defs.o
119 OBJOCTET4 = io.o constants.o mtxutl.o mltaln9.o tddis.o octet4.o defs.o
120 OBJDNDPRE = dndpre.o io.o constants.o mtxutl.o mltaln9.o defs.o
121 OBJGALN = io.o mtxutl.o mltaln9.o tddis.o constants.o partSalignmm.o MSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
122           SAalignmm.o Galign11.o Falign.o Falign_localhom.o fftFunctions.o fft.o mafft-profile.o defs.o
123 OBJSCORE = io.o mtxutl.o mltaln9.o score.o constants.o defs.o
124
125 HEADER = mltaln.h mtxutl.h mafft.h
126 FFTHEADER = fft.h
127
128 MANPAGES = mafft.1 mafft-homologs.1
129
130
131
132
133 all : $(PERLPROGS) $(PROGS) $(SCRIPTS)
134         cp $(SCRIPTS) ../scripts
135         chmod 755 ../scripts/*
136         cp $(PERLPROGS) $(PROGS) ../binaries
137         chmod 755 ../binaries/*
138         cp $(MANPAGES) ../binaries
139         @echo done.
140
141 sos : $(SOS)
142 dylibs : $(DYLIBS)
143 dlls : $(DLLS)
144
145 univscript: univscript.tmpl Makefile
146         sed "s:_PROGS:$(PROGS):" univscript.tmpl  > univscript
147
148 mafft: mafft.tmpl mltaln.h
149         sed "s:_LIBDIR:$(LIBDIR):" mafft.tmpl  > mafft
150
151 mafft-homologs.rb: mafft-homologs.tmpl
152 #       cp mafft-homologs.tmpl mafft-homologs.rb
153         sed "s:_BINDIR:$(BINDIR):" mafft-homologs.tmpl  > mafft-homologs.rb
154
155 mafft-sparsecore.rb: mafft-sparsecore.tmpl
156 #       cp mafft-sparsecore.tmpl mafft-sparsecore.rb
157         sed "s:_BINDIR:$(BINDIR):" mafft-sparsecore.tmpl  > mafft-sparsecore.rb
158
159 mltaln.h : functions.h
160         touch mltaln.h
161
162 version : version.c mltaln.h
163         $(CC) -o $@ version.c $(MYCFLAGS) $(LDFLAGS)
164
165 tbfast : $(OBJTBFAST)
166         $(CC) -o $@ $(OBJTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
167
168 addsingle : $(OBJADDSINGLE)
169         $(CC) -o $@ $(OBJADDSINGLE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
170
171 tbfast2 : $(OBJTBFAST2)
172         $(CC) -o $@ $(OBJTBFAST2) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
173
174 disttbfast : $(OBJDISTTBFAST)
175         $(CC) -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
176
177 libdisttbfast.so : $(OBJDISTTBFAST)
178         $(CC) -shared -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
179
180 libdisttbfast.dylib : $(OBJDISTTBFAST)
181         $(CC) -dynamiclib -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
182
183 libdisttbfast.dll : $(OBJDISTTBFAST)
184         $(CC) -shared -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
185
186 makedirectionlist : $(OBJMAKEDIRECTIONLIST)
187         $(CC) -o $@ $(OBJMAKEDIRECTIONLIST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
188
189 splittbfast : $(OBJSPLITTBFAST)
190         $(CC) -o $@ $(OBJSPLITTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
191
192 splitfromaln : $(OBJSPLITFROMALN)
193         $(CC) -o $@ $(OBJSPLITFROMALN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
194
195 splittbfast2 : $(OBJSPLITTBFAST2)
196         $(CC) -o $@ $(OBJSPLITTBFAST2) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
197
198 dummy : $(OBJDUMMY)
199         $(CC) -o $@ $(OBJDUMMY) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
200
201 setcore : $(OBJSETCORE)
202         $(CC) -o $@ $(OBJSETCORE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
203
204 countlen : $(OBJCOUNTLEN)
205         $(CC) -o $@ $(OBJCOUNTLEN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
206
207 seq2regtable : $(OBJSEQ2REGTABLE)
208         $(CC) -o $@ $(OBJSEQ2REGTABLE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
209
210 regtable2seq : $(OBJREGTABLE2SEQ)
211         $(CC) -o $@ $(OBJREGTABLE2SEQ) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
212
213 setdirection : $(OBJSETDIRECTION)
214         $(CC) -o $@ $(OBJSETDIRECTION) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
215
216 replaceu : $(OBJREPLACEU)
217         $(CC) -o $@ $(OBJREPLACEU) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
218
219 restoreu : $(OBJRESTOREU)
220         $(CC) -o $@ $(OBJRESTOREU) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
221
222 f2cl : $(OBJF2CL)
223         $(CC) -o $@ $(OBJF2CL) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
224
225 mccaskillwrap : $(OBJMCCASKILLWRAP)
226         $(CC) -o $@ $(OBJMCCASKILLWRAP) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
227
228 contrafoldwrap : $(OBJCONTRAFOLDWRAP)
229         $(CC) -o $@ $(OBJCONTRAFOLDWRAP) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
230
231 pairlocalalign : $(OBJPAIRLOCALALIGN)
232         $(CC) -o $@ $(OBJPAIRLOCALALIGN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
233
234 pairash : $(OBJPAIRASH)
235         $(CC) -o $@ $(OBJPAIRASH) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
236
237 multi2hat3s : $(OBJMULTI2HAT3S)
238         $(CC) -o $@ $(OBJMULTI2HAT3S) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
239
240 getlag : $(OBJGETLAG)
241         $(CC) -o $@ $(OBJGETLAG) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
242
243 tditr : $(OBJTDITR)
244         $(CC) -o $@ $(OBJTDITR) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
245
246 dvtditr : $(OBJDVTDITR)
247         $(CC) -o $@ $(OBJDVTDITR) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
248
249 mafft-profile : $(OBJGALN)
250         $(CC) -o $@ $(OBJGALN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
251
252 gapfill : $(OBJGAPFILL)
253         $(CC) -o $@ $(OBJGAPFILL) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
254
255 dndfast4 : $(OBJDNDFAST4)
256         $(CC) -o $@ $(OBJDNDFAST4) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
257
258 dndfast5 : $(OBJDNDFAST5)
259         $(CC) -o $@ $(OBJDNDFAST5) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
260
261 dndfast6 : $(OBJDNDFAST6)
262         $(CC) -o $@ $(OBJDNDFAST6) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
263
264 dndfast7 : $(OBJDNDFAST7)
265         $(CC) -o $@ $(OBJDNDFAST7) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
266
267 dndblast : $(OBJDNDBLAST)
268         $(CC) -o $@ $(OBJDNDBLAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
269
270 dndfast3 : $(OBJDNDFAST3)
271         $(CC) -o $@ $(OBJDNDFAST3) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
272
273 triplet : $(OBJTRIPLET)
274         $(CC) -o $@ $(OBJTRIPLET) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
275
276 triplet3 : $(OBJTRIPLET3)
277         $(CC) -o $@ $(OBJTRIPLET3) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
278
279 sextet3 : $(OBJSEXTET3)
280         $(CC) -o $@ $(OBJSEXTET3) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
281
282 sextet4 : $(OBJSEXTET4)
283         $(CC) -o $@ $(OBJSEXTET4) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
284
285 sextet5 : $(OBJSEXTET5)
286         $(CC) -o $@ $(OBJSEXTET5) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
287
288 mafft-distance : $(OBJDISTANCE)
289         $(CC) -o $@ $(OBJDISTANCE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
290
291 triplet5 : $(OBJTRIPLET5)
292         $(CC) -o $@ $(OBJTRIPLET5) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
293
294 triplet6 : $(OBJTRIPLET6)
295         $(CC) -o $@ $(OBJTRIPLET6) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
296
297 octet4 : $(OBJOCTET4)
298         $(CC) -o $@ $(OBJOCTET4) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
299
300 dndpre : $(OBJDNDPRE)
301         $(CC) -o $@ $(OBJDNDPRE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
302
303 score : $(OBJSCORE)
304         $(CC) -o $@ $(OBJSCORE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
305
306 genMtx : $(OBJGENMTX)
307         $(CC) -o $@ $(OBJGENMTX) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
308
309 mafftash_premafft.pl : mafftash_premafft.tmpl
310         cp mafftash_premafft.tmpl mafftash_premafft.pl
311
312 seekquencer_premafft.pl : seekquencer_premafft.tmpl
313         cp seekquencer_premafft.tmpl seekquencer_premafft.pl
314
315 gapfill.o : gapfill.c $(HEADER)
316         $(CC) $(MYCFLAGS) -c gapfill.c
317
318 mltaln9.o : mltaln9.c $(HEADER)
319         $(CC) $(MYCFLAGS) -c mltaln9.c
320
321 tddis.o : tddis.c $(HEADER)
322         $(CC) $(MYCFLAGS) -c tddis.c
323
324 constants.o : constants.c miyata.h miyata5.h blosum.c DNA.h JTT.c $(HEADER)
325         $(CC) $(MYCFLAGS) -c constants.c
326
327 defs.o : defs.c 
328         $(CC) $(MYCFLAGS) -c defs.c
329
330 #A+++alignmm.o : SA+++alignmm.c $(HEADER)
331 #       $(CC) $(MYCFLAGS) -c SA+++alignmm.c -o A+++alignmm.o
332
333 Salignmm.o : Salignmm.c $(HEADER)
334         $(CC) $(MYCFLAGS) -c Salignmm.c 
335
336 Dalignmm.o : Dalignmm.c $(HEADER)
337         $(CC) $(MYCFLAGS) -c Dalignmm.c 
338
339 MSalignmm.o : MSalignmm.c $(HEADER)
340         $(CC) $(MYCFLAGS) -c MSalignmm.c 
341
342 partSalignmm.o : partSalignmm.c $(HEADER)
343         $(CC) $(MYCFLAGS) -c partSalignmm.c  
344
345 Lalign11.o : Lalign11.c $(HEADER)
346         $(CC) $(MYCFLAGS) -c Lalign11.c 
347
348 genalign11.o : genalign11.c $(HEADER)
349         $(CC) $(MYCFLAGS) -c genalign11.c 
350
351 suboptalign11.o : suboptalign11.c $(HEADER)
352         $(CC) $(MYCFLAGS) -c suboptalign11.c 
353
354 Galign11.o : Galign11.c $(HEADER)
355         $(CC) $(MYCFLAGS) -c Galign11.c 
356
357 MSalign11.o : MSalign11.c $(HEADER)
358         $(CC) $(MYCFLAGS) -c MSalign11.c 
359
360 SAalignmm.o : SAalignmm.c $(HEADER)
361         $(CC) $(MYCFLAGS) -c SAalignmm.c -o SAalignmm.o
362
363 Lalignmm.o : Lalignmm.c $(HEADER)
364         $(CC) $(MYCFLAGS) -c Lalignmm.c 
365
366 rna.o : rna.c $(HEADER)
367         $(CC) $(MYCFLAGS) -c rna.c 
368
369 disttbfast.o : disttbfast.c $(HEADER) $(FFTHEADER)
370         $(CC) $(MYCFLAGS) -c disttbfast.c
371
372 splitfromaln.o : splitfromaln.c $(HEADER) $(FFTHEADER) 
373         $(CC) $(MYCFLAGS) -c splitfromaln.c
374
375 splittbfast.o : splittbfast.c $(HEADER) $(FFTHEADER) 
376         $(CC) $(MYCFLAGS) -c splittbfast.c
377
378 splittbfast2.o : splittbfast2.c $(HEADER) $(FFTHEADER) 
379         $(CC) $(MYCFLAGS) -c splittbfast2.c
380
381 makedirectionlist.o : makedirectionlist.c $(HEADER) $(FFTHEADER) 
382         $(CC) $(MYCFLAGS) -c makedirectionlist.c
383
384 disttbfast_dummy.o : disttbfast_dummy.c $(HEADER) $(FFTHEADER)
385         $(CC) $(MYCFLAGS) -c disttbfast_dummy.c
386
387 dummy.o : dummy.c $(HEADER) $(FFTHEADER)
388         $(CC) $(MYCFLAGS) -c dummy.c
389
390 tbfast.o : tbfast.c $(HEADER) $(FFTHEADER)
391         $(CC) $(MYCFLAGS) -c tbfast.c
392
393 addsingle.o : addsingle.c $(HEADER) $(FFTHEADER)
394         $(CC) $(MYCFLAGS) -c addsingle.c
395
396 tbfast2.o : tbfast2.c $(HEADER) $(FFTHEADER)
397         $(CC) $(MYCFLAGS) -c tbfast2.c
398
399 setcore.o : setcore.c $(HEADER) $(FFTHEADER)
400         $(CC) $(MYCFLAGS) -c setcore.c
401
402 getlag.o : getlag.c $(HEADER) $(FFTHEADER)
403         $(CC) $(MYCFLAGS) -c getlag.c
404
405 tditr.o : tditr.c $(HEADER)
406          $(CC) $(MYCFLAGS) -c tditr.c
407
408 dvtditr.o : dvtditr.c $(HEADER)
409          $(CC) $(MYCFLAGS) -c dvtditr.c
410
411 tditeration.o : tditeration.c $(HEADER)
412          $(CC) $(MYCFLAGS) -c tditeration.c
413
414 mafft-profile.o : mafft-profile.c $(HEADER) $(MTXHEADER)
415         $(CC) $(MYCFLAGS) -c mafft-profile.c
416
417 dndfast4.o : dndfast4.c $(HEADER) $(MTXHEADER)
418         $(CC) $(MYCFLAGS) -c dndfast4.c
419
420 dndfast5.o : dndfast5.c $(HEADER) $(MTXHEADER)
421         $(CC) $(MYCFLAGS) -c dndfast5.c
422
423 dndfast6.o : dndfast6.c $(HEADER) $(MTXHEADER)
424         $(CC) $(MYCFLAGS) -c dndfast6.c
425
426 dndfast7.o : dndfast7.c $(HEADER) $(MTXHEADER)
427         $(CC) $(MYCFLAGS) -c dndfast7.c
428
429 dndblast.o : dndblast.c $(HEADER) $(MTXHEADER)
430         $(CC) $(MYCFLAGS) -c dndblast.c
431
432 dndfast3.o : dndfast3.c $(HEADER) $(MTXHEADER)
433         $(CC) $(MYCFLAGS) -c dndfast3.c
434
435 dndpre.o : dndpre.c $(HEADER)
436         $(CC) $(MYCFLAGS) -c dndpre.c
437
438 countlen.o : countlen.c $(HEADER)
439         $(CC) $(MYCFLAGS) -c countlen.c
440
441 seq2regtable.o : seq2regtable.c $(HEADER)
442         $(CC) $(MYCFLAGS) -c seq2regtable.c
443
444 regtable2seq.o : regtable2seq.c $(HEADER)
445         $(CC) $(MYCFLAGS) -c regtable2seq.c
446
447 f2cl.o : f2cl.c $(HEADER)
448         $(CC) $(MYCFLAGS) -c f2cl.c
449
450 setdirection.o : setdirection.c $(HEADER)
451         $(CC) $(MYCFLAGS) -c setdirection.c
452
453 replaceu.o : replaceu.c $(HEADER)
454         $(CC) $(MYCFLAGS) -c replaceu.c
455
456 restoreu.o : restoreu.c $(HEADER)
457         $(CC) $(MYCFLAGS) -c restoreu.c
458
459 mccaskillwrap.o : mccaskillwrap.c $(HEADER)
460         $(CC) $(MYCFLAGS) -c mccaskillwrap.c
461
462 contrafoldwrap.o : contrafoldwrap.c $(HEADER)
463         $(CC) $(MYCFLAGS) -c contrafoldwrap.c
464
465 pairlocalalign.o : pairlocalalign.c $(HEADER) $(FFTHEADER)
466         $(CC) $(MYCFLAGS) -c pairlocalalign.c
467
468 pairlocalalignmain.o : pairlocalalignmain.c $(HEADER) $(FFTHEADER)
469         $(CC) $(MYCFLAGS) -c pairlocalalignmain.c
470
471 pairash.o : pairash.c $(HEADER) $(FFTHEADER)
472         $(CC) $(MYCFLAGS) -c pairash.c
473
474 multi2hat3s.o : multi2hat3s.c $(HEADER) $(FFTHEADER)
475         $(CC) $(MYCFLAGS) -c multi2hat3s.c
476
477 io.o : io.c $(HEADER) $(FFTHEADER)
478         $(CC) $(MYCFLAGS) -c io.c
479
480 nj.o : nj.c $(HEADER)
481         $(CC) $(MYCFLAGS) -c nj.c
482
483 treeOperation.o : treeOperation.c $(HEADER)
484         $(CC) $(MYCFLAGS) -c treeOperation.c
485
486 sextet5.o : sextet5.c $(HEADER) $(MTXHEADER)
487         $(CC) $(MYCFLAGS) -c sextet5.c
488
489 mafft-distance.o : mafft-distance.c $(HEADER) $(MTXHEADER)
490         $(CC) $(MYCFLAGS) -c mafft-distance.c
491
492 triplet5.o : triplet5.c $(HEADER) $(MTXHEADER)
493         $(CC) $(MYCFLAGS) -c triplet5.c
494
495 triplet6.o : triplet6.c $(HEADER) $(MTXHEADER)
496         $(CC) $(MYCFLAGS) -c triplet6.c
497
498 fft.o : fft.c $(HEADER) $(FFTHEADER)
499         $(CC) $(MYCFLAGS) -c fft.c 
500
501 fftFunctions.o : fftFunctions.c $(HEADER) $(FFTHEADER)
502         $(CC) $(MYCFLAGS) -c fftFunctions.c
503
504 Falign.o : Falign.c $(HEADER) $(FFTHEADER) $(MTXHEADER)
505         $(CC) $(MYCFLAGS) -c Falign.c
506
507 Falign_localhom.o : Falign_localhom.c $(HEADER) $(FFTHEADER) $(MTXHEADER)
508         $(CC) $(MYCFLAGS) -c Falign_localhom.c
509
510 mtxutl.o : mtxutl.c 
511         $(CC) $(MYCFLAGS) -c mtxutl.c
512
513 addfunctions.o : addfunctions.c $(HEADER)
514         $(CC) $(MYCFLAGS) -c addfunctions.c
515
516 score.o : score.c $(HEADER)
517         $(CC) $(MYCFLAGS) -c score.c
518
519 clean :
520         rm -f *.o *.a *.exe *~ $(PERLPROGS) $(PROGS) $(SCRIPTS) $(SOS) $(DYLIBS) $(DLLS) *.gcda *.gcno
521 #       rm -f ../binaries/* ../scripts/*
522
523 install : all
524         mkdir -p $(DESTDIR)$(LIBDIR)
525         chmod 755 $(DESTDIR)$(LIBDIR)
526         mkdir -p $(DESTDIR)$(BINDIR)
527         chmod 755 $(DESTDIR)$(BINDIR)
528         chmod 755 $(SCRIPTS)
529         $(INSTALL) $(SCRIPTS)  $(DESTDIR)$(BINDIR)
530         chmod 755 $(PROGS) ||:     # in MinGW, it's ok if this fails
531         $(INSTALL) -s $(PROGS) $(DESTDIR)$(LIBDIR)
532         $(INSTALL) $(PERLPROGS) $(DESTDIR)$(LIBDIR)
533         $(INSTALL) -m 644 $(MANPAGES) $(DESTDIR)$(LIBDIR)
534
535         ( cd $(DESTDIR)$(BINDIR); \
536 rm -f linsi ginsi einsi fftns fftnsi nwns nwnsi xinsi qinsi; \
537 rm -f mafft-linsi mafft-ginsi mafft-einsi mafft-fftns mafft-fftnsi mafft-nwns mafft-nwnsi mafft-xinsi mafft-qinsi mafft-randomcore.rb ; \
538 ln -s mafft linsi; ln -s mafft ginsi; ln -s mafft fftns; \
539 ln -s mafft fftnsi; ln -s mafft nwns; ln -s mafft nwnsi; \
540 ln -s mafft einsi; \
541 ln -s mafft mafft-linsi; ln -s mafft mafft-ginsi; ln -s mafft mafft-fftns; \
542 ln -s mafft mafft-fftnsi; ln -s mafft mafft-nwns; ln -s mafft mafft-nwnsi; \
543 ln -s mafft mafft-einsi; ln -s mafft mafft-xinsi; ln -s mafft mafft-qinsi;\
544 rm -f mafft-profile mafft-profile.exe; ln -s $(LIBDIR)/mafft-profile .; \
545 rm -f mafft-distance mafft-distance.exe; ln -s $(LIBDIR)/mafft-distance . )
546
547         mkdir -p $(DESTDIR)$(MANDIR)
548         chmod 755 $(DESTDIR)$(MANDIR)
549         $(INSTALL) -m 644 $(MANPAGES) $(DESTDIR)$(MANDIR)
550 # remove incorrectly installed manpages by previous versions
551 #       rm -f /usr/local/man/man1/mafft.1 /usr/local/man/man1/mafft-homologs.1