1#	makefile for demo programs
2#
3#	$Id: makedemo.unx,v 6.96 2016/08/31 19:05:26 ucko Exp $
4#
5#	Sun with unbundled ANSI compiler [ make CC=acc ]
6#	Sun with Gnu C [ make CC=gcc ]
7#   Sun with Solaris 2.x OS [ make CC="cc -Xa" OTHERLIBS="-lthread -lm" ]
8#	Silicon Graphics [ make OTHERLIBS="-lm -lPW -lsun" ]
9#	IBM 3090 with AIX [ make  ]
10#	ULTRIX [ make ]
11#	Apple AUX [ make SHELL=\usr\bin ]
12#	NeXt [ make CFLAGS1="-c -ansi"  ]
13#   DEC Alpha under OSF/1  [ make CC=cc ]
14#   BeOS [  make OTHERLIBS="" ]
15#
16#	Subsequent makes should make ... nocopy instead of make ... all
17#	to avoid recopying the include files
18#
19#	To Make the Motif version of demos add:
20#      VIBLIBS="-lXm -lXmu -lXt -lX11" LIB4=-lvibrant VIBFLAG="-I/am/Motif/include -DWIN_MOTIF"
21#   to the argument list.  Substitute the path to your Motif includes for
22#    /am/Motif/include.
23#
24#   Motif versions on Solaris 2.x are more complicated because of changes to
25#   the socket I/O. You have explicitly include them. Try:
26#
27# make -f makedemo.unx CC="cc -Xa"
28# VIBLIBS="-L/netopt/X11R5/lib -L/netopt/Motif1.2.2/lib -R/netopt/X11R5/lib:/netopt/Motif1.2.2.lib -lXm -lXmu -lXt -lX11 -lsocket -lnsl -lgen"
29# LIB4=-lvibrant
30# VIBFLAG="-I/netopt/X11R5/include -I/netopt/Motif1.2.2/include -DWIN_MOTIF"
31#
32#   The build for RedHat Linux 2.XX with X11R6 requires:
33#     CC="gcc -ansi"
34#     VIBLIBS="-L/usr/X11R6/lib -lXm -lXpm -lXmu -lXp -lXt -lX11 -lXext"
35#
36#   NOTE: It is now possible to build using shared libraries, which
37#     consumes significantly less disk space.  To date, this has only
38#     been tested using Solaris.  To use shared libraries, try:
39#       make ... NCBI_LINKINGLIBDIR=../shlib
40#            NCBI_OTHERLINKOPTIONS=-R`pwd`/../shlib
41#
42
43
44# default flags for compiling and loading
45
46SUFFIXLCL = $(LCL)
47CFLAGS1 = -c -O
48LDFLAGS1 = -O
49CC = cc
50RAN = ls -l
51OTHERLIBS = -lm
52THREAD_OTHERLIBS = -lthread
53THREAD_OTHERLIBS =
54THREAD_OBJ = ncbithr.o
55THREAD_OBJ =
56VIBLIBS =
57VIBFLAG =
58VIB =
59LIBCOPY = cp -p
60SRCCOPY = ./ln-if-absent
61BINCOPY = cp -p
62
63SUFFIXENV = unx
64ASNDIR = asnstat
65LIB1 = -lncbi
66LIBTLS = -lconnssl
67LIB2 = -lncbiobj
68LIB3 = -lncbicdr
69LIB4 = -lvibrant
70LIB4 =
71LIB5 = -lncbiacc
72LIB20 = -lncbidesk
73LIB20 =
74LIB22 = -lncbimmdb
75LIB23 = -lncbitool
76LIBCOMPADJ = -lblastcompadj
77LIB50 = -lregexp
78LIB60 = -lblast
79LIB61 = -lblastapi
80NCBI_INCDIR = ../include
81NCBI_LIBDIR = ../lib
82NCBI_LINKINGLIBDIR = $(NCBI_LIBDIR)
83# A kludge which tells the linker not to try to use shared libraries
84# when linking programs which use main() instead of Nlm_Main()
85USES_MAIN_KLUDGE = -L$(NCBI_LIBDIR)
86NCBI_OTHERLINKOPTIONS =
87CFLAGS = $(CFLAGS1) -I$(NCBI_INCDIR) $(VIBFLAG)
88LDFLAGS = $(LDFLAGS1) -I$(NCBI_INCDIR) $(NCBI_OTHERLINKOPTIONS) -L$(NCBI_LINKINGLIBDIR) $(VIBFLAG)
89ENTREZLIBS = $(LIB5) $(LIB3)
90
91##
92## some things to make
93##
94
95# sources needed for versions of demo programs
96
97EXE1 = testcore makeset \
98    getmesh indexpub getpub testobj seqtest \
99	dosimple asn2ff checksub asndhuff \
100	entrcmd errhdr cdscan findspl \
101	ncbisort fa2htgs .WAIT testval \
102	vecscreen gil2bin \
103	asn2xml debruijn asn2idx sortbyquote subfuse \
104	test_regexp demo_regexp demo_regexp_grep
105# fastacmd formatdb formatrpsdb blastall blastpgp seedtop makemat copymat
106# impala megablast blastclust rpsblast
107
108SRC1 = testcore.c makeset.c \
109    getmesh.c indexpub.c getpub.c testobj.c seqtest.c dosimple.c asn2ff.c \
110    checksub.c asndhuff.c \
111    entrcmd.c errhdr.c cdscan.c findspl.c \
112    ncbisort.c fa2htgs.c testval.c \
113    vecscreen.c gil2bin.c blastclust.c rpsblast.c \
114	asn2xml.c debruijn.c asn2idx.c sortbyquote.c subfuse.c \
115	pcretest.c pcredemo.c pcregrep.c
116# fastacmd.c formatdb.c formatrpsdb.c blastall.c blastpgp.c seedtop.c
117# makemat.c copymat.c impala.c megablast.c blastclust.c rpsblast.c
118
119INTERNAL = testgen
120
121## All things to make
122##
123all : ln-if-absent copy .WAIT nocopy
124
125ln-if-absent:	../make/ln-if-absent
126	rm -f ln-if-absent
127	ln -s ../make/ln-if-absent .
128
129nocopy : sources $(EXE1) $(VIB)
130
131sources : $(SRC1)
132
133internal: $(INTERNAL)
134
135## To clean out the directory without removing make
136##
137clean :
138	- rm -f *.[acho]
139
140.NO_PARALLEL:	copy
141
142.WAIT:
143	echo Waiting...go
144
145## Implicit actions
146##
147
148.c.o :
149	$(CC) $(CFLAGS) $<
150
151## get all the source files
152##
153
154$(SRC1) : copy
155
156copy :
157	$(SRCCOPY) ../demo/*.* .
158	$(SRCCOPY) ../regexp/test/*.* .
159	$(SRCCOPY) ../regexp/demo/*.* .
160	-$(SRCCOPY) ../internal/*.* .
161	-chmod -R ug+rw,o+r .
162
163## make applications
164##
165
166
167# testcore
168
169testcore : testcore.c
170	$(CC) -o testcore $(LDFLAGS) testcore.c $(LIB4) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
171
172# getmesh
173
174getmesh : getmesh.c
175	$(CC) -o getmesh $(LDFLAGS) getmesh.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
176
177# indexpub
178
179indexpub : indexpub.c
180	$(CC) -o indexpub $(LDFLAGS) indexpub.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
181
182# makeset
183
184makeset : makeset.c
185	$(CC) -o makeset $(LDFLAGS) makeset.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
186
187# getpub
188
189getpub : getpub.c
190	$(CC) -o getpub $(LDFLAGS) getpub.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
191
192# testobj
193
194testobj : testobj.c
195	$(CC) -o testobj $(LDFLAGS) testobj.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
196
197# dosimple
198
199dosimple : dosimple.c
200	$(CC) -o dosimple $(LDFLAGS) dosimple.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
201
202# seqtest
203
204seqtest : seqtest.c
205	$(CC) -o seqtest $(LDFLAGS) seqtest.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
206
207
208# checksub
209
210checksub : checksub.c
211	$(CC) -o checksub $(LDFLAGS) checksub.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
212
213# asn2ff
214
215asn2ff : asn2ff.c
216	$(CC) -o asn2ff $(LDFLAGS) asn2ff.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
217
218# fa2htgs
219
220fa2htgs : fa2htgs.c
221	$(CC) -o fa2htgs $(LDFLAGS) fa2htgs.c $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
222
223# cdscan
224
225cdscan : cdscan.c
226	$(CC) -o cdscan $(LDFLAGS) cdscan.c $(LIB4) $(ENTREZLIBS) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
227
228# findspl
229
230findspl : findspl.c
231	$(CC) -o findspl $(LDFLAGS) findspl.c $(ENTREZLIBS) $(LIB2) $(LIB1) $(OTHERLIBS)
232
233# errhdr
234
235errhdr : errhdr.c
236	$(CC) -o errhdr $(LDFLAGS) errhdr.c $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
237
238
239
240# asndhuff
241
242asndhuff : asndhuff.c
243	$(CC) -o asndhuff $(LDFLAGS) asndhuff.c $(LIB4) $(ENTREZLIBS) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS)
244
245# entrcmd
246
247entrcmd : entrcmd.c
248	$(CC) -o entrcmd $(LDFLAGS) entrcmd.c $(ENTREZLIBS) $(LIB2) $(LIB1) $(OTHERLIBS)
249
250# ncbisort
251
252ncbisort : sortcmd.c
253	$(CC) -o ncbisort $(LDFLAGS) sortcmd.c $(LIB23) $(LIBCOMPADJ) \
254		$(LIB1) $(OTHERLIBS)
255
256# testval
257
258testval : testval.c
259	$(CC) -o testval $(LDFLAGS) testval.c $(LIB2) $(LIB1) $(OTHERLIBS)
260
261# fastacmd
262
263fastacmd : fastacmd.c
264	$(CC) -o fastacmd $(LDFLAGS) fastacmd.c $(LIB23) $(LIBCOMPADJ) \
265		$(LIB2) $(LIB1) $(OTHERLIBS)
266
267# formatdb
268
269formatdb : formatdb.c
270	$(CC) -o formatdb $(LDFLAGS) formatdb.c $(LIB23) $(LIBCOMPADJ) \
271		$(LIB2) $(LIB1) $(OTHERLIBS)
272
273# formatrpsdb
274
275formatrpsdb : formatrpsdb.c
276	$(CC) -o formatrpsdb $(LDFLAGS) formatrpsdb.c $(LIB61) $(LIB23) \
277		$(LIBCOMPADJ) $(LIB60) $(LIB2) $(LIB1) $(OTHERLIBS)
278
279debruijn : debruijn.c
280	$(CC) -o debruijn $(LDFLAGS) debruijn.c $(LIB60) $(LIBCOMPADJ) $(LIB1) $(OTHERLIBS)
281# blastall
282
283blastall : blastall.c $(THREAD_OBJ)
284	$(CC) -o blastall $(LDFLAGS) blastall.c $(THREAD_OBJ) $(LIB61) \
285		$(LIB60) $(LIB23) $(LIBCOMPADJ) $(LIB2) $(LIB1) \
286		$(OTHERLIBS) $(THREAD_OTHERLIBS)
287
288# blastpgp
289
290blastpgp : blastpgp.c $(THREAD_OBJ)
291	$(CC) -o blastpgp $(LDFLAGS) blastpgp.c $(THREAD_OBJ) $(LIB23) \
292		$(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) $(THREAD_OTHERLIBS)
293
294# seedtop
295
296seedtop : seedtop.c $(THREAD_OBJ)
297	$(CC) -o seedtop $(LDFLAGS) seedtop.c $(THREAD_OBJ) $(LIB23) \
298		$(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) $(THREAD_OTHERLIBS)
299
300# makemat
301
302makemat : makemat.c $(THREAD_OBJ)
303	$(CC) -o makemat $(LDFLAGS) makemat.c $(THREAD_OBJ) $(LIB23) \
304		$(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) $(THREAD_OTHERLIBS)
305
306# copymat
307
308copymat : copymat.c $(THREAD_OBJ)
309	$(CC) -o copymat $(LDFLAGS) copymat.c $(THREAD_OBJ) $(LIB60) $(LIB23) \
310		$(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) $(THREAD_OTHERLIBS)
311
312# impala
313
314impala : profiles.c $(THREAD_OBJ)
315	$(CC) -o impala $(LDFLAGS) profiles.c $(THREAD_OBJ) $(LIB23) \
316		$(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) $(THREAD_OTHERLIBS)
317
318# testgen
319
320testgen : testgen.c
321	$(CC) -o testgen $(LDFLAGS) testgen.c $(LIB1) $(OTHERLIBS)
322
323#testmem
324
325testmem : testmem.c
326	$(CC) -o testmem $(LDFLAGS) testmem.c $(LIB2) $(LIB1) $(OTHERLIBS)
327
328#packfilt
329
330packfilt : packfilt.c
331	$(CC) -o packfilt $(LDFLAGS) packfilt.c $(LIB2) $(LIB1) $(OTHERLIBS)
332
333# megablast
334
335megablast : megablast.c $(THREAD_OBJ)
336	$(CC) -o megablast $(LDFLAGS) megablast.c $(THREAD_OBJ) $(LIB61) \
337		$(LIB60) $(LIB23) $(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) \
338		$(THREAD_OTHERLIBS)
339
340# vecscreen
341
342vecscreen : vecscreen.c $(THREAD_OBJ)
343	$(CC) -o vecscreen $(LDFLAGS) vecscreen.c $(THREAD_OBJ) $(LIB23) \
344		$(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) $(THREAD_OTHERLIBS)
345
346# gil2bin
347
348gil2bin : gil2bin.c
349	$(CC) -o gil2bin $(LDFLAGS) gil2bin.c $(LIB23) $(LIBCOMPADJ) \
350		$(LIB2) $(LIB1) $(OTHERLIBS)
351
352# asn2idx
353
354asn2idx : asn2idx.c
355	$(CC) -o asn2idx $(LDFLAGS) asn2idx.c $(LIB23) $(LIBCOMPADJ) $(LIB2) \
356		$(LIB1) $(OTHERLIBS)
357
358# sortbyquote
359
360sortbyquote : sortbyquote.c
361	$(CC) -o sortbyquote $(LDFLAGS) sortbyquote.c $(LIB2) $(LIB1) $(OTHERLIBS)
362
363# subfuse
364
365subfuse : subfuse.c
366	$(CC) -o subfuse $(LDFLAGS) subfuse.c $(LIB2) $(LIB1) $(OTHERLIBS)
367
368# blastclust
369
370blastclust : blastclust.c $(THREAD_OBJ)
371	$(CC) -o blastclust $(LDFLAGS) blastclust.c $(THREAD_OBJ) $(LIB23) \
372		$(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) $(THREAD_OTHERLIBS)
373
374# rpsblast
375
376rpsblast : rpsblast.c $(THREAD_OBJ)
377	$(CC) -o rpsblast $(LDFLAGS) rpsblast.c $(THREAD_OBJ) $(LIB61) \
378		$(LIB60) $(LIB23) $(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) \
379		$(THREAD_OTHERLIBS)
380
381
382# asn2xml
383
384asn2xml : asn2xml.c $(THREAD_OBJ)
385	$(CC) -o asn2xml $(LDFLAGS) asn2xml.c $(LIB2) $(LIB1) $(OTHERLIBS)
386
387# regexp demos
388
389test_regexp : pcretest.c
390	$(CC) -o test_regexp $(LDFLAGS) pcretest.c $(LIB50)
391demo_regexp : pcretest.c
392	$(CC) -o demo_regexp $(LDFLAGS) pcredemo.c $(LIB50)
393demo_regexp_grep : pcretest.c
394	$(CC) -o demo_regexp_grep $(LDFLAGS) pcregrep.c $(LIB50)
395