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
25
26default: std
27
28TOP ?= $(abspath ../..)
29MODULE = libs/svdb
30
31INT_LIBS = \
32
33EXT_LIBS = \
34	libsvdb
35
36ALL_LIBS = \
37	$(INT_LIBS) \
38	$(EXT_LIBS)
39
40include $(TOP)/build/Makefile.env
41
42#-------------------------------------------------------------------------------
43# outer targets
44#
45all std: makedirs
46	@ $(MAKE_CMD) $(TARGDIR)/std
47
48$(INT_LIBS): makedirs
49	@ $(MAKE_CMD) $(ILIBDIR)/$@
50
51$(EXT_LIBS): makedirs
52	@ $(MAKE_CMD) $(LIBDIR)/$@
53
54.PHONY: all std $(ALL_LIBS)
55
56#-------------------------------------------------------------------------------
57# std
58#
59$(TARGDIR)/std: \
60	$(addprefix $(ILIBDIR)/,$(INT_LIBS)) \
61	$(addprefix $(LIBDIR)/,$(EXT_LIBS))
62
63.PHONY: $(TARGDIR)/all $(TARGDIR)/std
64
65#-------------------------------------------------------------------------------
66# clean
67#
68clean: stdclean
69
70.PHONY: clean
71
72#-------------------------------------------------------------------------------
73# virtual db library
74#
75$(LIBDIR)/libsvdb: $(addprefix $(LIBDIR)/libsvdb.,$(LIBEXT))
76
77SVDB_SRC = \
78	svdb
79
80SVDB_OBJ = \
81	$(addsuffix .$(LOBX),$(SVDB_SRC))
82
83SVDB_LIB = \
84	-lncbi-vdb \
85	-lm
86
87#ifeq (win,$(OS))
88#	SVDB_LIB += -lShell32
89#endif
90
91$(LIBDIR)/libsvdb.$(SHLX): $(SVDB_OBJ)
92	$(LD) --dlib --vers $(SRCDIR)/../ncbi-vdb/libncbi-vdb.vers -o $@ $^ $(SVDB_LIB)
93
94$(LIBDIR)/libsvdb.$(LIBX): $(SVDB_OBJ)
95	$(LD) --slib --vers $(SRCDIR)/../ncbi-vdb/libncbi-vdb.vers -o $@ $^ $(SVDB_LIB)
96
97#-------------------------------------------------------------------------------
98# fuzz
99#
100fuzz: std
101	cp $(addsuffix .$(LIBX),$(addprefix $(ILIBDIR)/,$(INT_LIBS))) $(FLIBDIR)/
102