1#	makefile for asntool and ncbi core routines,
2#
3#	$Id: makeall.unx,v 6.321 2016/12/31 22:35:10 ucko Exp $
4#
5#	cdromlib data access functions, vibrant, and entrez
6#	SunOS with unbundled ANSI compiler [ make LCL=acc RAN=ranlib CC=acc ]
7#	SunOS with Gnu C [ make LCL=gcc RAN=ranlib CC=gcc ]
8#	Sun with Solaris 2.x OS [ make LCL=sol CC="cc -Xa" OTHERLIBS="-lm"]
9#	Sun with Solaris 2.x OS using gcc [ make LCL=sol CC=gcc OTHERLIBS="-lm"]
10#	Silicon Graphics [ make LCL=sgi OTHERLIBS="-lm -lPW -lsun" ]
11#	IBM 3090 with AIX [ make LCL=370 ]
12#  IBM rs6000 with AIX [ make LCL=r6k CC=xlc ]
13#	ULTRIX [ make LCL=ult RAN=ranlib ]
14#	Apple AUX [ make LCL=aux SHELL=\usr\bin ]
15#	NeXt [ make LCL=nxt CFLAGS1="-c -ansi" RAN=ranlib ]
16#	DEC Alpha under OSF/1 version 4.x [ make LCL=alf CC=cc RAN=ranlib ]
17#	DEC Alpha under OSF/1 version 3.x [ make LCL=alf CC="cc -DNCBI_NOTHREADS_AVAIL" RAN=ranlib OTHERLIBS="-lc_r -lm"]
18#   BeOS [  make OTHERLIBS="" ]
19#
20#	see README for other supported systems
21#
22#	Subsequent makes should make ... nocopy instead of make ... all
23#	to avoid recopying the include files
24#
25#	To Make the Motif version of Vibrant libraries and add Vibrant front
26#	end to asntool, add:
27#	VIBLIBS="-lXm -lXmu -lXt -lX11" LIB4=libvibrant.a VIBFLAG="-I/am/Motif/include -DWIN_MOTIF"
28#	to the argument list.  Substitute the path to your Motif includes for
29#	/am/Motif/include.
30#
31#	Motif versions on Solaris 2.x are more complicated
32#
33#	make LCL=sol CC="cc -Xa"
34# VIBLIBS="-L/netopt/X11R5/lib -L/netopt/Motif1.2.2/lib -lXm -lXmu -lXt -lX11"
35# LIB4=libvibrant.a
36# VIBFLAG="-I/netopt/X11R5/include -I/netopt/Motif1.2.2/include -DWIN_MOTIF"
37# LIB20=libncbidesk.a
38#
39#   (this can be sourced from ncbi/make/viball.sol)
40#   again, you must set the paths to the Motif libs properly for your system
41#
42#   The build for RedHat Linux 2.XX with X11R6 requires:
43#     CC="gcc -ansi"
44#     VIBLIBS="-L/usr/X11R6/lib -lXm -lXpm -lXmu -lXp -lXt -lX11 -lXext"
45#
46#   NOTE: It is now possible to build using shared libraries, which
47#     consumes significantly less disk space.  To use shared libraries, try:
48#       make ... NCBI_SHLIBS=shlib NCBI_LINKINGLIBDIR=../shlib
49#	      NCBI_OTHERLINKOPTIONS=-R`pwd`/../shlib
50#
51#   NOTE: It is no longer necessary to manually delete portions of this
52#     makefile; this issue has been finessed by using the DLIBXX and TLIBXX
53#     (e.g. DLIB4 and TLIB4) symbols below.
54#
55
56# default flags for compiling and loading
57
58RM_LIB = rm -f
59SUFFIXLCL = $(LCL)
60CFLAGS1 = -c -O
61LDFLAGS1 = -O
62CC = cc
63RAN = ls -l
64AR=ar
65OTHERLIBS = -lm
66VIBLIBS = -lXft -lpng -ljpeg
67VIBFLAG =
68LIBCOPY = cp -p
69SRCCOPY = ./ln-if-absent
70BINCOPY = cp -p
71
72SUFFIXENV = unx
73ASNDIR = asnstat
74LIB1 = libncbi.a
75LIB1e = libncbiext.a
76LIBTLS = libconnssl.a
77LIB2 = libncbiobj.a
78LIB3 = libncbicdr.a
79ULIB4 = libvibrant.a
80LIB4 = $(ULIB4)
81LIB4 =
82ULIB400 = libvibrantOGL.a
83LIB400 = $(ULIB400)
84LIB400 =
85LIB5 = libncbiacc.a
86LIB6 = libnetcli.a
87LIB7 = libnetentr.a
88LIB8 = libncbiNacc.a
89LIB9 = libncbiCacc.a
90# LIB10 is reserved for ncsasock
91LIB10 =
92# LIB20 is for the NCBI desktop utilities
93ULIB20 = libncbidesk.a
94LIB20 = $(ULIB20)
95LIB20 =
96ULIB45 = libddvlib.a
97LIB45 = $(ULIB45)
98LIB45 =
99LIB22 = libncbimmdb.a
100LIB23 = libncbitool.a
101LIBCOMPADJ = libblastcompadj.a
102ULIB28 = libvibgif.a
103LIB28 = $(ULIB28)
104LIB28 =
105ULIB30 = libncbicn3d.a
106LIB30 = $(ULIB30)
107LIB30 =
108ULIB3000 = libncbicn3dOGL.a
109LIB3000 = $(ULIB3000)
110LIB3000 =
111ULIB34 = libncbiindx.a
112LIB34= $(ULIB34)
113LIB34 =
114ULIB37 = libncbiprs.a
115LIB37= $(ULIB37)
116LIB37 =
117ULIB38 = libnlmzip.a
118LIB38= $(ULIB38)
119LIB38 =
120ULIB39 = libideochr.a
121LIB39= $(ULIB39)
122LIB39 =
123LIB50 = libregexp.a
124LIB60 = libblast.a
125LIB61 = libblastapi.a
126#
127# Pseudo-dummy targets when Vibrant is not used
128#
129TLIB4 = D4$(ULIB4)
130TLIB400 = D400$(ULIB400)
131TLIB20 = D20$(ULIB20)
132TLIB45 = D45$(ULIB45)
133TLIB28 = D28$(ULIB28)
134TLIB30 = D30$(ULIB30)
135TLIB3000 = D3000$(ULIB3000)
136TLIB34 = D34$(ULIB34)
137TLIB37 = D37$(ULIB37)
138TLIB38 = D38$(ULIB38)
139TLIB39 = D39$(ULIB39)
140DLIB4 = D4$(LIB4)
141DLIB400 = D400$(LIB400)
142DLIB20 = D20$(LIB20)
143DLIB45 = D45$(LIB45)
144DLIB28 = D28$(LIB28)
145DLIB30 = D30$(LIB30)
146DLIB3000 = D3000$(LIB3000)
147DLIB34 = D34$(LIB34)
148DLIB37 = D37$(LIB37)
149DLIB38 = D38$(LIB38)
150DLIB39 = D39$(LIB39)
151NCBI_INCDIR = ../include
152NCBI_LIBDIR = ../lib
153NCBI_LINKINGLIBDIR = $(NCBI_LIBDIR)
154NCBI_OTHERLINKOPTIONS =
155NCBI_SHLIBS = shlib
156NCBI_SHLIBS =
157MAKESHLIB = ../make/makeshlb.unx
158
159CFLAGS = $(CFLAGS1) -I$(NCBI_INCDIR) $(VIBFLAG)
160LDFLAGS = $(LDFLAGS1) -I$(NCBI_INCDIR) $(VIBFLAG) $(NCBI_OTHERLINKOPTIONS) -L$(NCBI_LINKINGLIBDIR)
161
162##
163## some things to make
164##
165
166# sources needed for versions of asntool and entrez
167THR_SRC = ncbithr.c
168# NCBI_LBSM_SRC = ncbi_lbsmd_stub.c
169
170SRC1e =	ncbibs.c wwwutils.c ncbierr.c ncbienv.c ncbifile.c \
171	ncbiprop.c ncbimath.c ncbimem.c ncbimisc.c \
172	ncbimsg.c ncbistr.c ncbisgml.c ncbitime.c ncbilang.c \
173	asnbufo.c asndebin.c asnenbin.c asngen.c asnio.c asnlex.c \
174	asnlext.c asnout.c asnprint.c asntypes.c asngenob.c gifgen.c \
175	togif.c ncbithr.c regex.c tsprintf.c ncbiargs.c tree.c matrix.c \
176	ncbi_socket.c ncbi_buffer.c ncbi_types.c ncbi_core.c ncbi_core_c.c ncbi_util.c \
177	ncbi_priv.c ncbi_ansi_ext.c ncbi_connection.c ncbi_connector.c \
178	ncbi_connutil.c ncbi_file_connector.c ncbi_heapmgr.c \
179	ncbi_http_connector.c ncbi_memory_connector.c $(NCBI_LBSM_SRC) \
180	ncbi_host_info.c ncbi_server_info.c ncbi_service.c ncbi_version.c \
181	ncbi_service_connector.c ncbi_ftp_connector.c ncbi_dispd.c \
182	ncbi_lb.c ncbi_local.c ncbi_socket_connector.c urlquery.c binary.c \
183	ncbi_sendmail.c ncbi_base64.c asn_connection.c ncbi_lbos.c parson.c \
184        ncbi_ipv6.c raw_scoremat.c drwnflpt.c drwnfspc.c drwnmfls.c
185SRC1 =	ncbimain.c $(SRC1e)
186
187SRCTLS = ncbi_gnutls.c
188
189SRC2 =	objacces.c objalign.c objall.c objbibli.c \
190	objfeat.c objgen.c objloc.c objmedli.c objpub.c \
191	objres.c objscoremat.c objseq.c objblock.c objcode.c objsset.c \
192	objsub.c objprt.c objfdef.c objalignloc.c objtable.c \
193	objpubme.c objmdrs.c objproj.c objgbseq.c objtseq.c objinsdseq.c objmacro.c \
194	objent2.c ent2api.c pmfapi.c objtax3.c tax3api.c objegkludge.c objentgene.c \
195	objmla2.c mla2api.c qblastapi.c vecscnapi.c objmim.c objvalid.c mimapi.c cddapi.c \
196	seqport.c sequtil.c prtutil.c simple.c tofasta.c tofile.c tomedlin.c \
197	valid.c valapi.c alignmgr.c aliparse.c aliread.c alignval.c sqnutil1.c sqnutil2.c \
198	sqnutil3.c sqnutil4.c subutil.c edutil.c asn2ff1.c asn2ff2.c asn2ff3.c asn2ff4.c \
199	asn2ff5.c asn2ff6.c asn2gnb1.c asn2gnb2.c asn2gnb3.c asn2gnb4.c \
200	asn2gnb5.c asn2gnb6.c ftusrstr.c gbfeat.c gbftglob.c \
201	gbparint.c utilpars.c utilpub.c ffprint.c wprint.c satutil.c \
202	seqmgr.c objmgr.c gather.c accmmdbs.c acccn3ds.c lsqfetch.c findrepl.c \
203	codon.c jzcoll.c jzmisc.c maputil.c mconsist.c macroapi.c \
204	salpedit.c salpstat.c salpacc.c salprop.c salsap.c salstruc.c salutil.c \
205	udvseq.c blocks.c pgppop.c samutil.c ddvcolor.c viewmgr.c ddvcreate.c \
206	jsavlt.c needleman.c txalign.c fdlobj.c alignmgr2.c alnread.c acerdapi.c aceread.c
207
208SRC3 =	cdentrez.c cdromlib.c cdnewlib.c casn.c cdconfig.c objentr.c
209
210SRC4 =	vibbutns.c vibextra.c vibfiles.c vibforms.c \
211	vibgroup.c viblists.c vibmenus.c vibprmpt.c \
212	vibsbars.c vibslate.c vibtexts.c \
213	vibutils.c vibwndws.c vibmain.c ncbidraw.c \
214	drawing.c mapping.c picture.c viewer.c \
215	document.c table.c palette.c diagnost.c image.c \
216	pictur3d.c prim3d1.c prim3d2.c prim3d3.c \
217	prim3d4.c prim3d5.c viewer3d.c vibmouse.c netscape.c \
218	imagelst.c treeview.c shim3d.c odlbox.c
219
220SRC5 =	accentr.c accutils.c
221
222SRC7 =  netentr.c netlib.c objneten.c
223
224SRC11 = objmla.c medarch.c
225
226SRC12 = objtaxon.c taxarch.c
227
228SRC20 = drawseq.c dotmatrx.c fea2seg.c fstyle.c smdlg1.c smdlg2.c smdlg3.c \
229	smtools.c styleman.c stylemui.c glbpic.c \
230	layout.c saldist.c saled.c salfiles.c salpanel.c salparam.c \
231	salsa.c seqfltr.c seqgraph.c seqgrphx.c seqmtrx.c \
232	seqpcc.c seqanal.c aacomp.c seqscrl.c valdlg.c \
233	vsm.c vsmfile.c vsmutil.c udvgraph.c udvopen.c udvpanel.c dotvibrant.c \
234	dlgutil1.c dlgutil2.c e2trmlst.c e2docsum.c asn2graphic.c \
235	medview.c bspview.c gbfview.c gphview.c gphdraw.c gxydraw.c gtrdraw.c \
236	seqpanel.c ingengraph.c ingenext.c ingenwin.c macrodlg.c \
237	biosrc.c cdrgn.c import.c pubdesc.c seqsub.c mapgene.c prtgene.c salogif.c
238
239SRC45 = ddvclick.c ddvgraph.c ddvopen.c ddvpanel.c
240
241SRC22 = corematx.c dvncode.c objmmdb1.c objmmdb2.c objmmdb3.c objcn3d.c \
242	mmdbapi.c mmdbapi1.c mmdbapi2.c mmdbapi3.c mmdbapi4.c mmdbentr.c \
243	vastsubs.c prunebsc.c objcdd.c cddutil.c cddposutil.c objmime.c \
244	strucapi.c thrdalgs.c thrdatd.c  thrdbwfi.c thrdcpal.c \
245	thrdcpll.c thrdcprl.c thrdcxei.c thrddgri.c thrdrsmp.c \
246	thrdsal0.c thrdsalr.c thrdsalu.c thrdsgoi.c thrdslo0.c \
247	thrdslor.c thrdslou.c thrdspci.c thrdspea.c thrdspel.c \
248	thrdspni.c thrdttb0.c thrdttbi.c thrdzsc.c
249
250SRC23 = csim.c db_slist.c dust.c blast_dust.c falign.c g_any.c sim2.c sim3.c sim4.c \
251	simutil.c slist.c sec.c tfuns.c toasn3.c toporg.c \
252	pobutil.c stsutil.c suggadj.c suggest.c suggslp.c \
253	blast.c blastutl.c blastool.c blastconcat.c splutil.c gapxdrop.c bandalg0.c bandalg1.c \
254	bandalg2.c bandalg3.c bandalg4.c bandalg5.c bandalgn.c blastkar.c \
255	actutils.c posit.c lookup.c readdb.c ncbisam.c ncbisort.c \
256	salign.c salptool.c urkutil.c urkpcc.c urkptpf.c urkepi.c \
257	urkfltr.c urkdust.c urksigu.c seg.c urkbias.c urkcnsrt.c urktree.c \
258	pseed3.c pattern1.c impatool.c posit2.c mbalign.c \
259	vecscrn.c mblast.c rpsutil.c kappa.c xmlblast.c bxmlobj.c \
260	dotseq.c spidey.c motif.c blfmtutl.c
261
262SRCCOMPADJ = matrix_frequency_data.c compo_mode_condition.c \
263	     composition_adjustment.c nlm_linear_algebra.c \
264             optimize_target_freq.c compo_heap.c smith_waterman.c \
265             redo_alignment.c unified_pvalues.c
266
267SRC28 = gdfontg.c gdfontmb.c gdfontt.c pictogif.c \
268	gdfontl.c gdfonts.c ncbidrwg.c drawing.c mapping.c picture.c ncbimain.c
269
270SRC30 = algorend.c cn3dmsel.c cn3dopen.c cn3dsave.c \
271	cn3dxprt.c cn3dwin.c cn3dentr.c \
272	cn3dmsg.c cn3dmatn.c cn3dmodl.c cn3dshim.c cn3dmesh.c \
273	cn3dstyl.c seqcons.c
274
275SRC34 =	block.c entry.c indx_blk.c utilfun.c em_index.c gb_index.c sp_index.c \
276	pir_index.c prf_index.c xm_index.c
277
278SRC37 = add.c asci_blk.c em_ascii.c ftamain.c gb_ascii.c \
279	genref.c ind.c loadfeat.c nucprot.c ref.c sp_ascii.c sp_ref.c \
280	utilfeat.c utilref.c fta_qscore.c pir_ascii.c fta_clup.c fta_src.c \
281	prf_ascii.c xm_ascii.c
282
283SRC38 =  deflate.c inflate.c trees.c bits.c util.c dcompr.c streamprocs.c
284
285SRC39 = ideochrow.c humchrom_dat.c mschrom_dat.c ideochrom.c ideoorgs.c \
286	bands_abc.c
287
288SRC50 = chartables.c get.c maketables.c pcre.c pcreposix.c study.c
289
290SRC60 = aa_ungapped.c blast_diagnostics.c blast_engine.c \
291    blast_extend.c blast_filter.c blast_gapalign.c blast_hits.c blast_itree.c \
292    blast_lookup.c blast_message.c blast_options.c blast_seg.c blast_seqsrc.c \
293    blast_setup.c blast_stat.c blast_traceback.c blast_util.c blast_sw.c \
294    gapinfo.c greedy_align.c link_hsps.c lookup_wrap.c \
295    na_ungapped.c ncbi_math.c ncbi_std.c pattern.c phi_extend.c phi_lookup.c \
296    lookup_util.c blast_encoding.c blast_psi.c blast_psi_priv.c blast_kappa.c \
297    matrix_freq_ratios.c blast_hspstream.c blast_parameters.c blast_posit.c \
298    phi_gapalign.c blast_program.c blast_query_info.c blast_tune.c \
299    blast_aalookup.c blast_nalookup.c blast_aascan.c blast_nascan.c \
300    blast_dynarray.c split_query.c gencode_singleton.c index_ungapped.c \
301    hspfilter_collector.c blast_hspstream_mt_utils.c blast_traceback_mt_priv.c \
302    boost_erf.c jumper.c
303
304SRC61 = blast_api.c blast_format.c blast_input.c blast_mtlock.c \
305        blast_options_api.c blast_prelim.c blast_returns.c blast_seq.c \
306        blast_seqalign.c blast_tabular.c repeats_filter.c \
307        seqsrc_multiseq.c seqsrc_readdb.c twoseq_api.c dust_filter.c \
308        blast_message_api.c hspfilter_queue.c
309
310SRCALL = $(THR_SRC) $(SRC1) $(SRC2) $(SRC3) $(SRC4) $(SRC5) $(SRC20) $(SRC22) \
311    $(SRC23) $(SRC28) $(SRC30) $(SRC50) $(SRC60) $(SRC61) $(SRCCOMPADJ)
312
313# objects needed for versions of asntool and entrez
314
315THR_OBJ = ncbithr.o
316# NCBI_LBSM_OBJ = ncbi_lbsmd_stub.o
317
318OBJ1e =	ncbibs.o wwwutils.o ncbierr.o ncbienv.o ncbifile.o \
319	ncbiprop.o ncbimath.o ncbimem.o ncbimisc.o \
320	ncbimsg.o ncbistr.o ncbisgml.o ncbitime.o ncbilang.o \
321	asnbufo.o asndebin.o asnenbin.o asngen.o asnio.o asnlex.o \
322	asnlext.o asnout.o asnprint.o asntypes.o asngenob.o gifgen.o \
323	togif.o ncbithrs.o regex.o tsprintf.o ncbiargs.o tree.o matrix.o \
324	ncbi_socket.o ncbi_buffer.o ncbi_types.o ncbi_core.o ncbi_core_c.o ncbi_util.o \
325	ncbi_priv.o ncbi_ansi_ext.o ncbi_connection.o ncbi_connector.o \
326	ncbi_connutil.o ncbi_file_connector.o ncbi_heapmgr.o \
327	ncbi_http_connector.o ncbi_memory_connector.o $(NCBI_LBSM_OBJ) \
328	ncbi_host_info.o ncbi_server_info.o ncbi_service.o ncbi_version.o \
329	ncbi_service_connector.o ncbi_ftp_connector.o ncbi_dispd.o \
330	ncbi_lb.o ncbi_local.o ncbi_socket_connector.o urlquery.o binary.o \
331	ncbi_sendmail.o ncbi_base64.o asn_connection.o ncbi_lbos.o parson.o \
332        ncbi_ipv6.o raw_scoremat.o drwnflpt.o drwnfspc.o drwnmfls.o
333OBJ1 =	ncbimain.o $(OBJ1e)
334
335OBJTLS = ncbi_gnutls.o
336
337OBJ2 =	objacces.o objalign.o objall.o objbibli.o \
338	objfeat.o objgen.o objloc.o objmedli.o objpub.o \
339	objres.o objscoremat.o objseq.o objblock.o objcode.o objsset.o \
340	objsub.o objprt.o objfdef.o objalignloc.o objtable.o \
341	objpubme.o objmdrs.o objproj.o objgbseq.o objtseq.o objinsdseq.o objmacro.o \
342	objent2.o ent2api.o pmfapi.o objtax3.o tax3api.o objegkludge.o objentgene.o \
343	objmla2.o mla2api.o qblastapi.o vecscnapi.o objmim.o objvalid.o mimapi.o cddapi.o \
344	seqport.o sequtil.o prtutil.o simple.o tofasta.o tofile.o tomedlin.o \
345	valid.o valapi.o alignmgr.o aliparse.o aliread.o alignval.o sqnutil1.o sqnutil2.o \
346	sqnutil3.o sqnutil4.o subutil.o edutil.o asn2ff1.o asn2ff2.o asn2ff3.o asn2ff4.o \
347	asn2ff5.o asn2ff6.o asn2gnb1.o asn2gnb2.o asn2gnb3.o asn2gnb4.o \
348	asn2gnb5.o asn2gnb6.o ftusrstr.o gbfeat.o gbftglob.o \
349	gbparint.o utilpars.o utilpub.o ffprint.o wprint.o satutil.o \
350	seqmgr.o objmgr.o gather.o accmmdbs.o acccn3ds.o lsqfetch.o findrepl.o \
351	codon.o jzcoll.o jzmisc.o maputil.o mconsist.o macroapi.o \
352	salpedit.o salpstat.o salpacc.o salprop.o salsap.o salstruc.o salutil.o \
353	udvseq.o blocks.o pgppop.o samutil.o ddvcolor.o viewmgr.o ddvcreate.o \
354	jsavlt.o needleman.o txalign.o fdlobj.o alignmgr2.o alnread.o acerdapi.o aceread.o
355
356OBJ3 =  cdentrez.o cdromlib.o cdnewlib.o casn.o cdconfig.o objentr.o
357
358OBJ4 =	vibbutns.o vibextra.o vibfiles.o vibforms.o \
359	vibgroup.o viblists.o vibmenus.o vibprmpt.o \
360	vibsbars.o vibslate.o vibtexts.o \
361	vibutils.o vibwndws.o vibmain.o ncbidraw.o \
362	drawing.o mapping.o picture.o viewer.o \
363	document.o table.o palette.o diagnost.o image.o \
364	pictur3d.o prim3d1.o prim3d2.o prim3d3.o \
365	prim3d4.o prim3d5.o viewer3d.o vibmouse.o netscape.o \
366	imagelst.o treeview.o shim3d.o odlbox.o
367
368OBJ400 =	vibbutns.glo vibextra.glo vibfiles.glo vibforms.glo \
369	vibgroup.glo viblists.glo vibmenus.glo vibprmpt.glo \
370	vibsbars.glo vibslate.glo vibtexts.glo \
371	vibutils.glo vibwndws.glo vibmain.glo ncbidraw.glo \
372	drawing.glo mapping.glo picture.glo viewer.glo \
373	document.glo table.glo palette.glo diagnost.glo image.glo \
374	pictur3d.glo prim3d1.glo prim3d2.glo prim3d3.glo \
375	prim3d4.glo prim3d5.glo viewer3d.glo vibmouse.glo netscape.glo \
376	imagelst.glo treeview.glo shim3d.glo odlbox.glo
377
378OBJ5 =	accentr.o accutils.o
379
380OBJ7 =  netentr.o netlib.o objneten.o
381
382OBJ11 = objmla.o medarch.o
383
384OBJ12 = objtaxon.o taxarch.o
385
386OBJ20 = drawseq.o dotmatrx.o fea2seg.o fstyle.o smdlg1.o smdlg2.o smdlg3.o \
387	smtools.o styleman.o stylemui.o glbpic.o \
388	layout.o saldist.o saled.o salfiles.o salpanel.o \
389	salparam.o salsa.o seqfltr.o seqgraph.o seqgrphx.o seqmtrx.o \
390	seqpcc.o seqanal.o aacomp.o seqscrl.o valdlg.o \
391	vsm.o vsmfile.o vsmutil.o udvgraph.o udvopen.o udvpanel.o dotvibrant.o \
392	dlgutil1.o dlgutil2.o e2trmlst.o e2docsum.o asn2graphic.o \
393	medview.o bspview.o gbfview.o gphview.o gphdraw.o gxydraw.o gtrdraw.o \
394	seqpanel.o ingengraph.o ingenext.o ingenwin.o macrodlg.o \
395	biosrc.o cdrgn.o import.o pubdesc.o seqsub.o mapgene.o prtgene.o salogif.o
396
397OBJ45 = ddvclick.o ddvgraph.o ddvopen.o ddvpanel.o
398
399OBJ22 = corematx.o dvncode.o objmmdb1.o objmmdb2.o objmmdb3.o objcn3d.o \
400	mmdbapi.o mmdbapi1.o mmdbapi2.o mmdbapi3.o mmdbapi4.o mmdbentr.o \
401	vastsubs.o prunebsc.o objcdd.o cddutil.o cddposutil.o objmime.o \
402	strucapi.o thrdalgs.o thrdatd.o  thrdbwfi.o thrdcpal.o \
403	thrdcpll.o thrdcprl.o thrdcxei.o thrddgri.o thrdrsmp.o \
404	thrdsal0.o thrdsalr.o thrdsalu.o thrdsgoi.o thrdslo0.o \
405	thrdslor.o thrdslou.o thrdspci.o thrdspea.o thrdspel.o \
406	thrdspni.o thrdttb0.o thrdttbi.o thrdzsc.o
407
408
409OBJ23 = csim.o db_slist.o dust.o blast_dust.o falign.o g_any.o sim2.o sim3.o sim4.o \
410	simutil.o slist.o sec.o tfuns.o toasn3.o toporg.o \
411	pobutil.o stsutil.o suggadj.o suggest.o suggslp.o \
412	blast.o blastutl.o blastool.o blastconcat.o splutil.o \
413	gapxdrop.o bandalg0.o bandalg1.o \
414	bandalg2.o bandalg3.o bandalg4.o bandalg5.o bandalgn.o blastkar.o \
415	actutils.o posit.o lookup.o readdb.o ncbisam.o ncbisort.o \
416	salign.o salptool.o urkutil.o urkpcc.o urkptpf.o urkepi.o \
417	urkfltr.o urkdust.o urksigu.o seg.o urkbias.o urkcnsrt.o urktree.o \
418	pseed3.o pattern1.o impatool.o posit2.o mbalign.o \
419	vecscrn.o mblast.o rpsutil.o kappa.o xmlblast.o bxmlobj.o \
420	dotseq.o spidey.o motif.o blfmtutl.o
421
422OBJCOMPADJ = matrix_frequency_data.o compo_mode_condition.o \
423	     composition_adjustment.o nlm_linear_algebra.o \
424             optimize_target_freq.o compo_heap.o smith_waterman.o \
425             redo_alignment.o unified_pvalues.o
426
427OBJ28 = gdfontg.o gdfontmb.o gdfontt.o pictogif.o \
428	gdfontl.o gdfonts.o ncbidrwg.o drawing.o mapping.o picture.o ncbimain.o
429
430OBJ30 = algorend.o cn3dmsel.o cn3dopen.o cn3dsave.o \
431	cn3dxprt.o cn3dwin.o cn3dentr.o \
432	cn3dmsg.o cn3dmatn.o cn3dmodl.o cn3dshim.o cn3dmesh.o \
433	cn3dstyl.o seqcons.o
434
435OBJ3000 = algorend.glo cn3dmsel.glo cn3dopen.glo cn3dsave.glo \
436	cn3dxprt.glo cn3dwin.glo cn3dentr.glo \
437	cn3dmsg.glo cn3dmatn.glo cn3dmodl.glo cn3dshim.glo cn3dmesh.glo \
438	cn3dstyl.glo seqcons.glo
439
440OBJ34 =	block.o entry.o indx_blk.o utilfun.o em_index.o gb_index.o sp_index.o \
441	pir_index.o prf_index.o xm_index.o
442
443OBJ37 = add.o asci_blk.o em_ascii.o ftamain.o gb_ascii.o \
444	genref.o ind.o loadfeat.o nucprot.o ref.o sp_ascii.o sp_ref.o \
445	utilfeat.o utilref.o fta_qscore.o pir_ascii.o fta_clup.o fta_src.o \
446	prf_ascii.o xm_ascii.o
447
448OBJ38 =  deflate.o inflate.o trees.o bits.o util.o dcompr.o streamprocs.o
449
450OBJ39 = ideochrow.o humchrom_dat.o mschrom_dat.o ideochrom.o ideoorgs.o \
451	bands_abc.o
452
453OBJ50 = chartables.o get.o maketables.o pcre.o pcreposix.o study.o
454
455OBJ60 = aa_ungapped.o blast_diagnostics.o blast_engine.o blast_extend.o \
456    blast_filter.o blast_gapalign.o blast_hits.o blast_itree.o blast_lookup.o \
457    blast_message.o blast_options.o blast_seg.o blast_seqsrc.o blast_sw.o \
458    blast_setup.o blast_stat.o blast_traceback.o blast_util.o \
459    gapinfo.o greedy_align.o link_hsps.o lookup_wrap.o \
460    na_ungapped.o ncbi_math.o ncbi_std.o pattern.o phi_extend.o phi_lookup.o \
461    lookup_util.o blast_encoding.o blast_psi.o blast_psi_priv.o blast_kappa.o \
462    matrix_freq_ratios.o blast_hspstream.o blast_parameters.o blast_posit.o \
463    phi_gapalign.o blast_program.o blast_query_info.o blast_tune.o \
464    blast_aalookup.o blast_nalookup.o blast_aascan.o blast_nascan.o \
465    blast_dynarray.o split_query.o gencode_singleton.o index_ungapped.o \
466    hspfilter_collector.o blast_hspstream_mt_utils.o blast_traceback_mt_priv.o \
467    boost_erf.o jumper.o
468
469OBJ61 = blast_api.o blast_input.o blast_format.o blast_mtlock.o \
470        blast_options_api.o blast_prelim.o blast_returns.o blast_seq.o \
471        blast_seqalign.o blast_tabular.o repeats_filter.o \
472        seqsrc_multiseq.o seqsrc_readdb.o twoseq_api.o dust_filter.o \
473        blast_message_api.o hspfilter_queue.o
474
475
476# NOTE: if you enter an object file to an OBJxx greater than 30, you have to explicitly
477# enter the make actions below (e.g. ddvclick.o).  This is because the
478# implicit make rule for opengl objects (.glo) somehow causes the default make rule for .o
479# files to disappear.  OBJ30 is the first opengl dependent library and this
480# triggers this bug.
481
482
483## All things to make
484##
485all : ln-if-absent copy .WAIT nocopy asntool .WAIT $(DLIB39)
486
487ln-if-absent:	../make/ln-if-absent
488	rm -f ln-if-absent
489	ln -s ../make/ln-if-absent .
490
491nocopy : sources $(THR_OBJ) $(LIB1) $(LIBTLS) $(LIB2) $(LIB3) $(DLIB4) $(DLIB400) \
492	$(LIB5) $(DLIB20) $(DLIB45) $(LIB22) $(LIB23) $(LIBCOMPADJ) \
493	$(DLIB28) $(DLIB30) $(DLIB3000) \
494	$(DLIB34) $(DLIB37) $(DLIB38) $(LIB50) $(LIB60) $(LIB61) $(NCBI_SHLIBS)
495
496sources : $(SRCALL)
497
498## To clean out the directory without removing make
499##
500clean :
501	-rm -f *.[acho]
502
503.NO_PARALLEL:	copy $(ULIB4) $(ULIB30)
504
505.WAIT:
506	echo Waiting...go
507
508## Implicit actions
509##
510.SUFFIXES: .c .h .o .glo
511
512.c.o :
513	$(CC) $(CFLAGS) $<
514
515# this is ugly, because Solaris cc won't allow compile directly to .glo file
516.c.glo :
517	mv $*.o $*.tmp
518	$(CC) $(CFLAGS) -D_OPENGL $<
519	mv $*.o $*.glo
520	mv $*.tmp $*.o
521
522## Special case
523##
524
525ncbithrs.o: ncbithrs.c
526	$(CC) -DNCBI_NOTHREADS_AVAIL $(CFLAGS) ncbithrs.c
527ncbi_gnutls.o: ncbi_gnutls.c
528	$(CC) $(CFLAGS) $(GNUTLS_INCLUDE) ncbi_gnutls.c
529ncbidrwg.o: ncbidrwg.c
530	$(CC) -DWIN_GIF $(CFLAGS) ncbidrwg.c
531regex.o : regex.c
532	$(CC) $(CFLAGS) -DHAVE_STRING_H -DREGEX_MALLOC regex.c
533block.o: block.c
534	$(CC) $(CFLAGS) $<
535entry.o: entry.c
536	$(CC) $(CFLAGS) $<
537indx_blk.o: indx_blk.c
538	$(CC) $(CFLAGS) $<
539utilfun.o: utilfun.c
540	$(CC) $(CFLAGS) $<
541em_index.o: em_index.c
542	$(CC) $(CFLAGS) $<
543gb_index.o: gb_index.c
544	$(CC) $(CFLAGS) $<
545sp_index.o: sp_index.c
546	$(CC) $(CFLAGS) $<
547xm_index.o: xm_index.c
548	$(CC) $(CFLAGS) $<
549pir_index.o: pir_index.c
550	$(CC) $(CFLAGS) $<
551prf_index.o: prf_index.c
552	$(CC) $(CFLAGS) $<
553add.o: add.c
554	$(CC) $(CFLAGS) $<
555asci_blk.o: asci_blk.c
556	$(CC) $(CFLAGS) $<
557em_ascii.o: em_ascii.c
558	$(CC) $(CFLAGS) $<
559ftamain.o: ftamain.c
560	$(CC) $(CFLAGS) $<
561prf_ascii.o: prf_ascii.c
562	$(CC) $(CFLAGS) $<
563gb_ascii.o: gb_ascii.c
564	$(CC) $(CFLAGS) $<
565xm_ascii.o: xm_ascii.c
566	$(CC) $(CFLAGS) $<
567genref.o: genref.c
568	$(CC) $(CFLAGS) $<
569ind.o: ind.c
570	$(CC) $(CFLAGS) $<
571loadfeat.o: loadfeat.c
572	$(CC) $(CFLAGS) $<
573nucprot.o: nucprot.c
574	$(CC) $(CFLAGS) $<
575ref.o: ref.c
576	$(CC) $(CFLAGS) $<
577sp_ascii.o: sp_ascii.c
578	$(CC) $(CFLAGS) $<
579sp_ref.o: sp_ref.c
580	$(CC) $(CFLAGS) $<
581utilfeat.o: utilfeat.c
582	$(CC) $(CFLAGS) $<
583utilref.o: utilref.c
584	$(CC) $(CFLAGS) $<
585fta_qscore.o: fta_qscore.c
586	$(CC) $(CFLAGS) $<
587pir_ascii.o: pir_ascii.c
588	$(CC) $(CFLAGS) $<
589fta_clup.o: fta_clup.c
590	$(CC) $(CFLAGS) $<
591fta_src.o: fta_src.c
592	$(CC) $(CFLAGS) $<
593
594deflate.o: deflate.c
595	$(CC) $(CFLAGS) $<
596inflate.o:  inflate.c
597	$(CC) $(CFLAGS) $<
598trees.o: trees.c
599	$(CC) $(CFLAGS) $<
600bits.o: bits.c
601	$(CC) $(CFLAGS) $<
602util.o: util.c
603	$(CC) $(CFLAGS) $<
604dcompr.o: dcompr.c
605	$(CC) $(CFLAGS) $<
606streamprocs.o: streamprocs.c
607	$(CC) $(CFLAGS) $<
608
609ideochrow.o:	ideochrow.c
610	$(CC) $(CFLAGS) $<
611humchrom_dat.o:	humchrom_dat.c
612	$(CC) $(CFLAGS) $<
613mschrom_dat.o:	mschrom_dat.c
614	$(CC) $(CFLAGS) $<
615ideochrom.o:	ideochrom.c
616	$(CC) $(CFLAGS) $<
617ideoorgs.o:	ideoorgs.c
618	$(CC) $(CFLAGS) $<
619bands_abc.o:	bands_abc.c
620	$(CC) $(CFLAGS) $<
621ideo_gen_obj.o:	ideo_gen_obj.c
622	$(CC) $(CFLAGS) $<
623ddvgraph.o: ddvgraph.c
624	$(CC) $(CFLAGS) $<
625ddvopen.o: ddvopen.c
626	$(CC) $(CFLAGS) $<
627ddvpanel.o: ddvpanel.c
628	$(CC) $(CFLAGS) $<
629ddvclick.o: ddvclick.c
630	$(CC) $(CFLAGS) $<
631mschrom_dat.c : ideo_gen_obj mschrom.dat
632	- ./ideo_gen_obj -d mschrom.dat -f mschrom_dat -o MS
633	- mv -f mschrom_dat.h ../include
634
635humchrom_dat.c : ideo_gen_obj humchrom.dat
636	- ./ideo_gen_obj -d humchrom.dat -f humchrom_dat -o HC
637	- mv -f humchrom_dat.h ../include
638
639ideo_gen_obj: ideo_gen_obj.o ideochrom.o ideoorgs.o
640	$(CC) $(LDFLAGS) -o ideo_gen_obj ideo_gen_obj.o ideochrom.o ideoorgs.o $(NCBI_LIBDIR)/$(LIB1) $(OTHERLIBS)
641
642## use subordinate makefile for building shared libraries
643##
644shlib : shlib.$(LCL)
645
646#
647# Solaris Intel shared libs are built the same in the same manner as for
648# Solaris Sparc
649#
650shlib.sin : shlib.sol
651
652shlib.sol :
653	-mkdir ../shlib
654	-rm -f ../shlib/*.a
655	ln $(NCBI_LIBDIR)/*.a ../shlib
656	cd ../shlib; make -f $(MAKESHLIB) `ls *.a | sed "s/\.a/.so/"` NCBI_OTHERLIBS=$(OTHERLIBS)
657	rm -f ../shlib/*.a
658
659#
660# Linux shared libs are built the same in the same manner as for SGI
661#
662shlib.lnx : shlib.sgi
663
664shlib.sgi :
665	-mkdir ../shlib
666	-rm -f ../shlib/*.a
667	ln $(NCBI_LIBDIR)/*.a ../shlib
668	cd ../shlib; make -f $(MAKESHLIB) `ls *.a | sed "s/\.a/.so/"` SH1="ld -o" SH2="-shared *.o"
669	rm -f ../shlib/*.a
670
671shlib.alf :
672	-mkdir ../shlib
673	-rm -f ../shlib/*.a
674	ln $(NCBI_LIBDIR)/*.a ../shlib
675	cd ../shlib; make -f $(MAKESHLIB) `ls *.a | sed "s/\.a/.so/"` SH1="ld -o" SH2="-expect_unresolved '*' -shared *.o"
676	rm -f ../shlib/*.a
677
678## get all the source files
679##
680
681$(SRCALL) : copy
682
683copy :
684	-chmod -R ug+rw,o+r . ../include
685	$(SRCCOPY) ../corelib/tsprintf.h ../include
686	$(SRCCOPY) ../corelib/gifgen.h ../include
687	$(SRCCOPY) ../corelib/ncbi*.h ../include
688	$(SRCCOPY) ../corelib/tree*.h ../include
689	$(SRCCOPY) ../corelib/regex.h ../include
690	$(SRCCOPY) ../corelib/matrix.h ../include
691	$(SRCCOPY) ../corelib/binary.h ../include
692	$(SRCCOPY) ../corelib/morefile/*.h ../include
693	$(SRCCOPY) ../corelib/morefile/*.c .
694	$(SRCCOPY) ../link/macmet/MoreCarbonAccessors.h ../include
695	$(SRCCOPY) ../corelib/ncbilcl.$(SUFFIXLCL) ../include/ncbilcl.h
696	$(SRCCOPY) ../corelib/*.c .
697	$(SRCCOPY) ../corelib/core*.h .
698	$(SRCCOPY) ../asnlib/*.h .
699	-rm -f ../include/asn.h
700	mv asn.h ../include
701	$(SRCCOPY) ../asnlib/*.c .
702	$(SRCCOPY) ../connect/*.c .
703	$(SRCCOPY) ../connect/ncbi_ansi_ext.h .
704	$(SRCCOPY) ../connect/ncbi_assert.h .
705	$(SRCCOPY) ../connect/ncbi_priv.h .
706	$(SRCCOPY) ../connect/ncbi_comm.h .
707	$(SRCCOPY) ../connect/ncbi_config.h .
708	$(SRCCOPY) ../connect/ncbi_connssl.h .
709	$(SRCCOPY) ../connect/ncbi_lbos.h .
710	$(SRCCOPY) ../connect/ncbi_lbosp.h .
711	$(SRCCOPY) ../connect/parson.h .
712	-$(SRCCOPY) ../connect/ncbi_lbsm.h .
713	-$(SRCCOPY) ../connect/ncbi_lbsm_ipc.h .
714	$(SRCCOPY) ../connect/ncbi_host_infop.h .
715	$(SRCCOPY) ../connect/ncbi_server_infop.h .
716	$(SRCCOPY) ../connect/ncbi_servicep.h .
717	$(SRCCOPY) ../connect/ncbi_socketp.h .
718	$(SRCCOPY) ../connect/ncbi_dispd.h .
719	$(SRCCOPY) ../connect/ncbi_lbsmd.h .
720	$(SRCCOPY) ../connect/ncbi_local.h .
721	$(SRCCOPY) ../connect/ncbi_lb.h .
722	$(SRCCOPY) ../connect/ncbi_version.h .
723	$(SRCCOPY) ../connect/ncbi_base64.h .
724	$(SRCCOPY) ../connect/urlquery.h ../include
725	-mkdir ../include/connect
726	-chmod ug+rw,o+r ../include/connect
727	cp -fp ../connect/ncbi_*.h ../connect/connect_export.h ../include/connect
728	$(SRCCOPY) ../util/tables/*.c .
729	-mkdir -p ../include/util/tables
730	cp -fp ../util/tables/*.h ../include/util/tables
731	$(SRCCOPY) ../util/creaders/*.c .
732	-mkdir -p ../include/util/creaders
733	cp -fp ../util/creaders/*.h ../include/util/creaders
734	$(SRCCOPY) ../ctools/*.c .
735	$(SRCCOPY) ../ctools/*.h .
736	-mkdir ../include/ctools
737	-chmod ug+rw,o+r ../include/ctools
738	cp -fp ../ctools/*.h ../include/ctools
739	$(SRCCOPY) ../object/*.c .
740	$(SRCCOPY) ../object/*.h ../include
741	$(SRCCOPY) ../access/*.c .
742	$(SRCCOPY) ../access/*.h ../include
743	$(SRCCOPY) ../$(ASNDIR)/*.h ../include
744	$(SRCCOPY) ../api/*.h ../include
745	$(SRCCOPY) ../api/*.c .
746	$(SRCCOPY) ../api/*.inc .
747	$(SRCCOPY) ../cdromlib/*.h ../include
748	$(SRCCOPY) ../cdromlib/*.c .
749	$(SRCCOPY) ../vibrant/*.h ../include
750	$(SRCCOPY) ../vibrant/*.c .
751	$(SRCCOPY) ../desktop/*.h ../include
752	$(SRCCOPY) ../desktop/*.c .
753	$(SRCCOPY) ../biostruc/*.h ../include
754	$(SRCCOPY) ../biostruc/*.c .
755	$(SRCCOPY) ../biostruc/cdd/*.h ../include
756	$(SRCCOPY) ../biostruc/cdd/*.c .
757	$(SRCCOPY) ../biostruc/cn3d/*.h ../include
758	$(SRCCOPY) ../biostruc/cn3d/*.c .
759	$(SRCCOPY) ../tools/*.h ../include
760	$(SRCCOPY) ../tools/*.c .
761	$(SRCCOPY) ../cn3d/*.h ../include
762	$(SRCCOPY) ../cn3d/*.c .
763	$(SRCCOPY) ../gif/*.c .
764	$(SRCCOPY) ../gif/*.h ../include
765	$(SRCCOPY) ../ddv/*.h ../include
766	$(SRCCOPY) ../ddv/*.c .
767	$(SRCCOPY) ../regexp/*.c .
768	$(SRCCOPY) ../regexp/*.h ../include
769	- $(SRCCOPY) ../internal/compr/*.c .
770	- $(SRCCOPY) ../internal/compr/*.h ../include
771	- $(SRCCOPY) ../internal/libindx/*.c .
772	- $(SRCCOPY) ../internal/libindx/*.h ../include
773	- $(SRCCOPY) ../internal/libpars/*.c .
774	- $(SRCCOPY) ../internal/libpars/*.h ../include
775	- $(SRCCOPY) ../internal/ideogram/*.c .
776	- $(SRCCOPY) ../internal/ideogram/*.dat .
777	- $(SRCCOPY) ../internal/ideogram/ideochr*.h ../include
778	- $(SRCCOPY) ../internal/ideogram/ideoorgs.h .
779	- $(SRCCOPY) ../internal/ccap/*.c .
780	- $(SRCCOPY) ../internal/ccap/*.dat .
781	- $(SRCCOPY) ../internal/ccap/*.h ../include
782	$(SRCCOPY) ncbidraw.c ncbidrwg.c
783	$(SRCCOPY) ncbithr.c ncbithrs.c
784	$(SRCCOPY) ../network/nsclilib/*.h ../include
785	$(SRCCOPY) ../network/blast3/client/*.h ../include
786	$(SRCCOPY) ../network/id1arch/*.h ../include
787	-$(SRCCOPY) ../network/id2arch/*.h ../include
788	- mkdir -p ../include/algo/blast/core
789	$(SRCCOPY) ../algo/blast/core/*.c .
790	$(SRCCOPY) ../algo/blast/core/*.h .
791	$(SRCCOPY) ../algo/blast/core/*.inl .
792	cp -fp ../algo/blast/core/*.h ../include/algo/blast/core
793	- mkdir -p ../include/algo/blast/composition_adjustment
794	$(SRCCOPY) ../algo/blast/composition_adjustment/*.c .
795	$(SRCCOPY) ../algo/blast/composition_adjustment/*.h ../include
796	cp -fp ../algo/blast/composition_adjustment/*.h \
797		../include/algo/blast/composition_adjustment
798	- mkdir -p ../include/algo/blast/api
799	$(SRCCOPY) ../algo/blast/api/*.c .
800	cp -fp ../algo/blast/api/*.h ../include/algo/blast/api
801	- chmod -R ug+rw,o+r .
802
803
804## make libraries
805##
806$(THR_OBJ): $(THR_SRC)
807	$(CC) $(CFLAGS) $<
808	$(LIBCOPY) $(THR_OBJ) $(NCBI_LIBDIR)
809
810$(LIB1) : $(OBJ1)
811	- $(RM_LIB) $(LIB1)
812	$(AR) cru $(LIB1) $(OBJ1)
813	$(LIBCOPY) $(LIB1) $(NCBI_LIBDIR)
814	$(RAN) $(NCBI_LIBDIR)/$(LIB1)
815
816$(LIB1e) : $(OBJ1e)
817	- $(RM_LIB) $(LIB1e)
818	$(AR) cru $(LIB1e) $(OBJ1e)
819	$(LIBCOPY) $(LIB1e) $(NCBI_LIBDIR)
820	$(RAN) $(NCBI_LIBDIR)/$(LIB1e)
821
822$(LIBTLS) : $(OBJTLS)
823	- $(RM_LIB) $(LIBTLS)
824	$(AR) cru $(LIBTLS) $(OBJTLS)
825	$(LIBCOPY) $(LIBTLS) $(NCBI_LIBDIR)
826	$(RAN) $(NCBI_LIBDIR)/$(LIBTLS)
827
828$(LIB2) : $(OBJ2)
829	- $(RM_LIB) $(LIB2)
830	$(AR) cru $(LIB2) $(OBJ2)
831	$(LIBCOPY) $(LIB2) $(NCBI_LIBDIR)
832	$(RAN) $(NCBI_LIBDIR)/$(LIB2)
833
834$(LIB3) : $(OBJ3)
835	- $(RM_LIB) $(LIB3)
836	$(AR) cru $(LIB3) $(OBJ3)
837	$(LIBCOPY) $(LIB3) $(NCBI_LIBDIR)
838	$(RAN) $(NCBI_LIBDIR)/$(LIB3)
839
840#
841# Dummy targets used when Vibrant is not used
842#
843D4:
844
845D400:
846
847D20:
848
849D45:
850
851D28:
852
853D30:
854
855D3000:
856
857D34:
858
859D37:
860
861D38:
862
863D39:
864
865$(TLIB4) : $(ULIB4)
866
867$(TLIB400) : $(ULIB400)
868
869$(TLIB20) : $(ULIB20)
870
871$(TLIB45) : $(ULIB45)
872
873$(TLIB28) : $(ULIB28)
874
875$(TLIB30) : $(ULIB30)
876
877$(TLIB3000) : $(ULIB3000)
878
879$(TLIB34) : $(ULIB34)
880
881$(TLIB37) : $(ULIB37)
882
883$(TLIB38) : $(ULIB38)
884
885$(TLIB39) : $(ULIB39)
886
887$(ULIB4) : .WAIT $(OBJ4)
888	- $(RM_LIB) $(LIB4)
889	$(AR) cru $(LIB4) $(OBJ4)
890	$(LIBCOPY) $(LIB4) $(NCBI_LIBDIR)
891	$(RAN) $(NCBI_LIBDIR)/$(LIB4)
892
893$(ULIB400) : $(OBJ400)
894	- $(RM_LIB) $(LIB400)
895	$(AR) cru $(LIB400) $(OBJ400)
896	$(LIBCOPY) $(LIB400) $(NCBI_LIBDIR)
897	$(RAN) $(NCBI_LIBDIR)/$(LIB400)
898
899$(ULIB20) : $(OBJ20)
900	- $(RM_LIB) $(LIB20)
901	$(AR) cru $(LIB20) $(OBJ20)
902	$(LIBCOPY) $(LIB20) $(NCBI_LIBDIR)
903	$(RAN) $(NCBI_LIBDIR)/$(LIB20)
904
905$(ULIB45) : $(OBJ45)
906	- $(RM_LIB) $(LIB45)
907	$(AR) cru $(LIB45) $(OBJ45)
908	$(LIBCOPY) $(LIB45) $(NCBI_LIBDIR)
909	$(RAN) $(NCBI_LIBDIR)/$(LIB45)
910
911$(ULIB28) : $(OBJ28)
912	- $(RM_LIB) $(LIB28)
913	$(AR) cru $(LIB28) $(OBJ28)
914	$(LIBCOPY) $(LIB28) $(NCBI_LIBDIR)
915	$(RAN) $(NCBI_LIBDIR)/$(LIB28)
916
917$(ULIB30) : .WAIT $(OBJ30)
918	- $(RM_LIB) $(LIB30)
919	$(AR) cru $(LIB30) $(OBJ30)
920	$(LIBCOPY) $(LIB30) $(NCBI_LIBDIR)
921	$(RAN) $(NCBI_LIBDIR)/$(LIB30)
922
923$(ULIB3000) : .WAIT $(OBJ3000)
924	- $(RM_LIB) $(LIB3000)
925	$(AR) cru $(LIB3000) $(OBJ3000)
926	$(LIBCOPY) $(LIB3000) $(NCBI_LIBDIR)
927	$(RAN) $(NCBI_LIBDIR)/$(LIB3000)
928
929$(ULIB34) : $(OBJ34)
930	- $(RM_LIB) $(LIB34)
931	$(AR) cru $(LIB34) $(OBJ34)
932	$(LIBCOPY) $(LIB34) $(NCBI_LIBDIR)
933	$(RAN) $(NCBI_LIBDIR)/$(LIB34)
934
935$(ULIB37) : $(OBJ37)
936	- $(RM_LIB) $(LIB37)
937	$(AR) cru $(LIB37) $(OBJ37)
938	$(LIBCOPY) $(LIB37) $(NCBI_LIBDIR)
939	$(RAN) $(NCBI_LIBDIR)/$(LIB37)
940
941$(ULIB38) : $(OBJ38)
942	- $(RM_LIB) $(LIB38)
943	$(AR) cru $(LIB38) $(OBJ38)
944	$(LIBCOPY) $(LIB38) $(NCBI_LIBDIR)
945	$(RAN) $(NCBI_LIBDIR)/$(LIB38)
946
947$(ULIB39) : $(OBJ39)
948	- $(RM_LIB) $(LIB39)
949	$(AR) cru $(LIB39) $(OBJ39)
950	$(LIBCOPY) $(LIB39) $(NCBI_LIBDIR)
951	$(RAN) $(NCBI_LIBDIR)/$(LIB39)
952
953$(LIB5) : $(OBJ5)
954	- $(RM_LIB) $(LIB5)
955	$(AR) cru $(LIB5) $(OBJ5)
956	$(LIBCOPY) $(LIB5) $(NCBI_LIBDIR)
957	$(RAN) $(NCBI_LIBDIR)/$(LIB5)
958
959$(LIB22) : $(OBJ22)
960	- $(RM_LIB) $(LIB22)
961	$(AR) cru $(LIB22) $(OBJ22)
962	$(LIBCOPY) $(LIB22) $(NCBI_LIBDIR)
963	$(RAN) $(NCBI_LIBDIR)/$(LIB22)
964
965$(LIB23) : $(OBJ23)
966	- $(RM_LIB) $(LIB23)
967	$(AR) cru $(LIB23) $(OBJ23)
968	$(LIBCOPY) $(LIB23) $(NCBI_LIBDIR)
969	$(RAN) $(NCBI_LIBDIR)/$(LIB23)
970
971$(LIBCOMPADJ) : $(OBJCOMPADJ)
972	- $(RM_LIB) $(LIBCOMPADJ)
973	$(AR) cru $(LIBCOMPADJ) $(OBJCOMPADJ)
974	$(LIBCOPY) $(LIBCOMPADJ) $(NCBI_LIBDIR)
975	$(RAN) $(NCBI_LIBDIR)/$(LIBCOMPADJ)
976
977$(LIB50) : $(OBJ50)
978	- $(RM_LIB) $(LIB50)
979	$(AR) cru $(LIB50) $(OBJ50)
980	$(LIBCOPY) $(LIB50) $(NCBI_LIBDIR)
981	$(RAN) $(NCBI_LIBDIR)/$(LIB50)
982
983$(LIB60) : $(OBJ60)
984	- $(RM_LIB) $(LIB60)
985	$(AR) cru $(LIB60) $(OBJ60)
986	$(LIBCOPY) $(LIB60) $(NCBI_LIBDIR)
987	$(RAN) $(NCBI_LIBDIR)/$(LIB60)
988
989$(LIB61) : $(OBJ61)
990	- $(RM_LIB) $(LIB61)
991	$(AR) cru $(LIB61) $(OBJ61)
992	$(LIBCOPY) $(LIB61) $(NCBI_LIBDIR)
993	$(RAN) $(NCBI_LIBDIR)/$(LIB61)
994
995## make asntool application
996##  This is ALWAYS the command line version
997
998# asntool
999
1000asntool : asntool.c $(LIB1)
1001	$(CC) -o asntool $(LDFLAGS) asntool.c asncode.c $(NCBI_LIBDIR)/$(LIB1) $(OTHERLIBS)
1002	$(BINCOPY) asntool ../bin
1003
1004.KEEP_STATE:
1005