root/tags/arb_beta_20011107/Makefile

Revision 353, 23.9 KB (checked in by anonymous, 11 years ago)

This commit was manufactured by cvs2svn to create tag
'arb_beta_20011107'.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1
2#********************* Start of user defined Section
3
4# To setup your computer, change file config.makefile first
5
6
7#       set ARBHOME to this directory
8ARBHOME = `pwd`
9
10#       disable all lib dirs
11LD_LIBRARY_PATH = ${SYSTEM_LD_LIBRARY_PATH}:$(ARBHOME)/LIBLINK:$(ARBHOME)/lib
12
13# get the machine type
14include config.makefile
15
16#********************* Default set and gcc static enviroments *****************
17
18FORCEMASK = umask 002
19
20#---------------------- Some compiler-specific defaults
21
22ifdef ECGS
23dflag1 = -ggdb3
24enumequiv =
25havebool = -DHAVE_BOOL
26else
27dflag1 = -g
28enumequiv = -fenum-int-equiv
29havebool =
30endif
31
32#----------------------
33
34ifdef DEBUG
35   dflags = -DDEBUG
36   cflags = $(dflag1) $(dflags)
37   lflags = $(dflag1)
38   fflags = $(dflag1) -C
39else
40   dflags = -DNDEBUG
41   cflags = -O $(dflags)
42   lflags = -O
43   fflags = -O
44endif
45
46   XHOME = /usr/X11
47
48   GMAKE = gmake -r
49   CPP = g++ -Wall $(enumequiv) -D$(MACH) $(havebool) -pipe#            # C++ Compiler /Linker
50   PP = cpp
51   ACC = gcc -Wall -fenum-int-equiv -D$(MACH) -pipe#                            # Ansi C
52   CCLIB = $(ACC)#                      # Ansii C. for shared libraries
53   CCPLIB = $(CPP)#                     # Same for c++
54   AR = ld -r -o#                       # Archive Linker
55   ARLIB = ld -r -o#                    # The same for shared libs.
56   XAR = $(AR)#                         # Linker for archives containing templates
57   MAKEDEPEND = $(FORCEMASK);makedepend $(dflags)
58   SHARED_LIB_SUFFIX = so#              # shared lib suffix
59   F77 = f77
60
61   CTAGS = etags
62   CLEAN_BEFORE_MAKE = # make clean before all (needed because of bug in Sun CC with templates)
63   XMKMF =      /usr/bin/X11/xmkmf
64
65ifdef SEER
66    SEERLIB = SEER/SEER.a
67else
68    SEERLIB =
69endif
70
71#********************* Linux and gcc enviroments *****************
72ifdef LINUX
73
74   LINUX_SPECIALS = -DNO_REGEXPR
75   SITE_DEPENDEND_TARGETS = perl
76   CPP := $(CPP) $(LINUX_SPECIALS) -Wunused
77   ACC := $(ACC) $(LINUX_SPECIALS)
78   CCLIB = $(ACC) -fpic
79   CCPLIB = $(CPP) -fpic        #                       # Same for c++
80   f77_flags = $(fflags) -W -N9 -e
81   F77LIB = -lU77
82
83   ARCPPLIB = g++ -Wall -shared $(LINUX_SPECIALS) -o
84   ARLIB = gcc -Wall -shared $(LINUX_SPECIALS) -o
85   GMAKE = make -j 3 -r
86   SYSLIBS = -lm
87ifndef DEBIAN
88   XINCLUDES = -I/usr/X11/include -I/usr/X11/include/Xm -I/usr/openwin/include
89   XLIBS = -lXm -lXpm -lXp -lXt -lXext -lX11 -L$(XHOME)/lib $(SYSLIBS) -lc
90else
91   XINCLUDES = -I/usr/X11R6/include
92   XLIBS = -L/usr/X11R6/lib -lXm -lXpm -lXp -lXt -lXext -lX11 -L$(XHOME)/lib $(SYSLIBS) -lc
93endif
94
95   OWLIBS =  -L${OPENWINHOME}/lib -lxview -lolgx -L$(XHOME)/lib -lX11 $(SYSLIBS) -lc
96   PERLBIN = /usr/bin
97   PERLLIB = /usr/lib
98   CRYPTLIB = -L/usr/lib -lcrypt
99
100endif
101
102#********************* SUN4 && acc CC enviroments *****************
103#********************* SUN4 dynamic libraries libC *****************
104
105ifdef SUN4
106   SITE_DEPENDEND_TARGETS = perl
107   ARLIB =      ld -assert pure-text -o
108   CPP = CC -D$(MACH) -DNO_REGEXPR
109   PP = cc -D$(MACH) -E
110   ACC = acc -D$(MACH) -DNO_REGEXPR
111   CCPLIB = $(CPP) -pic
112   CCLIB = $(ACC) -pic
113
114   XMKMF =      /usr/openwin/bin/xmkmf
115   SHARED_LIB_SUFFIX = so.2.0
116
117   XINCLUDES = -I$(XHOME)/include -I$(OPENWINHOME)/include
118
119   STATIC = -Bstatic
120   DYNAMIC = -Bdynamic
121   MOTIFLIB =  -lXm
122   SYSLIBS = -lm
123   XLIBS =  -L$(XHOME)/lib $(MOTIFLIB) -lXt -lX11 $(SYSLIBS) $(CCPLIBS)
124   OWLIBS =  -L$(OPENWINHOME)/lib -lxview -lolgx -lX11 $(SYSLIBS)
125
126endif
127
128
129#********************* SUN5  CC enviroments  *****************
130#********************* SUN5  ****
131ifdef SUN5
132   SITE_DEPENDEND_TARGETS = perl
133   #AR = $(FORCEMASK);ld -r -o#                 # Archive Linker
134   AR = $(FORCEMASK);CC -xar -o#
135   XAR = $(FORCEMASK);CC -xar -o#
136   ARLIB = $(FORCEMASK);ld -G -o#
137
138ifdef SUN_WS_50
139   FAKE_VIRTUAL_TABLE_POINTER = -DFAKE_VIRTUAL_TABLE_POINTER=char # fake pointer to virtual table at start of structs (when passing classes to C)
140   havebool = -DHAVE_BOOL
141
142   SUN_ACC_FLAGS = -errtags=yes -erroff=E_MODIFY_TYPEDEF_IGNORED $(havebool) $(FAKE_VIRTUAL_TABLE_POINTER)
143   SUN_CPP_FLAGS = +w2 $(havebool) $(FAKE_VIRTUAL_TABLE_POINTER)
144   AR = ld -r -o#
145   ARLIB = CC -G -o#
146else
147   SUN_ACC_FLAGS =
148   SUN_CPP_FLAGS = +w2
149endif
150
151   ACC = $(FORCEMASK);cc -D$(MACH) $(SUN_ACC_FLAGS)
152   CPP = $(FORCEMASK);CC -D$(MACH) $(SUN_CPP_FLAGS)
153   PP = $(FORCEMASK);cc -D$(MACH) -E
154   CCLIB = cc -D$(MACH) $(SUN_ACC_FLAGS) -Kpic
155   CCPLIB = CC -D$(MACH) $(SUN_CPP_FLAGS) -PIC
156
157   XHOME = /usr/dt
158   XMKMF =      /usr/openwin/bin/xmkmf
159   f77_flags = $(fflags) -e -silent
160   F77LIB = -nolib -Bstatic -lF77 -lsunmath -Bdynamic -lm -lc
161
162   XINCLUDES = -I$(XHOME)/include -I$(OPENWINHOME)/include
163   STATIC = -Bstatic
164   DYNAMIC = -Bdynamic
165
166   SYSLIBS = -lm -lsocket -lnsl -lgen -lposix4
167   XLIBS =  -L$(OPENWINHOME)/lib -L$(XHOME)/lib -lXm -lXt -lX11 $(SYSLIBS)
168   OWLIBS =  -L$(OPENWINHOME)/lib -lxview -lolgx -lX11 -L/usr/ucblib -lucb $(SYSLIBS)
169   CTAGS = etags
170   CLEAN_BEFORE_MAKE = $(MAKE) clean# rebuild templates! (needed because of bug in Sun CC)
171
172ifdef DEBUG
173        MAKE_RTC = rtc_patch
174        RTC = -lRTC8M
175endif
176endif
177
178
179#********************* HP and CC/cc enviroments (dynamic) *****************
180
181ifdef HPCC
182   ARLIB =      ld -b -o
183   HPSPECIALS = -D$(MACH) -DNO_REGEXPR -DNO_INLINE
184   XMKMF = /usr/local/bin/X11/xmkmf
185   NOTEMPLATES = 1
186
187   CPP = LDOPTS='+s'; export LDOPTS;CC $(HPSPECIALS)
188   ACC = LDOPTS='+s'; export LDOPTS;cc $(HPSPECIALS) -Ae
189
190   CCPLIB = $(CPP) +z
191   CCLIB = $(ACC) +z
192
193   SYSLIBS = -codelibs -lm
194   SHARED_LIB_SUFFIX = sl
195
196   XINCLUDES = -I/usr/include/X11R5 -I/usr/include/Motif1.2
197   XLIBS = -L/usr/lib/X11R5 -L/usr/lib/Motif1.2  -lXm -lXt -lX11 $(SYSLIBS)
198endif
199
200#********************* HP and CC/cc enviroments (dynamic) *****************
201
202ifdef DIGITAL
203   ARLIB =      ld -r -g -o
204   DIGSPECIALS = -D$(MACH) -DNO_REGEXPR
205   CPP = cxx -w0 -x cxx $(DIGSPECIALS)
206   ACC = cc -w0 $(DIGSPECIALS)
207
208   CCPLIB = $(CPP)
209   CCLIB = $(ACC)
210
211   SHARED_LIB_SUFFIX = so
212   SYSLIBS =
213
214   STATIC = -non_shared
215   DYNAMIC =
216
217   XINCLUDES =
218   SYSLIBS = -lm
219   XLIBS =  -lXm -lXt -lX11 $(SYSLIBS)
220endif
221
222#********************* SGI and CC/cc enviroments (dynamic) *****************
223
224ifdef SGI
225   ARLIB =      CC -D$(MACH) -shared -o
226   SGISPECIALS  = -DNO_REGEXPR
227   CPP =        CC -D$(MACH) $(SGISPECIALS)
228   ACC =        cc -w -D$(MACH) $(SGISPECIALS)
229   XMKMF =      /usr/bin/X11/xmkmf
230   CCPLIB = $(CPP)
231   CCLIB = $(ACC)
232   XINCLUDES =
233   SYSLIBS = -lm
234   XLIBS = -lXm -lXt -lX11 $(SYSLIBS)
235endif
236
237#********************* Main dependences *******************
238ifndef ARCPPLIB
239        ARCPPLIB = $(ARLIB)
240endif
241
242dummy:
243        @echo 'Please choose a Makefile option:'
244        @echo ' arb                 - Just compile ARB'
245        @echo ' perl            - Compile the PERL XSUBS into lib/ARB.so  and create links in lib to perl'
246        @echo ' binlink         - Create all links in the bin directory'
247        @echo ' all                 - Compile ARB + TOOLs + and copy shared libs + link foreign software'
248        @echo ' tarfile         - make all and create "arb.tar.gz"'
249        @echo ' tarale          - compress emacs and ale lisp files int arb_ale.tar.gz'
250        @echo ' save            - save all basic ARB sources into arbsrc_DATE'
251        @echo ' savedepot       - save all extended ARB source (DEPOT2 subdir) into arbdepot_DATE.cpio.gz'
252        @echo ' clean           - remove intermediate files'
253        @echo ' realclean       - remove all generated files'
254        @echo ' rmbak           - remove all "*%" and cores'
255        @echo ' tags            - create tags for xemacs'
256        @echo ' depend          - create dependencies                   (not recommended)'
257        @echo ' XXX/.depend     - create dependencies in dir XXX        (recommended)'
258        @echo ' rtc_patch       - create LIBLINK/libRTC8M.so (SOLARIS ONLY'
259        @echo ' menus           - create GDEHELP/ARB_GDEmenus from GDEHELP/ARB_GDEmenus.source'
260        @echo ' export          - make tarfile and export to homepage'
261
262#********************* End of user defined Section *******************
263
264
265
266
267DIR = $(ARBHOME)
268LIBS = -lAW -lARBDB $(RTC) $(XLIBS)
269LIBPATH = -LLIBLINK
270
271DEST_LIB = lib
272DEST_BIN = bin
273
274AINCLUDES =     -I. -I$(DIR)/INCLUDE $(XINCLUDES)
275CPPINCLUDES =   -I. -I$(DIR)/INCLUDE $(XINCLUDES)
276MAKEDEPENDINC = -I. -I$(DIR)/DUMMYINC -I$(DIR)/INCLUDE
277
278#*****          List of all Directories
279ARCHS = \
280                        SEER/SEER.a \
281                        CONSENSUS_TREE/CONSENSUS_TREE.a \
282                        AISC/dummy.a AISC_MKPTPS/dummy.a \
283                        PROBE_COM/server.a \
284                        NAMES_COM/server.a \
285                        ORS_COM/server.a \
286                        ORS_SERVER/ORS_SERVER.a ORS_CGI/ORS_CGI.a \
287                        ARBDB/libARBDB.a \
288                        ARBDBS/libARBDB.a ARBDBPP/libARBDBPP.a \
289                        ARBDB2/libARBDB.a \
290                        ARBDB_COMPRESS/ARBDB_COMPRESS.a \
291                        AWT/libAWT.a WINDOW/libAW.a \
292                        EDIT/EDIT.a  STAT/STAT.a \
293                        PROBE/PROBE.a GDE/GDE.a CONVERTALN/CONVERTALN.a \
294                        NALIGNER/NALIGNER.a \
295                        SERVERCNTRL/SERVERCNTRL.a DIST/DIST.a \
296                        PHYLO/PHYLO.a MERGE/MERGE.a \
297                        DBSERVER/DBSERVER.a NAMES/NAMES.a \
298                        PROBE_DESIGN/PROBE_DESIGN.a \
299                        PROBE_GROUP/PROBE_GROUP.a \
300                        CHIP/CHIP.a \
301                        PRIMER_DESIGN/PRIMER_DESIGN.a \
302                        AWTC/AWTC.a AWTI/AWTI.a AWDEMO/AWDEMO.a NTREE/NTREE.a \
303                        ARB_GDE/ARB_GDE.a  ALIV3/ALIV3.a \
304                        PARSIMONY/PARSIMONY.a TOOLS/TOOLS.a READSEQ/READSEQ.a \
305                        SECEDIT/SECEDIT.a ALEIO/.a \
306                        TEST/TEST.a WETC/WETC.a CAT/CAT.a TRS/TRS.a \
307                        EDIT4/EDIT4.a MULTI_PROBE/MULTI_PROBE.a EISPACK/EISPACK.a \
308                        GENOM/GENOM.a XML/XML.a
309
310ARCHS_CLIENTACC = PROBE_COM/client.a
311ARCHS_CLIENTCPP = NAMES_COM/client.a
312ARCHS_CLIENT = $(ARCHS_CLIENTCPP)
313ARCHS_MAKEBIN =         AISC_MKPTPS/dummy.a AISC/dummy.a
314
315ARCHS_COMMUNICATION =   NAMES_COM/server.a\
316                        PROBE_COM/server.a\
317                        ORS_COM/server.a
318
319# communication libs need aisc and aisc_mkpts:
320$(ARCHS_COMMUNICATION:.a=.dummy) : $(ARCHS_MAKEBIN:.a=.dummy)
321
322#***************************************************************************************
323#               Individual Programs Section
324#***************************************************************************************
325
326#***********************************    arb_ntree **************************************
327NTREE = bin/arb_ntree
328ARCHS_NTREE = NAMES_COM/server.a $(ARCHS_CLIENTACC) NTREE/NTREE.a STAT/STAT.a MULTI_PROBE/MULTI_PROBE.a \
329        ARB_GDE/ARB_GDE.a PROBE_DESIGN/PROBE_DESIGN.a \
330        AWTC/AWTC.a AWTI/AWTI.a SERVERCNTRL/SERVERCNTRL.a MERGE/MERGE.a CAT/CAT.a $(SEERLIB) \
331        GENOM/GENOM.a PRIMER_DESIGN/PRIMER_DESIGN.a XML/XML.a
332$(NTREE): $(ARCHS_NTREE) aw db
333        $(CPP) $(lflags) -o $@ $(LIBPATH) \
334                NTREE/NTREE.a STAT/STAT.a PROBE_DESIGN/PROBE_DESIGN.a MULTI_PROBE/MULTI_PROBE.a CAT/CAT.a \
335                AWTC/AWTC.a AWTI/AWTI.a ARB_GDE/ARB_GDE.a MERGE/MERGE.a SERVERCNTRL/SERVERCNTRL.a $(SEERLIB) GENOM/GENOM.a \
336                PRIMER_DESIGN/PRIMER_DESIGN.a XML/XML.a \
337                $(ARCHS_CLIENTACC) -lAWT $(LIBS)
338
339#***********************************    arb_edit **************************************
340EDIT = bin/arb_edit
341ARCHS_EDIT = EDIT/EDIT.a ARB_GDE/ARB_GDE.a STAT/STAT.a
342$(EDIT): $(ARCHS_EDIT)
343        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_EDIT) -lAWT -lARBDBPP $(LIBS)
344
345#***********************************    arb_edit4 **************************************
346EDIT4 = bin/arb_edit4
347ARCHS_EDIT4 = NAMES_COM/client.a AWTC/AWTC.a EDIT4/EDIT4.a SECEDIT/SECEDIT.a \
348        SERVERCNTRL/SERVERCNTRL.a STAT/STAT.a ARB_GDE/ARB_GDE.a
349$(EDIT4): $(ARCHS_EDIT4) aw db
350        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_EDIT4) -lAWT $(LIBS)
351
352#***********************************    arb_wetc **************************************
353WETC = bin/arb_wetc
354ARCHS_WETC = WETC/WETC.a
355$(WETC): $(ARCHS_WETC)
356        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_WETC) -lAWT $(LIBS)
357
358#***********************************    arb_dist **************************************
359DIST = bin/arb_dist
360ARCHS_DIST = DIST/DIST.a SERVERCNTRL/SERVERCNTRL.a CONSENSUS_TREE/CONSENSUS_TREE.a \
361                EISPACK/EISPACK.a
362#               FINDCORRWIN/FINDCORRWIN.a FINDCORRMATH/FINDCORRMATH.a
363$(DIST): $(ARCHS_DIST)
364        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_DIST) $(ARCHS_CLIENT) -lAWT $(LIBS)
365
366#***********************************    arb_pars **************************************
367PARSIMONY =             bin/arb_pars
368ARCHS_PARSIMONY =       PARSIMONY/PARSIMONY.a
369$(PARSIMONY): $(ARCHS_PARSIMONY)
370        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_PARSIMONY) -lAWT $(LIBS)
371
372
373#***********************************    arb_naligner **************************************
374NALIGNER = bin/arb_naligner
375ARCHS_NALIGNER = PROBE_COM/server.a NALIGNER/NALIGNER.a SERVERCNTRL/SERVERCNTRL.a
376$(NALIGNER): $(ARCHS_NALIGNER)
377        cp NALIGNER/NALIGNER.com $@
378# no LIB_NALIGNER defined: see NALIGNER/Makefile
379
380#***********************************    arb_secedit **************************************
381SECEDIT = bin/arb_secedit
382ARCHS_SECEDIT = SECEDIT/SECEDIT.a
383$(SECEDIT):     $(ARCHS_SECEDIT)
384        $(CPP) $(cflags) -o $@ $(LIBPATH) $(ARCHS_SECEDIT) -lAWT $(LIBS)
385
386
387#***********************************    arb_probe_group **************************************
388PROBE_GROUP = bin/arb_probe_group
389ARCHS_PROBE_GROUP = SERVERCNTRL/SERVERCNTRL.a $(ARCHS_CLIENTACC) PROBE_GROUP/PROBE_GROUP.a
390$(PROBE_GROUP): $(ARCHS_PROBE_GROUP) PROBE_COM/server.a PROBE/PROBE.a
391        $(CPP) $(cflags) -o $@ $(LIBPATH) $(ARCHS_PROBE_GROUP) $(LIBS)
392
393#***********************************    chip **************************************
394CHIP = bin/chip
395ARCHS_CHIP = SERVERCNTRL/SERVERCNTRL.a $(ARCHS_CLIENTACC) CHIP/CHIP.a
396$(CHIP):        $(ARCHS_CHIP) PROBE_COM/server.a PROBE/PROBE.a
397        $(CPP) $(cflags) -o $@ $(LIBPATH) $(ARCHS_CHIP) $(LIBS)
398
399#***********************************    arb_phylo **************************************
400PHYLO = bin/arb_phylo
401ARCHS_PHYLO = PHYLO/PHYLO.a
402$(PHYLO): $(ARCHS_PHYLO)
403        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_PHYLO) -lAWT $(LIBS)
404
405
406#***************************************************************************************
407#                                       SERVER SECTION
408#***************************************************************************************
409
410#***********************************    arb_db_server **************************************
411DBSERVER = bin/arb_db_server
412ARCHS_DBSERVER = DBSERVER/DBSERVER.a SERVERCNTRL/SERVERCNTRL.a
413$(DBSERVER): $(ARCHS_DBSERVER)
414        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_DBSERVER) -lARBDB $(SYSLIBS)
415
416#***********************************    arb_pt_server **************************************
417PROBE = bin/arb_pt_server
418ARCHS_PROBE = PROBE_COM/server.a PROBE/PROBE.a SERVERCNTRL/SERVERCNTRL.a
419$(PROBE): $(ARCHS_PROBE)
420        $(CPP) $(lflags) -o $@ $(LIBPATH) PROBE/PROBE.a PROBE_COM/server.a \
421                        SERVERCNTRL/SERVERCNTRL.a PROBE_COM/client.a $(STATIC) -lARBDB $(CCPLIBS) $(DYNAMIC) $(SYSLIBS)
422
423#***********************************    arb_name_server **************************************
424NAMES = bin/arb_name_server
425ARCHS_NAMES = NAMES_COM/server.a NAMES/NAMES.a SERVERCNTRL/SERVERCNTRL.a
426$(NAMES): $(ARCHS_NAMES)
427        $(CPP) $(lflags) -o $@ $(LIBPATH) NAMES/NAMES.a SERVERCNTRL/SERVERCNTRL.a NAMES_COM/server.a NAMES_COM/client.a -lARBDB $(SYSLIBS) $(CCPLIBS)
428
429#***********************************    ors **************************************
430ORS_SERVER = tb/ors_server
431ARCHS_ORS_SERVER = ORS_COM/server.a ORS_SERVER/ORS_SERVER.a SERVERCNTRL/SERVERCNTRL.a
432$(ORS_SERVER): $(ARCHS_ORS_SERVER)
433        $(CPP) $(lflags) -o $@ $(LIBPATH) ORS_SERVER/ORS_SERVER.a SERVERCNTRL/SERVERCNTRL.a ORS_COM/server.a ORS_COM/client.a $(STATIC) -lARBDB $(DYNAMIC) $(SYSLIBS) $(CCPLIBS) $(CRYPTLIB)
434
435ORS_CGI = tb/ors_cgi
436ARCHS_ORS_CGI = ORS_COM/server.a ORS_CGI/ORS_CGI.a SERVERCNTRL/SERVERCNTRL.a
437$(ORS_CGI): $(ARCHS_ORS_CGI)
438        $(CPP) $(lflags) -o $@ $(LIBPATH) ORS_CGI/ORS_CGI.a SERVERCNTRL/SERVERCNTRL.a ORS_COM/client.a $(STATIC) -lARBDB $(DYNAMIC) $(SYSLIBS) $(CCPLIBS)
439
440
441EDITDB = tb/editDB
442ARCHS_EDITDB = EDITDB/EDITDB.a
443$(EDITDB): $(ARCHS_EDITDB)
444        $(CPP) $(lflags) -o $@ $(ARCHS_EDITDB) -lARBDB -lAWT $(LIBS)
445
446
447#***********************************    TEST SECTION  **************************************
448AWDEMO = tb/awdemo
449ARCHS_AWDEMO = AWDEMO/AWDEMO.a
450$(AWDEMO): $(ARCHS_AWDEMO)
451        $(CPP) $(lflags) -o $@ $(ARCHS_AWDEMO) $(LIBS)
452
453TEST = tb/dbtest
454ARCHS_TEST = TEST/TEST.a
455$(TEST):        $(ARCHS_TEST)
456        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_TEST)  -lAWT $(LIBS)
457
458ALIV3 = tb/aliv3
459ARCHS_ALIV3 = PROBE_COM/server.a ALIV3/ALIV3.a SERVERCNTRL/SERVERCNTRL.a
460$(ALIV3): $(ARCHS_ALIV3)
461        $(CPP) $(lflags) -o $@ $(LIBPATH) ALIV3/ALIV3.a SERVERCNTRL/SERVERCNTRL.a PROBE_COM/client.a -lARBDB $(SYSLIBS) $(CCPLIBS)
462
463
464ACORR = tb/acorr
465ARCHS_ACORR =   DIST/DIST.a SERVERCNTRL/SERVERCNTRL.a FINDCORRASC/FINDCORRASC.a FINDCORRMATH/FINDCORRMATH.a FINDCORRWIN/FINDCORRWIN.a
466$(ACORR): $(ARCHS_ACORR)
467        $(CPP) $(lflags) -o $@ $(LIBPATH) $(ARCHS_ACORR) $(ARCHS_CLIENT) -lAWT -lARBDBPP $(LIBS)
468
469
470
471ARBDB_COMPRESS = tb/arbdb_compress
472ARCHS_ARBDB_COMPRESS = ARBDB_COMPRESS/ARBDB_COMPRESS.a
473$(ARBDB_COMPRESS): $(ARCHS_ARBDB_COMPRESS)
474        $(CPP) $(lflags) -o $@ $(LIBPATH) ARBDB_COMPRESS/ARBDB_COMPRESS.a -lARBDB
475
476
477#***************************************************************************************
478#                       Rekursiv calls to submakefiles
479#***************************************************************************************
480:
481%.depend:
482        @$(GMAKE) -C $(@D) -r \
483                "LD_LIBRARY_PATH  = ${LD_LIBRARY_PATH}" \
484                "MAKEDEPENDINC = $(MAKEDEPENDINC)" \
485                "MAKEDEPEND=$(MAKEDEPEND)" depend;
486        @grep "^# DO NOT DELETE" $(@D)/Makefile >/dev/null && cat $(@D)/Makefile \
487                | sed   -e "s/\/[^      ]*\/DUMMYINC\/[^        ]*\.h//g" \
488                        -e "s/\/usr\/[^         ]*\.h//g" \
489                        -e "s/\/[^      ]*\/INCLUDE/\\\$$(ARBHOME)\/INCLUDE/g" \
490                >$(@D)/Makefile.2 && \
491                mv $(@D)/Makefile.2 $(@D)/Makefile || echo nop
492
493%.dummy:
494        @echo -------------------------------------------------------------------------------- Making $(@F:.dummy=.a) in $(@D)
495        @$(GMAKE) -C $(@D) -r \
496                "GMAKE = $(GMAKE)" \
497                "ARBHOME = $(ARBHOME)" "cflags = $(cflags) -D_ARB_$(@D:/=)" "lflags = $(lflags)" \
498                "CPPINCLUDES = $(CPPINCLUDES)" "AINCLUDES = $(AINCLUDES)" \
499                "F77 = $(F77)" "f77_flags = $(f77_flags)" "F77LIB = $(F77LIB)" \
500                "CPP = $(CPP)" "ACC = $(ACC)" \
501                "CCLIB = $(CCLIB)" "CCPLIB = $(CCPLIB)" "CCPLIBS = $(CCPLIBS)" \
502                "AR = $(AR)" "XAR = $(XAR)" "ARLIB = $(ARLIB)" "ARCPPLIB = $(ARCPPLIB)" \
503                "LIBPATH = $(LIBPATH)" "SYSLIBS = $(SYSLIBS)" \
504                "XHOME = $(XHOME)" "STATIC = $(STATIC)"\
505                "SHARED_LIB_SUFFIX = $(SHARED_LIB_SUFFIX)" \
506                "LD_LIBRARY_PATH  = $(LD_LIBRARY_PATH)" \
507                "CLEAN_BEFORE_MAKE  = $(CLEAN_BEFORE_MAKE)" \
508                "MAIN = $(@F:.dummy=.a)"
509
510
511#***************************************************************************************
512#                       Short aliases to make targets
513#***************************************************************************************
514
515mbin:   $(ARCHS_MAKEBIN:.a=.dummy)
516
517com:    $(ARCHS_COMMUNICATION:.a=.dummy)
518
519dball: db dbs db2
520db:             ARBDB/libARBDB.dummy
521dbs:    ARBDBS/libARBDB.dummy
522db2:    ARBDB2/libARBDB.dummy
523dp:             ARBDBPP/libARBDBPP.dummy
524aw:             WINDOW/libAW.dummy
525awt:    AWT/libAWT.dummy
526awtc:   AWTC/AWTC.dummy
527awti:   AWTI/AWTI.dummy
528
529mp:     MULTI_PROBE/MULTI_PROBE.dummy
530ge:     GENOM/GENOM.dummy
531prd:    PRIMER_DESIGN/PRIMER_DESIGN.dummy
532
533nt:             $(ARCHS_NTREE:.a=.dummy)        $(NTREE)
534ed:             $(ARCHS_EDIT:.a=.dummy)         $(EDIT)
535
536al:             $(ARCHS_ALIGNER:.a=.dummy)      $(ALIGNER)
537nal:    $(ARCHS_NALIGNER:.a=.dummy)     $(NALIGNER)
538a3:             $(ARCHS_ALIV3:.a=.dummy)        $(ALIV3)
539
540di:             $(ARCHS_DIST:.a=.dummy)         $(DIST)
541ph:             $(ARCHS_PHYLO:.a=.dummy)        $(PHYLO)
542pa:             $(ARCHS_PARSIMONY:.a=.dummy)    $(PARSIMONY)
543se:             $(ARCHS_SECEDIT:.a=.dummy)      $(SECEDIT)
544acc:    $(ARCHS_ACORR:.a=.dummy)        $(ACORR)
545
546ds:             $(ARCHS_DBSERVER:.a=.dummy)     $(DBSERVER)
547pr:             $(ARCHS_PROBE:.a=.dummy)        $(PROBE)
548pg:             $(ARCHS_PROBE_GROUP:.a=.dummy)  $(PROBE_GROUP)
549chip:   $(ARCHS_CHIP:.a=.dummy) $(CHIP)
550pd:             PROBE_DESIGN/PROBE_DESIGN.dummy
551na:             $(ARCHS_NAMES:.a=.dummy)        $(NAMES)
552os:             $(ARCHS_ORS_SERVER:.a=.dummy)   $(ORS_SERVER)
553oc:             $(ARCHS_ORS_CGI:.a=.dummy)      $(ORS_CGI)
554
555ac:             $(ARCHS_ARBDB_COMPRESS:.a=.dummy)       $(ARBDB_COMPRESS)
556
557te:             $(ARCHS_TEST:.a=.dummy) $(TEST)
558sec:    $(ARCHS_SECEDIT:.a=.dummy)
559de:             $(ARCHS_AWDEMO:.a=.dummy)       $(AWDEMO)
560
561e4:             $(ARCHS_EDIT4:.a=.dummy) $(EDIT4)
562we:             $(ARCHS_WETC:.a=.dummy)         $(WETC)
563eb:             $(ARCHS_EDITDB:.a=.dummy)       $(EDITDB)
564
565xml:    XML/XML.dummy
566
567#********************************************************************************
568
569depend: $(ARCHS:.a=.depend)
570
571#********************************************************************************
572
573tags: tags_$(MACH)
574tags_LINUX: tags2
575tags_SUN5: tags1
576
577tags1:
578# first search class definitions
579                $(CTAGS)          --language=none "--regex=/^[ \t]*class[ \t]+\([^ \t]+\)/" `find . -name '*.[ch]xx' -type f`
580                $(CTAGS) --append --language=none "--regex=/\([^ \t]+\)::/" `find . -name '*.[ch]xx' -type f`
581# then append normal tags (headers first)
582                $(CTAGS) --append --members ARBDB/*.h `find . -name '*.[h]xx' -type f`
583                $(CTAGS) --append ARBDB/*.c `find . -name '*.[c]xx' -type f`
584
585# if the above tag creation does not work -> try tags2:
586tags2:
587                ctags    -e --c-types=cdt --sort=no `find . \( -name '*.[ch]xx' -o -name "*.[ch]" \) -type f | grep -v -i perl5`
588                ctags -a -e --c-types=f-tvx --sort=no `find . \( -name '*.[ch]xx' -o -name "*.[ch]" \) -type f | grep -v -i perl5`
589
590#********************************************************************************
591
592ifndef DEBIAN
593links: SOURCE_TOOLS/generate_all_links.stamp
594else
595links:
596        @echo ARB authors do some stuff with symlinks here.  This is not necessary with Debian.
597endif
598
599SOURCE_TOOLS/generate_all_links.stamp: SOURCE_TOOLS/generate_all_links.sh
600        -SOURCE_TOOLS/generate_all_links.sh
601        touch SOURCE_TOOLS/generate_all_links.stamp
602
603gde:            GDE/GDE.dummy
604agde:           ARB_GDE/ARB_GDE.dummy
605tools:          TOOLS/TOOLS.dummy
606nf77:           NIELS_F77/NIELS_F77.dummy
607trs:            TRS/TRS.dummy
608convert:        CONVERTALN/CONVERTALN.dummy
609readseq:        READSEQ/READSEQ.dummy
610aleio:          ALEIO/.dummy
611
612
613#***************************************************************************************
614#                       Some user commands
615#***************************************************************************************
616rtc_patch:
617        rtc_patch_area -so LIBLINK/libRTC8M.so
618
619menus:
620        $(GMAKE) -C GDEHELP -r "PP=$(PP)" all
621
622tarfile:        all
623        util/arb_compress
624tarfile_ignore:
625        util/arb_compress
626tarale:
627        util/arb_compress_emacs
628
629sourcetarfile:
630                util/arb_save
631
632export: tarfile sourcetarfile
633        util/arb_export /beta
634#       util/arb_export
635
636binlink:
637        (cd bin; $(MAKE) all);
638
639all:    arb libs gde tools readseq convert openwinprogs aleio binlink $(SITE_DEPENDEND_TARGETS)
640#       (cd LIBLINK; for i in *.s*; do if test -r $$i; then cp $$i  ../lib; fi; done )
641
642ifndef DEBIAN
643libs:   lib/libARBDB.$(SHARED_LIB_SUFFIX) \
644        lib/libARBDBPP.$(SHARED_LIB_SUFFIX) \
645        lib/libARBDO.$(SHARED_LIB_SUFFIX) \
646        lib/libAW.$(SHARED_LIB_SUFFIX) \
647        lib/libAWT.$(SHARED_LIB_SUFFIX) \
648        lib/libXm.so.2
649else
650libs:   lib/libARBDB.$(SHARED_LIB_SUFFIX) \
651        lib/libARBDBPP.$(SHARED_LIB_SUFFIX) \
652        lib/libARBDO.$(SHARED_LIB_SUFFIX) \
653        lib/libAW.$(SHARED_LIB_SUFFIX) \
654        lib/libAWT.$(SHARED_LIB_SUFFIX)
655endif
656
657lib/lib%.$(SHARED_LIB_SUFFIX): LIBLINK/lib%.$(SHARED_LIB_SUFFIX)
658        cp $< $@
659
660# the following lib is not provided with the source
661# you need to install Motif (NOT lesstif) and correct
662# MOTIF_LIBPATH
663
664MOTIF_LIBPATH=LIBLINK/libXm.so.2
665#MOTIF_LIBPATH=/usr/X11R6/lib/libXm.so.2
666
667lib/libXm.so.2:  $(MOTIF_LIBPATH)
668        cp $< $@
669
670bin/arb_%:      DEPOT2/%
671        cp $< $@
672bin/%:  DEPOT2/%
673        cp $< $@
674
675
676ifdef OPENWINHOME
677openwinprogs:   gde     $(DEST_BIN)/arb_gde
678else
679openwinprogs:
680endif
681
682perl:   lib/ARB.pm
683
684
685lib/ARB.pm:     ARBDB/ad_prot.h ARBDB/ad_t_prot.h
686ifdef PERLBIN
687        mkdir -p PERL5/bin
688        (cd PERL5/bin;ln -f -s ${PERLBIN}/perl .);
689endif
690        rm -f lib/perl5
691ifdef PERLLIB
692        (cd lib;ln -f -s ${PERLLIB}/perl5 .);
693else
694        (cd lib;ln -f -s ../PERL5/perl5 .);
695endif
696        rm -f PERL2ARB/ARB.xs
697        rm -f PERL2ARB/proto.h
698        cat ARBDB/ad_prot.h ARBDB/ad_t_prot.h >PERL2ARB/proto.h
699        LD_LIBRARY_PATH=${ARBHOME}/LIBLINK;export LD_LIBRARY_PATH;echo LD_LIBRARY_PATH=$$LD_LIBRARY_PATH;echo calling bin/arb_proto_2_xsub ...;bin/arb_proto_2_xsub PERL2ARB/proto.h PERL2ARB/ARB.xs.h >PERL2ARB/ARB.xs
700        PATH=/usr/arb/bin:${PATH};export PATH;cd PERL2ARB;echo calling perl ${MACH}.PL;perl -I ../lib/perl5 ${MACH}.PL;echo calling make;make
701#       PATH=/usr/arb/bin:${PATH};export PATH;cd PERL2ARB;echo calling perl ${MACH}.PL;perl ${MACH}.PL;echo calling make;make
702        cp PERL2ARB/blib/arch/auto/ARB/ARB.so lib
703        cp PERL2ARB/ARB.pm lib
704        echo Make lib/ARB.pm and lib/ARB.so finished.
705
706wc:
707        wc `find . -type f \( -name '*.[ch]' -o -name '*.[ch]xx' \) -print`
708
709rmbak:
710        find . \( -name '*%' -o -name '*.bak' -o -name 'core' \
711                -o -name 'infile' -o -name treefile -o -name outfile \
712                -o -name 'gde*_?' -o -name '*~' \) \
713        -print -exec rm {} \;
714        rm -f -r .test.?.er
715        rm -f checkpoint*
716        rm -f test.?.er
717
718bclean:         #binary clean
719        rm -f bin/arb_*
720        cd bin;make all
721
722clean:  rmbak
723        rm -f `find . -type f \( -name 'core' -o -name '*.o' -o -name '*.a' ! -type l \) -print`
724        rm -f *_COM/GENH/*.h
725        rm -f *_COM/GENC/*.c
726
727realclean: clean
728        rm -f `find bin -type f -perm -001 -print`
729        rm -f AISC/aisc
730        rm -f AISC_MKPTPS/aisc_mkpt
731
732#*** basic arb libraries
733arbbasic: links mbin menus com ${MAKE_RTC}
734
735#*** New arb programs (Version 2.0) (Motif)
736arbv2: db aw dp awt dbs nt pa ed e4 we pr pg na al di db2 ph ds trs
737arbv1: db aw dp awt dbs nt pa ed e4 we pr pg na al nal di db2 ph ds trs
738
739ifdef NOTEMPLATES
740arb: arbbasic arbv2
741else
742arb: arbbasic arbv1
743endif
744
745save:   rmbak
746        util/arb_save
747savedepot: rmbak
748        util/arb_save_depot
749# DO NOT DELETE
Note: See TracBrowser for help on using the browser.