1# ===========================================================================
2#
3#                            PUBLIC DOMAIN NOTICE
4#               National Center for Biotechnology Information
5#
6#  This software/database is a "United States Government Work" under the
7#  terms of the United States Copyright Act.  It was written as part of
8#  the author's official duties as a United States Government employee and
9#  thus cannot be copyrighted.  This software/database is freely available
10#  to the public for use. The National Library of Medicine and the U.S.
11#  Government have not placed any restriction on its use or reproduction.
12#
13#  Although all reasonable efforts have been taken to ensure the accuracy
14#  and reliability of the software and data, the NLM and the U.S.
15#  Government do not and cannot warrant the performance or results that
16#  may be obtained by using this software or data. The NLM and the U.S.
17#  Government disclaim all warranties, express or implied, including
18#  warranties of performance, merchantability or fitness for any particular
19#  purpose.
20#
21#  Please cite the author in any work or product based on this material.
22#
23# ===========================================================================
24
25default: std
26
27TOP ?= $(abspath ../..)
28MODULE = libs/sra
29
30INT_LIBS = \
31	libsradb \
32	libwsradb \
33	libsrareader
34
35ALL_LIBS = \
36	$(INT_LIBS)
37
38OBJFILES =            \
39	$(SRADB_OBJ)      \
40	$(WSRADB_OBJ)     \
41	$(SRAREADER_OBJ)  \
42
43include $(TOP)/build/Makefile.env
44
45VPATH += $(OBJDIR)
46
47#-------------------------------------------------------------------------------
48# outer targets
49#
50all std: makedirs compile
51	@ $(MAKE_CMD) $(TARGDIR)/std
52
53$(INT_LIBS) schema: makedirs
54	@ $(MAKE_CMD) $(ILIBDIR)/$@
55
56.PHONY: all std $(ALL_LIBS) schema
57
58#-------------------------------------------------------------------------------
59# std
60#
61$(TARGDIR)/std: \
62	$(addprefix $(ILIBDIR)/,$(INT_LIBS))
63
64.PHONY: $(TARGDIR)/all $(TARGDIR)/std
65
66#-------------------------------------------------------------------------------
67# clean
68#
69clean: stdclean
70
71.PHONY: clean
72
73#-------------------------------------------------------------------------------
74# sradb library
75#
76$(ILIBDIR)/libsradb: $(addprefix $(ILIBDIR)/libsradb.,$(ILIBEXT))
77
78SRADBCMN_SRC = \
79	sramgr-cmn \
80	sratbl-cmn \
81	sracol \
82	types \
83    sracache
84
85SRADB_SRC = \
86	$(SRADBCMN_SRC) \
87	sramgr \
88	sratbl
89
90SRADB_OBJ = \
91	$(addsuffix .$(LOBX),$(SRADB_SRC))
92
93SRADB_LIB = \
94	-dvdb \
95	-dkdb \
96	-dvfs \
97	-dkfs \
98	-lkfg \
99	-dkproc \
100	-dklib
101
102$(ILIBDIR)/libsradb.$(LIBX): $(SRADB_OBJ)
103	$(LD) --slib -o $@ $^ $(SRADB_LIB)
104
105
106#-------------------------------------------------------------------------------
107# update version
108#
109$(ILIBDIR)/libwsradb: $(addprefix $(ILIBDIR)/libwsradb.,$(ILIBEXT))
110
111WSRADB_SRC = \
112	$(SRADBCMN_SRC) \
113	wsramgr \
114	wsratbl
115
116WSRADB_OBJ = \
117	$(addsuffix .$(LOBX),$(WSRADB_SRC))
118
119WSRADB_LIB = \
120	-dwvdb \
121	-dwkdb \
122	-dvfs \
123	-dkfs \
124	-lkfg \
125	-dkproc \
126	-dklib
127
128$(ILIBDIR)/libwsradb.$(LIBX): $(WSRADB_OBJ)
129	$(LD) --slib -o $@ $^ $(WSRADB_LIB)
130
131
132#-------------------------------------------------------------------------------
133# libsrareader
134#
135$(ILIBDIR)/libsrareader: $(addprefix $(ILIBDIR)/libsrareader.,$(ILIBEXT))
136
137SRAREADER_SRC = \
138	reader-cmn \
139	reader-fastq \
140	reader-sff \
141	reader-illumina \
142	reader-abi
143
144SRAREADER_OBJ = \
145	$(addsuffix .$(LOBX),$(SRAREADER_SRC))
146
147SRAREADER_LIB = \
148	-dsradb \
149	-dkdb \
150	-dklib
151
152$(ILIBDIR)/libsrareader.$(LIBX): $(SRAREADER_OBJ)
153	$(LD) --slib -o $@ $^ $(SRAREADER_LIB)
154
155compile: stdcompile
156
157$(TARGDIR)/compile: $(OBJFILES)
158
159#-------------------------------------------------------------------------------
160# fuzz
161#
162fuzz: std
163	cp $(addsuffix .$(LIBX),$(addprefix $(ILIBDIR)/,$(INT_LIBS))) $(FLIBDIR)/
164