1#	makefile for flat2asn
2#
3#	$Id: makeindx.unx,v 6.6 2008/01/25 19:56:25 ucko Exp $
4#
5#	Sun with unbundled ANSI compiler [ make LCL=acc RAN=ranlib CC=acc ]
6#	Sun with Gnu C [ make LCL=gcc RAN=ranlib CC=gcc ]
7#   Sun with Solaris 2.x OS [ make LCL=sol CC="cc -Xa" ]
8#	Silicon Graphics [ make LCL=sgi OTHERLIBS="-lm -lPW -lsun" ]
9#	IBM 3090 with AIX [ make LCL=370 ]
10#	ULTRIX [ make LCL=ult RAN=ranlib ]
11#	Apple AUX [ make LCL=aux SHELL=\usr\bin ]
12#	NeXt [ make LCL=nxt CFLAGS1="-c -ansi" RAN=ranlib ]
13#	DEC Alpha under OSF/1  [ make LCL=alf CC=cc RAN=ranlib ]
14#   BeOS [  make OTHERLIBS="" ]
15#
16#   see README for other supported systems
17#
18#	Subsequent makes should make ... nocopy instead of make ... all
19#	to avoid recopying the include files
20#
21#
22#   NOTE: some make utilities (like SGI and IBM 3090) do not like a target
23#     which is undefined.  This would be $(LIB4) if you are not making a
24#     vibrant version.  Thus, this library target must be deleted on those
25#     systems.  The section to be deleted is marked below with DELETE
26#
27
28# default flags for compiling and loading
29
30include $(NCBI)/ncbi.mk
31SUFFIXLCL = $(LCL)
32CFLAGS1 = $(NCBI_CFLAGS1)
33LDFLAGS1 = $(NCBI_LDFLAGS1)
34CC = cc
35RAN = ls -l
36AR=ar
37LIBPATH = -L$(NCBI_ALTLIB)  -L$(NCBI_SYBASE)/lib
38OTHERLIBS = $(LIBPATH) -lncbimla -lncbitax -lnetentr -lnetcli -lncbiobj -lncbi $(NCBI_SYBLIBS) $(NCBI_OTHERLIBS)
39
40SUFFIXENV = unx
41ASNDIR = asnstat
42LIBPARSE = libindx.a
43
44
45CFLAGS = $(CFLAGS1) -I../include -I$(NCBI_INCDIR)
46LDFLAGS = $(LDFLAGS1) -I../include -I$(NCBI_INCDIR) -L$(NCBI_LIBDIR)
47
48SRCCOPY = cp -p
49
50##
51## some things to make
52##
53
54# sources needed for indexing and parsing
55
56SRC_I = indx_blk.c block.c entry.c gb_index.c em_index.c \
57		sp_index.c pr_index.c utilfun.c
58
59SRC_P = add.c asci_blk.c citation.c flat2asn.c flatargs.c \
60		gb_ascii.c genref.c em_ascii.c ind.c loadfeat.c \
61		nucprot.c ref.c sp_global.c sp_ref.c sp_ascii.c\
62		taxcash.c utilfeat.c utilref.c
63
64SRC_ALL = $(SRC_I) $(SRC_P)
65
66# objects needed for indexing and parsing
67
68OBJ_I = indx_blk.o block.o entry.o gb_index.o em_index.o \
69		sp_index.o pr_index.o utilfun.o
70
71OBJ_P = add.o asci_blk.o citation.o flat2asn.o flatargs.o \
72		gb_ascii.o genref.o em_ascii.o ind.o loadfeat.o \
73		nucprot.o ref.o sp_global.o sp_ref.o sp_ascii.o\
74		taxcash.o utilfeat.o utilref.o
75
76## All things to make
77##
78all : copy .WAIT nocopy flat2asn
79
80nocopy : sources $(LIBPARSE)
81
82sources : $(SRC_ALL)
83
84## To clean out the directory without removing make
85##
86clean :
87	- rm -f *.[acho]
88
89.NO_PARALLEL:	copy
90
91.WAIT:
92	echo Waiting...go
93
94## Implicit actions
95##
96
97
98## get all the source files
99##
100
101$(SRC_ALL) : copy
102
103copy :
104	- chmod -R ug+rw,o+r .
105	$(SRCCOPY) ../internal/parser/*.h ../include
106	$(SRCCOPY) ../internal/parser/*.c .
107	- chmod -R ug+rw,o+r .
108
109## make libraries
110##
111
112$(LIBPARSE) : $(OBJ_I)
113	- rm -f $(LIBPARSE)
114	$(AR) cru $(LIBPARSE) $(OBJ_I)
115	$(SRCCOPY) $(LIBPARSE) ../lib
116	$(RAN) ../lib/$(LIBPARSE)
117
118# flat2asn
119
120flat2asn : flat2asn.o $(OBJ_P) $(LIBPARSE)
121	$(CC) -o flat2asn $(LDFLAGS) flat2asn.o $(OBJ_P) ../lib/$(LIBPARSE) $(OTHERLIBS)
122
123