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