Skip to content
Commits on Source (3)
*~
.DS_Store
._*
*.d
*.db
*.o
*.pyc
user.status
vgcore.*
/bin64
/build/BUILD.*
/build/COMP.mac
/build/Makefile.config*
/build/MSVC/2010/ipch
/build/MSVC/2010/ncbi-vdb.opensdf
/centos
/ilib64
/lib64
/mac
/Makefile.config.*
/Makefile.config.mac.arch
/reconfigure
/schema
/test-bin64
user.status
/win
*.opensdf
*.sdf
*.suo
*.log
/.cproject
/.project
/.pydevproject
tmp.kfg
\ No newline at end of file
# mac os x meta-files
.DS_Store
._*
*~
\#*
.\#*
core
*.pyc
.gdb_history
.vscode
.gdb_history
This diff is collapsed.
......@@ -31,7 +31,18 @@ Please cite the authors in any work or product based on this material.
==============================================================
EXCEPTIONS (in all cases excluding NCBI-written makefiles):
See LICENSE from https://github.com/ncbi/ncbi-vdb
Location: {libs,interfaces}/ext/bzip2
Author: Julian R Seward
License: BSDish [libs/ext/bzip2/LICENSE]
Location: {libs,interfaces}/ext/zlib
Authors: Jean-loup Gailly and Mark Adler
License: BSDish [interfaces/ext/zlib.h]
Location: libs/klib
Author: Douglas C. Schmidt
License: GNU Lesser General Public [libs/klib/qsort.c]
==============================================================
Copyright F.A.Q.
......
......@@ -34,15 +34,14 @@ include $(TOP)/build/Makefile.shell
# default
#
SUBDIRS = \
shared \
tools \
libs \
# common targets for non-leaf Makefiles; must follow a definition of SUBDIRS
include $(TOP)/build/Makefile.targets
default: $(SUBDIRS)
test: all
test: $(SUBDIRS)
$(SUBDIRS) test:
@ $(MAKE) -C $@
......@@ -62,10 +61,11 @@ $(SUBDIRS_STD):
#-------------------------------------------------------------------------------
# install
#
install:
@ echo "Checking make status of tools..."
@ $(MAKE) -s --no-print-directory TOP=$(CURDIR) std
@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.install install
@ echo "Checking make status of object libraries..."
@ $(MAKE) -s --no-print-directory TOP=$(CURDIR) $(SUBDIRS)
@ $(MAKE) -s --no-print-directory TOP=$(CURDIR) -f build/Makefile.install install
uninstall:
@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.install uninstall
......@@ -75,7 +75,7 @@ uninstall:
#-------------------------------------------------------------------------------
# clean
#
clean: clean_deb clean_rpm clean_test
clean: clean_test
clean_test:
@ $(MAKE) -s -C test clean
......@@ -88,8 +88,6 @@ runtests: runtests_test
runtests_test:
@ $(MAKE) -s -C test runtests
# @ $(MAKE) -s -C ngs runtests
#-------------------------------------------------------------------------------
# slowtests
#
......@@ -106,32 +104,6 @@ valgrind: valgrind_test
valgrind_test:
@ $(MAKE) -s -C test valgrind
#-------------------------------------------------------------------------------
# RPM
#
ifeq (mac,$(OS))
rpm:
@ echo "Not making rpm on Mac"
clean_rpm:
else
rpm: std
@ $(MAKE) rpm -s TOP=$(CURDIR) -f build/Makefile.rpm
clean_rpm:
@ $(MAKE) clean_rpm -s TOP=$(CURDIR) -f build/Makefile.rpm
endif
#-------------------------------------------------------------------------------
# DEB
#
ifeq (mac,$(OS))
deb: std
else
deb:
endif
@ $(MAKE) deb -s TOP=$(CURDIR) -f build/Makefile.deb
clean_deb:
@ $(MAKE) clean_deb -s TOP=$(CURDIR) -f build/Makefile.deb
#-------------------------------------------------------------------------------
# pass-through targets
#
......@@ -168,7 +140,7 @@ $(REPORTS):
# configuration help
#
help configure:
@ echo "Before initial build, run './configure --build-prefix=<out>' from"
@ echo "Before initial build, run 'make OUTDIR=<dir> out' from"
@ echo "the project root to set the output directory of your builds."
@ echo
@ echo "To select a compiler, run 'make <comp>' where"
......
# ===========================================================================
#
# PUBLIC DOMAIN NOTICE
# National Center for Biotechnology Information
#
# This software/database is a "United States Government Work" under the
# terms of the United States Copyright Act. It was written as part of
# the author's official duties as a United States Government employee and
# thus cannot be copyrighted. This software/database is freely available
# to the public for use. The National Library of Medicine and the U.S.
# Government have not placed any restriction on its use or reproduction.
#
# Although all reasonable efforts have been taken to ensure the accuracy
# and reliability of the software and data, the NLM and the U.S.
# Government do not and cannot warrant the performance or results that
# may be obtained by using this software or data. The NLM and the U.S.
# Government disclaim all warranties, express or implied, including
# warranties of performance, merchantability or fitness for any particular
# purpose.
#
# Please cite the author in any work or product based on this material.
#
# ===========================================================================
The NCBI SRA ( Sequence Read Archive )
Contact: sra-tools@ncbi.nlm.nih.gov
http://trace.ncbi.nlm.nih.gov/Traces/sra/std
Stand-alone BLAST searches against SRA runs in their native format.
-------------------------------------------------------------------
A stand-alone blastn application to perform BLAST searches directly against
native SRA files is included in this distribution. This application has been
tested in-house at the NCBI, but has not been heavily used, so this should be
considered a preliminary (alpha) release to a few experienced users. A 64-bit
LINUX application has been built for this testing.
The application is called "blastn_vdb".
The application can be invoked in much the same manner as the standard
blastn application:
1) blastn_vdb -help or blastn_vdb -h will produce usage messages.
2) The BLAST+ command-line manual at http://www.ncbi.nlm.nih.gov/books/NBK1763/
provides more details on the options, though not all blastn options are
available with blastn_vdb. Some options simply do not apply to sequences in SRA
(e.g., -gilist is missing as these sequences have not been assigned GI's). Some
options have not yet been implemented (e.g., -num_threads is currently disabled).
To search cached or on-demand SRA objects.
------------------------------------------
An example blastn_vdb command-line would be:
./blastn_vdb -db "ERR039542 ERR047215 ERR039539 ERR039540" -query nt.test -out test.out
The file nt.test contains the query in FASTA format, and it will be searched against
the reads in runs with accessions ERR039542 ERR047215 ERR039539 ERR039540.
If you have not already downloaded these objects using the vdb "prefetch" tool,
they will be retrieved on-demand from NCBI under standard configuration. For
alternative configuration information, please see the "README-vdb-config" file
in this distribution.
Searching with manually downloaded files.
-----------------------------------------
If you have manually downloaded files, e.g. via aspera or wget, etc., they may
be referred to as "local" files. You can pass one or more file paths to be used
collectively as the database. In this case the blastn_vdb command-line would be:
./blastn_vdb -db <SRR_file> -query <input_file> -out <output_file>
Where
<SRR_file> is the path (relative or absolute) and name of the SRRxxxxx file
<input_file> is a fasta file containing the sequence(s) to be BLASTed
<output_file> is the name specified for the output report of the blast search.
Example:
./blastn_vdb -db ./subdir/ERR039542.sra -query nt.test -out test.out
Querying multiple SRR files simultaneously:
./blastn_vdb -db "<SRR_file1> <SRR_file2> <SRR_file3>" -query <input.fa> -out <output_file>
Enclose the group of files to be included in the search set in "quotes", e.g.
"./SRR_file1.sra ./SRR_file2.sra ./SRR_file3.sra"
Example:
./blastn_vdb -db "./ERR039542.sra ./ERR047215.sra ./ERR039539.sra ./ERR039540.sra" -query nt.test -out test.out
Caveats
-------
There are some limitations on the currently available application:
1) Individual SRA data files containing more than 2 billion reads are not yet supported. For a
paired-end experiment this is actually a limitation of about 1 billion "spots".
2) Compressed SRA ("cSRA") is not yet fully supported. Currently, only the
unaligned fraction of reads are searched. Compressed SRA are runs containing
alignments (e.g., ERR230455). Runs can be checked with "vdb-dump" to report if
they contain alignment information:
$ vdb-dump -E ERR230455
enumerating the tables of database 'ERR230455'
tbl #1: PRIMARY_ALIGNMENT
tbl #2: REFERENCE
tbl #3: SEQUENCE
3) You may need to prefix "./" to the run name for files in your current
directory.
4) The blast_formatter is not currently able to read native SRA files, so
reformatting of results saved as a blast archive is not yet supported.
Common errors and fixes.
------------------------
1) Failure to provide relative path to manually downloaded SRR file:
./blastn_vdb -db SRR770754.sra -query srr770754_test.fa -out test.out
Error: NCBI C++ Exception:
"vdb2blast_util.cpp", line 253: Error: ncbi::CVDBBlastUtil::x_MakeSRASeqSrc()
- VDB BlastSeqSrc construction failed: Failed to add any run to VDB runset: unsupported while allocating
Fix:
Include relative (e.g., "../" or "./") or absolute (e.g., "/home/user/SRA_BLAST_data/") file path with SRR file
# ===========================================================================
#
# PUBLIC DOMAIN NOTICE
# National Center for Biotechnology Information
#
# This software/database is a "United States Government Work" under the
# terms of the United States Copyright Act. It was written as part of
# the author's official duties as a United States Government employee and
# thus cannot be copyrighted. This software/database is freely available
# to the public for use. The National Library of Medicine and the U.S.
# Government have not placed any restriction on its use or reproduction.
#
# Although all reasonable efforts have been taken to ensure the accuracy
# and reliability of the software and data, the NLM and the U.S.
# Government do not and cannot warrant the performance or results that
# may be obtained by using this software or data. The NLM and the U.S.
# Government disclaim all warranties, express or implied, including
# warranties of performance, merchantability or fitness for any particular
# purpose.
#
# Please cite the author in any work or product based on this material.
#
# ===========================================================================
The tool 'vdb-config' can be used to inspect or change the configuration
of the sra-toolkit.
When called without any parameters the tool reports the current configuration
in xml-format. No changes are made.
-----------------------------------------------------------------------------
vdb-config --restore-defaults
If called with this parameter the tool will bring the configuration into
default state.
-----------------------------------------------------------------------------
vdb-config -i
This will present the user with a colored configuration dialog.
The tab-key and the cursor-keys navigate the dialog. The item with the little
red square has the focus. A button or a checkbox can be 'pressed' with the
space or enter-key. To get out of the dialog without saving any changes
press the '6'-key or the 'q'-key or navigate to the 'exit'-button at the
bottom of the dialog and press the space or enter-key.
The "data source" part:
The "NCBI SRA" labeled checkbox enables/disables remote access to the SRA-
accession stored at NCBI. As long as the computer has internet-access and this
checkbox is enabled the user can access SRA-accessions directly without
downloading them.
A command like 'sra-pileup SRR341578' at the command-line will produce pileup
output of the given accession even if this accession has not been downloaded
before.
The tool will download the data on the fly from our servers.
There might be a checkbox labeled "site" below the "NCBI-SRA" one. If this
checkbox is not available you do not have a 'site'-installation of SRA-data.
If it is visible you do have such a site-installation and you can disable
access to this data.
The "local workspaces" part:
At the top are 2 buttons "import dbGaP-project" and "set default import path".
If you are not using dbGaP-projects (The database of Genotypes and Phenotypes)
you can ignore these 2 buttons.
The "import dbGaP-project" button presents you with another dialog to select
a ngc-file. You can navigate the directories of your computer to find and
select one of these files. By default the focus is in the files-list. It may
be empty.
Use the cursor-key: 'up' to focus the 'directories'-list. If you press enter
on any of the listed directory-names you change into this directory.
The '[ .. ]' entry brings you back into the parent directory. If you see
ngc-files in the lower 'files'-list press the tab-key to switch to the
'files'-list. Press enter on one of them to select this file for import. You
will see a success-message if the import was performed without errors.
On Windows you cannot switch from one drive-letter
to another when selecting.
The "set default import path" gives you the opportunity to specify a different
default location for dbGaP-projects - for instance if your home directory is
not big enough. You can always change the location for your dbGaP-project
after the import.
Below the 2 buttons is a list of local repositories. If there are no
dbGaP-projects this list has only one entry "Open Access Data". This is the
location where accessions get downloaded and cached. You can change these
locations if for instance your home directory where they are created by
default does not have enough space.
The change button brings up a directory-select dialog.
If you made any changes like enabling/disabling or changed a location, the
change is only written to the configuration if you exit the dialog via the
'save and exit' button.
-----------------------------------------------------------------------------
vdb-config -i --interactive-mode textual
This will present the user with a purely textual and sequential dialog. It is
intended to be used if the colored mode does not work, maybe because of
console issues.
......@@ -2,15 +2,11 @@
### Contact:
email: sra-tools@ncbi.nlm.nih.gov
or visit the [SRA Tools web site](http://ncbi.github.io/sra-tools)
### Download
Visit our [download page](https://github.com/ncbi/sra-tools/wiki/Downloads) for pre-built binaries.
### Change Log
Please check the CHANGES.md file for change history.
## The SRA Toolkit
## NCBI VDB
The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for
using data in the INSDC Sequence Read Archives.
......
.cvsignore
RHOST* ARCH* COMP* OUTDIR*
RHOST* ARCH* BUILD* COMP* OUTDIR*
STATIC
ld.linux.exe_cmd.sh
LNKG.*
Makefile.config*
*.sdf
*.suo
*.user
......@@ -36,21 +36,18 @@ PP = gcc -E $(CFLAGS)
LD = @ $(TOP)/build/ld.sh $(OS) $(ARCH) clang \
--build $(BUILD) --ldflags "$(LDFLAGS)" $(STATIC) \
$(STATICSYSLIBS) $(CHECKSUM) --objx $(OBJX) --shlx $(SHLX) --libx $(LIBX) \
-MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR):$(NGS_LIBDIR):$(VDB_LIBDIR):$(VDB_ILIBDIR)
-MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR)
LPFLAGS = $(LDFLAGS)
LP = @ $(TOP)/build/ld.sh $(OS) $(ARCH) clang++ \
--build $(BUILD) --ldflags "$(LPFLAGS)" $(STATIC) \
--build $(BUILD) --ldflags "$(LDFLAGS)" $(STATIC) \
$(STATICSYSLIBS) $(CHECKSUM) --objx $(OBJX) --shlx $(SHLX) --libx $(LIBX) \
-MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR):$(NGS_LIBDIR):$(VDB_LIBDIR):$(VDB_ILIBDIR)
-MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR)
# tool options
WARN = -Wall -Wno-variadic-macros -Wno-long-long # -Wconversion
ifeq (linux,$(OS))
NO_ARRAY_BOUNDS_WARNING = -Wno-array-bounds
endif
# TODO: Lots of new clang options in later versions (-fsanitize, CFI, CPI, ...)
ifeq (64,$(BITS))
CARCH = -m64
else
......
# ===========================================================================
#
# PUBLIC DOMAIN NOTICE
# National Center for Biotechnology Information
#
# This software/database is a "United States Government Work" under the
# terms of the United States Copyright Act. It was written as part of
# the author's official duties as a United States Government employee and
# thus cannot be copyrighted. This software/database is freely available
# to the public for use. The National Library of Medicine and the U.S.
# Government have not placed any restriction on its use or reproduction.
#
# Although all reasonable efforts have been taken to ensure the accuracy
# and reliability of the software and data, the NLM and the U.S.
# Government do not and cannot warrant the performance or results that
# may be obtained by using this software or data. The NLM and the U.S.
# Government disclaim all warranties, express or implied, including
# warranties of performance, merchantability or fitness for any particular
# purpose.
#
# Please cite the author in any work or product based on this material.
#
# ===========================================================================
#VERBOSE=-v
# determine shell environment ($CONFIG_FILE)
include $(TOP)/build/Makefile.shell
# load build configuration ($TARGDIR) ($VERSION)
include $(CONFIG_FILE)
# $TOOLS_TO_INSTALL
include $(TOP)/build/Makefile.tools
ifeq (1,$(HAVE_HDF5))
TOOLS_TO_INSTALL += pacbio-load
endif
PKGDIR=$(TARGDIR)/debbuild
DST=$(PKGDIR)/sra-toolkit-$(VERSION)
DEB=$(DST).deb
TOOL=$(shell which dpkg-deb 2> /dev/null)
################################################################################
clean_deb:
rm -rf $(DEB) $(DST)
ifeq ("","$(TOOL)")
deb:
>&2 echo dpkg-deb: command not found
else
deb: $(DEB)
endif
DEB_DEPS = \
$(DST)/etc/ncbi/default.kfg \
$(DST)/etc/ncbi/certs.kfg \
$(DST)/etc/ncbi/schema.kfg \
$(DST)/etc/ncbi/vdb-copy.kfg \
$(DST)/usr/bin \
$(DST)/DEBIAN/control
$(DEB): $(DEB_DEPS)
ifeq (mac,$(OS))
dpkg-deb --build $(DST)
else
fakeroot dpkg-deb --build $(DST)
endif
$(PKGDIR):
mkdir $(VERBOSE) -p $@
$(DST): $(PKGDIR)
mkdir $(VERBOSE) -p $@/DEBIAN
mkdir $(VERBOSE) -p $@/etc/ncbi
$(DST)/etc/ncbi:
mkdir -p $@
$(DST)/etc/ncbi/default.kfg: $(DST)/etc/ncbi
rsync $(VERBOSE) -l --chmod=g-w $(VDB_LIBDIR)/ncbi/default.kfg $@
$(DST)/etc/ncbi/certs.kfg: $(DST)/etc/ncbi
rsync $(VERBOSE) -l --chmod=g-w $(VDB_LIBDIR)/ncbi/certs.kfg $@
$(DST)/etc/ncbi/schema.kfg: $(DST)/etc/ncbi
echo '/vdb/schema/paths = "/usr/share/ncbi/schema"' > $@
$(DST)/etc/ncbi/vdb-copy.kfg: $(DST)/etc/ncbi
rsync $(VERBOSE) -l --chmod=g-w $(BINDIR)/ncbi/vdb-copy.kfg $@
$(DST)/usr/bin: $(DST)
mkdir $(VERBOSE) -p $@
$(MAKE) -s --no-print-directory -f $(TOP)/build/Makefile.deb \
$(TOOLS_TO_INSTALL)
$(DST)/usr/share/ncbi/schema: $(DST)
mkdir $(VERBOSE) -p $@
rsync $(VERBOSE) -rmloptD --include '*.vschema' --include='*/' \
--exclude '*' $(VDB_INCDIR)/* $@
$(DST)/DEBIAN/control:
mkdir $(VERBOSE) -p $(DST)/DEBIAN
printf \
"Package: sra-toolkit\n"\
"Version: $(VERSION)\n"\
"Architecture: all\n"\
"Maintainer: SRA Toolkit Development Team <sra-tools@ncbi.nlm.nih.gov>\n"\
"Description: SRA Toolkit package\n"\
" The SRA Toolkit and SDK from NCBI is a collection of tools and libraries\n"\
" for using data in the INSDC Sequence Read Archives.\n" > $@
$(TOOLS_TO_INSTALL):
- ( test -f $(BINDIR)/$@ || ( echo "$@ not found" && false ) ) && \
rsync $(VERBOSE) -l $(BINDIR)/$@ $(BINDIR)/$@$(VERSION_EXEX) \
$(BINDIR)/$@$(MAJVERS_EXEX) $(DST)/usr/bin
......@@ -75,11 +75,6 @@ else
LOCAL_OR_REMOTE = local
endif
# pre-built sra-tools are static
ifeq (1,$(WANTS_STATIC))
STATIC = --static
STATICSYSLIBS = --static-system-libs
endif
# drop all suffix rules
.SUFFIXES:
......@@ -124,9 +119,6 @@ else
NCBIDIR = $(LIBDIR)/ncbi $(BINDIR)/ncbi
endif
DEFAULT_CRT = $(VDB_SRCDIR)/libs/kfg/certs.kfg
DEFAULT_KFG = $(VDB_SRCDIR)/libs/kfg/default.kfg
# make reissue command
MAKE_CMD = $(MAKE) BUILD=$(BUILD) TOOLSET=$(TOOLSET) COMP=$(COMP) LNKG=$(LNKG) \
TOP=$(TOP) SRCDIR=$(SRCDIR) OUTDIR=$(OUTDIR) -C $(OBJDIR) -f $(SRCDIR)/Makefile
......@@ -138,14 +130,21 @@ JMAKE_CMD = $(MAKE) BUILD=$(BUILD) TOOLSET=$(TOOLSET) COMP=$(COMP) LNKG=$(LNKG)
SUBDIRS = bin test-bin ilib lib
OUTDIRS = schema
# compilation rules
MAKE_JOBS = 1
stdcompile: makedirs
@ $(MAKE_CMD) -j$(MAKE_JOBS) $(TARGDIR)/compile
# clean rules
stdclean:
@ -rm -rf $(OBJDIR)
@ -rm -rf $(addprefix $(OUTDIR)/$(OS)/$(TOOLSET)/,dyn stat)
@ -rm -rf $(addsuffix .*,$(addprefix $(ILIBDIR)/,$(ALL_LIBS))) \
$(addsuffix .*,$(addprefix $(LIBDIR)/,$(ALL_LIBS))) \
$(addsuffix -static.*,$(addprefix $(LIBDIR)/,$(ALL_LIBS))) \
$(addsuffix *,$(addprefix $(BINDIR)/,$(ALL_TOOLS) $(ALL_LIBS))) \
$(addsuffix *,$(addprefix $(TEST_BINDIR)/,$(ALL_TOOLS) $(TEST_TOOLS)))
$(addsuffix *,$(addprefix $(TEST_BINDIR)/,$(ALL_TOOLS) $(TEST_TOOLS) $(SLOW_TEST_TOOLS)))
stdjclean:
@ -rm -rf $(CLSPATH)
......@@ -156,19 +155,11 @@ removelinks:
@ rm -f $(addprefix $(OUTDIR)/,$(addsuffix $(BITS),$(SUBDIRS)))
@ rm -f $(addprefix $(OUTDIR)/,$(OUTDIRS))
$(BINDIR)/ncbi/certs.kfg: $(DEFAULT_CRT)
@ mkdir -p $(NCBIDIR)
@ cp -v $(DEFAULT_CRT) $@
$(BINDIR)/ncbi/default.kfg: $(DEFAULT_KFG)
@ mkdir -p $(NCBIDIR)
@ cp -v $(DEFAULT_KFG) $@
# create all required output directories
makedirs: $(BINDIR)/ncbi/certs.kfg $(BINDIR)/ncbi/default.kfg
makedirs:
@ mkdir -p $(addprefix $(TARGDIR)/,$(SUBDIRS) obj/$(MODULE)) $(NCBIDIR)
makejdirs:
makejdirs: makedirs
@ mkdir -p $(CLASSDIR)
# build version include files
......@@ -192,12 +183,12 @@ rebuild-dirlinks:
@ true
else
rebuild-dirlinks: removelinks makedirs $(LNDIRS)
@ ln -s $(VDB_INCDIR) $(OUTDIR)/schema
@ ln -s $(TOP)/interfaces $(OUTDIR)/schema
endif
endif
.PHONY: stdclean removelinks makedirs vers-includes rebuild-dirlinks
.PHONY: compile stdcompile stdclean removelinks makedirs vers-includes rebuild-dirlinks
.PHONY: stdjclean makejdirs
# configuration targets
......@@ -279,10 +270,10 @@ purecov:
.PHONY: out CC GCC ICC debug profile release scm purify purecov local local require-proxy-exec $(RHOSTS) bindir report_config
# includes based upon build
ITF = $(VDB_INCDIR)/
OSINC = $(VDB_INCDIR)/os
CCINC = $(VDB_INCDIR)/cc
XTINC = $(VDB_INCDIR)/ext
ITF = $(TOP)/interfaces
OSINC = $(TOP)/interfaces/os
CCINC = $(TOP)/interfaces/cc
XTINC = $(TOP)/interfaces/ext
NGSINC = $(NGS_INCDIR)
OVERRIDEINC = $(TOP)/interfaces/override
......@@ -334,31 +325,15 @@ INCDIRS = \
-I.
# linker paths
LDPATHS =
ifneq (,$(HDF5_LIBDIR))
LDPATHS += -L$(HDF5_LIBDIR)
endif
ifneq (,$(XML2_LIBDIR))
LDPATHS += -L$(XML2_LIBDIR)
endif
ifneq (,$(MAGIC_LIBDIR))
LDPATHS += -L$(MAGIC_LIBDIR)
endif
ifneq (,$(FUSE_LIBDIR))
LDPATHS += -L$(FUSE_LIBDIR)
endif
# defines that describe os & architecture
DLLX ?= $(SHLX)
ARCHDEFS = -D_ARCH_BITS=__SIZEOF_POINTER__*__CHAR_BIT__ -DLIBPREFIX=$(LPFX) -DSHLIBEXT=$(DLLX)
# default tool parameters
CFLAGS = $(DEBUG) $(DBG) $(CARCH) $(PROF) $(PED) $(DEFINES) $(ARCHDEFS) $(MIN_DEPLOY_OS_OPT) $(INCDIRS)
CPFLAGS = $(DEBUG) $(DBG) $(CARCH) $(PROF) $(DEFINES) $(ARCHDEFS) $(MIN_DEPLOY_OS_OPT) $(INCDIRS)
LDFLAGS = $(DBG) $(PROF) $(CARCH) $(MIN_DEPLOY_OS_OPT) $(LDPATHS)
CFLAGS = -std=gnu11 $(DEBUG) $(DBG) $(CARCH) $(PROF) $(PED) $(DEFINES) $(ARCHDEFS) $(MIN_DEPLOY_OS_OPT) $(INCDIRS)
CPFLAGS = -std=gnu++11 $(DEBUG) $(DBG) $(CARCH) $(PROF) $(DEFINES) $(ARCHDEFS) $(MIN_DEPLOY_OS_OPT) $(INCDIRS)
# some LDFLAGS may have been specified in $(CONFIG_FILE)
LDFLAGS += $(DBG) $(PROF) $(CARCH) $(MIN_DEPLOY_OS_OPT)
#-------------------------------------------------------------------------------
# runtests
......@@ -367,7 +342,8 @@ LDFLAGS = $(DBG) $(PROF) $(CARCH) $(MIN_DEPLOY_OS_OPT) $(LDPATHS)
#
ifeq ($(RUNTESTS_OVERRIDE),)
runtests: all $(TEST_TOOLS)
@ export VDB_CONFIG=$(VDB_CONFIG);export LD_LIBRARY_PATH=$(LIBDIR):$$LD_LIBRARY_PATH;export MallocScribble=1;\
@ export VDB_CONFIG=$(VDB_CONFIG);\
export LD_LIBRARY_PATH=$(LIBDIR):$$LD_LIBRARY_PATH;export MallocScribble=1;\
for i in $(TEST_TOOLS);\
do\
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++;\
......@@ -395,20 +371,3 @@ slowtests: all $(SLOW_TEST_TOOLS)
.PHONY: slowtests
#-------------------------------------------------------------------------------
# all-cmn
#
# Common target to trigger build of all tools
#
$(TARGDIR)/all-cmn: $(addprefix $(BINDIR)/,$(ALL_TOOLS))
.PHONY: $(TARGDIR)/all-cmn
#-------------------------------------------------------------------------------
# std-cmn
#
# Common target to trigger build of external visibility tools
#
$(TARGDIR)/std-cmn: $(addprefix $(BINDIR)/,$(EXT_TOOLS))
.PHONY: $(TARGDIR)/std-cmn
......@@ -36,14 +36,14 @@ PP = gcc -E $(CFLAGS)
LD = @ $(TOP)/build/ld.sh $(OS) $(ARCH) gcc \
--build $(BUILD) --ldflags "$(LDFLAGS)" $(STATIC) \
$(STATICSYSLIBS) $(CHECKSUM) --objx $(OBJX) --shlx $(SHLX) --libx $(LIBX) \
-MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR):$(NGS_LIBDIR):$(VDB_LIBDIR):$(VDB_ILIBDIR)
-MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR)
LPFLAGS = $(LDFLAGS)
LP = @ $(TOP)/build/ld.sh $(OS) $(ARCH) g++ \
--build $(BUILD) --ldflags "$(LPFLAGS)" $(STATIC) \
$(STATICSYSLIBS) $(CHECKSUM) --objx $(OBJX) --shlx $(SHLX) --libx $(LIBX) \
-MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR):$(NGS_LIBDIR):$(VDB_LIBDIR):$(VDB_ILIBDIR)
-MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR)
# tool options
WARN = -Wall -Wno-long-long
......@@ -51,10 +51,6 @@ ifneq (sun,$(OS))
WARN += -Wno-variadic-macros
endif
ifeq (linux,$(OS))
NO_ARRAY_BOUNDS_WARNING = -Wno-array-bounds
endif
ifeq (64,$(BITS))
CARCH = -m64
else
......@@ -71,19 +67,15 @@ endif
ifeq (dbg, $(BUILD))
DBG = -g
OPT = $(WARN)
NOPT = $(WARN)
OPT = $(WARN) -Wno-variadic-macros -fno-strict-aliasing -fstack-protector -Wa,--noexecstack -Wall
NOPT = $(WARN) -Wno-variadic-macros -fno-strict-aliasing -fstack-protector -Wa,--noexecstack -Wall
# GCC seems unable to use c99 without ansi, which
# basically clobbers features back to c89. the options
# must be specified in the order shown.
PED = -std=gnu99 -pedantic # -fdiagnostics-show-option
PED = -std=gnu11 -pedantic # -fdiagnostics-show-option
else
OPT = -O3 -Wno-variadic-macros -fno-strict-aliasing -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
ifeq (x86_64, $(ARCH))
OPT += -Wall
endif
# TODO: use -fstack-protector-strong for gcc >= 4.9
OPT = -O3 -Wno-variadic-macros -fno-strict-aliasing -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -fstack-protector -Wa,--noexecstack -Wall -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-c++11-extensions
endif
ifeq (mac,$(OS))
......
......@@ -28,21 +28,15 @@ include $(TOP)/build/Makefile.shell
# load build configuration
include $(CONFIG_FILE)
# load platform-specific settings
include $(TOP)/build/Makefile.$(OS)
#-------------------------------------------------------------------------------
# install
#
# set up installation locations
# $TOOLS_TO_INSTALL
include $(TOP)/build/Makefile.tools
ifeq (1,$(HAVE_HDF5))
TOOLS_TO_INSTALL += pacbio-load
endif
# unset outside defined variables
ROOT =
LINUX_ROOT =
#fake root for debugging
#uncomment this line and change the test for root ( see under install: ) to succeed:
#uncomment this line and change the following test for root ( see under install: ) to succeed:
#ROOT = ~/root
ifeq (linux, $(OS))
ifeq (0, $(shell id -u))
......@@ -52,71 +46,93 @@ endif
ifeq (true, $(LINUX_ROOT))
KONFIG_DIR = $(ROOT)/etc/ncbi
INCLUDE_SYMLINK = $(ROOT)/usr/include/ncbi-vdb
PROFILE_FILE = $(ROOT)/etc/profile.d/ncbi-vdb
else
KONFIG_DIR = $(INST_BINDIR)/ncbi
KONFIG_DIR = $(LIB_TARGET)/ncbi
endif
EXE_TARGET = $(INST_BINDIR)
PROFILE_FILE = $(ROOT)/etc/profile.d/sra-tools
#-------------------------------------------------------------------------------
# install
#
LIBRARIES_TO_INSTALL = \
ncbi-vdb.$(VERSION_LIBX) \
ncbi-vdb.$(VERSION_SHLX) \
ncbi-wvdb.$(VERSION_LIBX) \
ncbi-wvdb.$(VERSION_SHLX) \
ncbi-ngs-c++.$(VERSION_LIBX) \
LIB_TARGET = $(INST_LIBDIR)$(BITS)
LIBRARIES_WITH_PREFIX = \
$(addprefix $(LIB_TARGET)/$(LPFX),$(LIBRARIES_TO_INSTALL))
installexes:
@ echo "Installing executables to $(INST_BINDIR)/..."
@ mkdir -p $(INST_BINDIR)
@ $(MAKE) -s --no-print-directory -f $(TOP)/build/Makefile.install $(TOOLS_TO_INSTALL)
@ printf "Installing magic file..."
@ $(COPY) $(TOP)/tools/copycat/magic $(INST_BINDIR) && echo "done"
checkversion:
$(TOOLS_TO_INSTALL):
@ printf "Installing $@..."
@ # ignore missing tools
@ - ( test -f $(BINDIR)/$@$(EXEX) || ( echo "not found" && false ) ) && \
$(COPY) $(BINDIR)/$@$(EXEX) $(BINDIR)/$@$(VERSION_EXEX) $(BINDIR)/$@$(MAJVERS_EXEX) $(INST_BINDIR) && \
echo "done"
copylibs: checkversion $(LIB_TARGET)
@ echo "Installing libraries to $(LIB_TARGET)"
@ $(MAKE) -f $(TOP)/build/Makefile.install $(LIBRARIES_WITH_PREFIX)
copykfg:
copyincludes: checkversion
@echo "Installing includes to $(INST_INCDIR)"
@mkdir -p $(INST_INCDIR)/ncbi-vdb
@cp $(TOP)/interfaces/ngs/ncbi/NGS.hpp $(INST_INCDIR)/ncbi-vdb
copykfg: checkversion
@ echo "Installing configuration files to $(KONFIG_DIR)"
@ $(TOP)/build/install-kfg.sh default.kfg $(BINDIR)/ncbi $(KONFIG_DIR) $(TOP)/shared/kfgsums
@ $(TOP)/build/install-kfg.sh certs.kfg $(BINDIR)/ncbi $(KONFIG_DIR) $(TOP)/shared/kfgsums
@ $(TOP)/build/install-kfg.sh vdb-copy.kfg $(TOP)/tools/vdb-copy $(KONFIG_DIR) $(TOP)/shared/kfgsums
@ $(TOP)/build/install-kfg.sh default.kfg $(TOP)/libs/kfg $(KONFIG_DIR) $(TOP)/libs/kfg/kfgsums
@ $(TOP)/build/install-kfg.sh certs.kfg $(TOP)/libs/kfg $(KONFIG_DIR) $(TOP)/libs/kfg/kfgsums
@ # rename obsolete ncbi-vdb.kfg
@ if [ -f $(KONFIG_DIR)/ncbi-vdb.kfg ] ; \
then mv -v $(KONFIG_DIR)/ncbi-vdb.kfg $(KONFIG_DIR)/ncbi-vdb.kfg.orig ; fi
install: installexes copykfg
install: copylibs copyincludes copykfg
ifeq (true, $(LINUX_ROOT))
@ # install symlink to includes
@ echo "Updating $(INCLUDE_SYMLINK)"
@ rm -f $(INCLUDE_SYMLINK)
@ ln -s $(INST_INCDIR)/ncbi-vdb $(INCLUDE_SYMLINK)
@ echo "Updating $(PROFILE_FILE).[c]sh"
@ printf \
"#version $(VERSION)\n"\
"if ! echo \$$PATH | /bin/grep -q $(EXE_TARGET)\n"\
"then export PATH=$(EXE_TARGET):\$$PATH\n"\
"fi" \
"if ! echo \$$LD_LIBRARY_PATH | /bin/grep -q $(LIB_TARGET)\n"\
"then export LD_LIBRARY_PATH=$(LIB_TARGET):\$$LD_LIBRARY_PATH\n"\
"fi\n" \
"export NCBI_VDB_LIBDIR=$(LIB_TARGET)\n" \
>$(PROFILE_FILE).sh && chmod 644 $(PROFILE_FILE).sh || true;
@ printf \
"#version $(VERSION)\n"\
"echo \$$PATH | /bin/grep -q $(EXE_TARGET)\n"\
"if ( \$$status ) setenv PATH $(EXE_TARGET):\$$PATH\n"\
"echo \$$LD_LIBRARY_PATH | /bin/grep -q $(LIB_TARGET)\n"\
"if ( \$$status ) setenv LD_LIBRARY_PATH $(LIB_TARGET):\$$LD_LIBRARY_PATH\n"\
"setenv NCBI_VDB_LIBDIR $(LIB_TARGET)\n" \
>$(PROFILE_FILE).csh && chmod 644 $(PROFILE_FILE).csh || true;
@ #TODO: check version of the files above
@ #
@ echo "Use \$$NCBI_VDB_LIBDIR in your link commands, e.g.:"
@ echo " ld -L\$$NCBI_VDB_LIBDIR -lncbi-vdb ..."
@ #
@ echo "Please add $(LIB_TARGET) to your LD_LIBRARY_PATH, e.g.:"
@ echo " export LD_LIBRARY_PATH=$(LIB_TARGET):\$$LD_LIBRARY_PATH"
@ #
@ echo "Use $(LIB_TARGET) in your link commands, e.g.:"
@ echo " export NCBI_VDB_LIBDIR=$(LIB_TARGET)"
@ echo " ld -L\$$NCBI_VDB_LIBDIR -lncbi-vdb ..."
endif
#-------------------------------------------------------------------------------
# uninstall
#
TO_UNINSTALL = $(addsuffix *,$(addprefix $(INST_BINDIR)/,$(TOOLS_TO_INSTALL) magic))
ifneq (true, $(LINUX_ROOT))
TO_UNINSTALL += $(INST_BINDIR)/ncbi/certs.kfg $(INST_BINDIR)/ncbi/ncbi-vdb.kfg $(INST_BINDIR)/ncbi/default.kfg $(INST_BINDIR)/ncbi/vdb-copy.kfg
endif
TO_UNINSTALL_AS_ROOT = $(ROOT)/etc/ncbi/certs.kfg $(ROOT)/etc/ncbi/default.kfg $(ROOT)/etc/ncbi/vdb-copy.kfg $(PROFILE_FILE).sh $(PROFILE_FILE).csh
TO_UNINSTALL = $(LIB_TARGET)/libncbi-vdb* $(LIB_TARGET)/libncbi-wvdb* $(LIB_TARGET)/libncbi-ngs-c++* $(INST_INCDIR)/ncbi-vdb $(KONFIG_DIR)/*.kfg
TO_UNINSTALL_AS_ROOT = $(INCLUDE_SYMLINK) $(PROFILE_FILE).sh $(PROFILE_FILE).csh
uninstall:
@ echo "Uninstalling sra-tools from $(INST_BINDIR)..."
rm -rf $(TO_UNINSTALL)
@ echo "Uninstalling $(TO_UNINSTALL) ..."
@ rm -rf $(TO_UNINSTALL)
ifeq (true, $(LINUX_ROOT))
@ echo "Uninstalling $(TO_UNINSTALL_AS_ROOT) ..."
@ rm -rf $(TO_UNINSTALL_AS_ROOT)
endif
@ echo "done."
.PHONY: install installexes uninstall
.PHONY: install copylibs copyincludes checkversion uninstall
......@@ -70,11 +70,8 @@ LEX = @ true
# build matrix
COMPILERS = GCC # ICC
# copy without following symlinks
COPY = cp -P
# valgrind
VALGRIND = export NCBI_VALGRIND=ncbi; valgrind --error-exitcode=1 --suppressions=$(TOP)/build/valgrind.suppress --show-reachable=no
VALGRIND = export NCBI_VALGRIND=ncbi; valgrind --error-exitcode=1 --suppressions=$(TOP)/build/valgrind.suppress --show-reachable=no --quiet --leak-check=full
VALGRIND_TARGETS = $(addprefix vg-,$(TEST_TOOLS))
......
# ===========================================================================
#
# PUBLIC DOMAIN NOTICE
# National Center for Biotechnology Information
#
# This software/database is a "United States Government Work" under the
# terms of the United States Copyright Act. It was written as part of
# the author's official duties as a United States Government employee and
# thus cannot be copyrighted. This software/database is freely available
# to the public for use. The National Library of Medicine and the U.S.
# Government have not placed any restriction on its use or reproduction.
#
# Although all reasonable efforts have been taken to ensure the accuracy
# and reliability of the software and data, the NLM and the U.S.
# Government do not and cannot warrant the performance or results that
# may be obtained by using this software or data. The NLM and the U.S.
# Government disclaim all warranties, express or implied, including
# warranties of performance, merchantability or fitness for any particular
# purpose.
#
# Please cite the author in any work or product based on this material.
#
# ===========================================================================
#VERBOSE=-v
# determine shell environment ($CONFIG_FILE)
include $(TOP)/build/Makefile.shell
# load build configuration ($TARGDIR) ($VERSION)
include $(CONFIG_FILE)
# $TOOLS_TO_INSTALL
include $(TOP)/build/Makefile.tools
ifeq (1,$(HAVE_HDF5))
TOOLS_TO_INSTALL += pacbio-load
endif
REVISION=0
PKGDIR=$(TARGDIR)/rpmbuild
RPM =$(PKGDIR)/RPMS/$(ARCH)/sra-toolkit-$(VERSION)-$(REVISION).$(ARCH).rpm
SRC =$(PKGDIR)/SOURCES/sra-toolkit-$(VERSION).tar.gz
SPEC=$(PKGDIR)/SPECS/sra-toolkit.spec
DST =$(PKGDIR)/sra-toolkit-$(VERSION)
TGZ=$(DST).tar.gz
clean_rpm:
echo 'DEBUGGING RPM: clean_rpm'
rm -rf $(DST) $(RPM) $(SPEC) $(SRC) $(TGZ)
rpm: $(RPM)
# echo DEBUGGING RPM: rpm $(TOP)/$(MODULE)
$(RPM): $(SPEC) $(SRC)
# echo 'DEBUGGING RPM: (RPM)'
rpmbuild --define "_topdir $(PKGDIR)" --define "_tmppath %{_topdir}/tmp" \
-bb $(SPEC)
SRC_DEPS = \
$(DST)/etc/ncbi/default.kfg \
$(DST)/etc/ncbi/certs.kfg \
$(DST)/etc/ncbi/schema.kfg \
$(DST)/etc/ncbi/vdb-copy.kfg \
$(DST)/usr/share/ncbi/schema
$(SRC): $(SRC_DEPS)
echo 'DEBUGGING RPM: (SRC)'
chmod -R g-w $(DST)
cd $(PKGDIR) ; tar $(VERBOSE) -zcf $(TGZ) --owner 0 --group 0 \
sra-toolkit-$(VERSION)
mkdir $(VERBOSE) -p $(PKGDIR)/SOURCES
cp $(VERBOSE) -p $(TGZ) $@
$(DST)/etc/ncbi/default.kfg: $(DST)
echo 'DEBUGGING RPM: (/etc/ncbi/default.kfg)'
rsync $(VERBOSE) -l --chmod=g-w $(VDB_LIBDIR)/ncbi/default.kfg $@
$(DST)/etc/ncbi/certs.kfg: $(DST)
echo 'DEBUGGING RPM: (/etc/ncbi/certs.kfg)'
rsync $(VERBOSE) -l --chmod=g-w $(VDB_LIBDIR)/ncbi/certs.kfg $@
$(DST)/etc/ncbi/schema.kfg: $(DST)
echo 'DEBUGGING RPM: (/etc/ncbi/schema.kfg)'
echo '/vdb/schema/paths = "/usr/share/ncbi/schema"' > $@
$(DST)/etc/ncbi/vdb-copy.kfg: $(DST)
echo 'DEBUGGING RPM: (/etc/ncbi/vdb-copy.kfg)'
rsync $(VERBOSE) -l --chmod=g-w $(BINDIR)/ncbi/vdb-copy.kfg $@
$(DST): $(PKGDIR)
# echo 'DEBUGGING RPM: (DST)'
mkdir $(VERBOSE) -p $(DST)/etc/ncbi
mkdir $(VERBOSE) -p $(DST)/usr/bin
$(MAKE) -s --no-print-directory -f $(TOP)/build/Makefile.rpm \
$(TOOLS_TO_INSTALL)
$(DST)/usr/share/ncbi/schema: $(DST)
echo 'DEBUGGING RPM: (/usr/share/ncbi/schema)'
mkdir $(VERBOSE) -p $@
rsync $(VERBOSE) -rmloptD --include '*.vschema' --include='*/' \
--exclude '*' $(VDB_INCDIR)/* $@
$(PKGDIR):
echo 'DEBUGGING RPM: (PKGDIR)'
mkdir $(VERBOSE) -p $@/{RPMS,SRPMS,BUILD,SOURCES,SPECS,tmp}
$(TOOLS_TO_INSTALL):
# echo 'DEBUGGING RPM: (TOOLS_TO_INSTALL)'
- ( test -f $(BINDIR)/$@ || ( echo "$@ not found" && false ) ) && \
rsync $(VERBOSE) -l $(BINDIR)/$@ $(BINDIR)/$@$(VERSION_EXEX) \
$(BINDIR)/$@$(MAJVERS_EXEX) $(DST)/usr/bin
$(SPEC): $(PKGDIR) $(TOP)/build/Makefile.rpm
# echo 'DEBUGGING RPM: (SPEC)'
mkdir -p $(PKGDIR)/SPECS
printf \
"%%define __spec_install_post %%{nil}\n"\
"%%define debug_package %%{nil}\n"\
"%%define __os_install_post %%{_dbpath}/brp-compress\n"\
"\n"\
"Summary: SRA Toolkit package\n"\
"Name: sra-toolkit\n"\
"Version: $(VERSION)\n"\
"Release: $(REVISION)\n"\
"License: Public Domain\n"\
"Group: NCBI/VDB\n"\
"SOURCE0 : %%{name}-%%{version}.tar.gz\n"\
"URL: http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software\n"\
"\n"\
"BuildRoot: %%{_tmppath}/%%{name}-%%{version}-%%{release}-root\n"\
"\n"\
"%%description\n"\
"%%{summary}\n"\
"\n"\
"%%prep\n"\
"%%setup -q\n"\
"\n"\
"%%build\n"\
"# Empty section.\n"\
"\n"\
"%%install\n"\
"rm -rf %%{buildroot}\n"\
"mkdir -p %%{buildroot}\n"\
"\n"\
"# in builddir\n"\
"cp -a * %%{buildroot}\n"\
"\n"\
"%%clean\n"\
"rm -rf %%{buildroot}\n"\
"\n"\
"%%files\n"\
"%%defattr(-,root,root,-)\n"\
"%%{_bindir}/*\n"\
"/etc/ncbi/*\n"\
"/usr/share/ncbi/schema/*/*\n"\
"\n"\
"%%post\n"\
"if [ -e /etc/profile.d/sra-tools.csh ] || [ -e /etc/profile.d/sra-tools.sh ]"\
"\n"\
"then\n"\
" FOUND=1\n"\
"fi\n"\
'if [ "$$FOUND" != "" ] ; then'\
"\n"\
" echo User installation of sra-tools is found.\n"\
" if [ -e /etc/profile.d/sra-tools.csh ] ; then\n"\
" mv -v /etc/profile.d/sra-tools.csh /etc/profile.d/sra-tools.csh.bak\n"\
" fi\n"\
" if [ -e /etc/profile.d/sra-tools.sh ] ; then\n"\
" mv -v /etc/profile.d/sra-tools.sh /etc/profile.d/sra-tools.sh.bak\n"\
" fi\n"\
" echo /etc/profile.d/sra-tools.[c]sh was updated.\n"\
" echo You might need to relogin to have your PATH variable updated.\n"\
"fi\n" > $@
......@@ -100,9 +100,10 @@ LOC_INFO = -D__mod_name__=$(MODULE) -D__file_name__=$*
$(CP) -S -o $@ -fPIC $(NOPT) $<
# yacc and lex
#%.c: %.y
# these are disabled for now (and LEX and YACC defined as 'true') - use source controlled .c files;
#$(SRCDIR)/%.c: %.y
# $(YACC) -o $@ $^
#%.c: %.l
#$(SRCDIR)/%.c: %.l
# $(LEX) -DYY_BUF_SIZE=16777216 -t $< | grep -v '^#line' > $@
# version include generation
......
......@@ -24,7 +24,7 @@
CONFIG_FILE = $(TOP)/build/Makefile.config
ifeq (no, $(shell test -f $(CONFIG_FILE) && echo yes || echo no))
$(error "*** File '$(CONFIG_FILE)' is missing. Please run $(TOP)/configure")
$(error "*** File '$(CONFIG_FILE)' is missing. Please run $(TOP)/build/configure")
endif
# determine OS
......@@ -35,11 +35,6 @@ ifeq (Darwin, $(UNAME))
endif
ifeq (Linux, $(UNAME))
HOST_OS = linux
OS_DISTRIBUTOR = $(shell lsb_release -si)
EXECMDF = $(TOP)/build/ld.linux.exe_cmd.sh
ifeq (no, $(shell test -f $(EXECMDF) && echo yes || echo no))
$(error "*** File '$(EXECMDF)' is missing. Please run $(TOP)/configure")
endif
endif
ifeq (SunOS, $(UNAME))
HOST_OS = sun
......@@ -60,14 +55,6 @@ BUILD_OS = $(OS)
ARCHITECTURES = default
ifeq (mac,$(HOST_OS))
HOST_ARCH = $(shell $(TOP)/build/mac.arch.sh)
OS_ARCH = $(shell perl $(TOP)/setup/os-arch.perl)
CONFIG_FILE_OA = $(TOP)/build/Makefile.config.$(OS_ARCH)
ifeq (no, $(shell test -f $(CONFIG_FILE_OA) && echo yes || echo no))
$(error "*** File '$(CONFIG_FILE_OA)' is missing. Please run $(TOP)/configure")
endif
ifeq (no, $(shell grep CONFIGURE_FOUND_XML2 $(CONFIG_FILE_OA) && echo yes || echo no))
$(error "*** 'CONFIGURE_FOUND_XML2' is missing in $(CONFIG_FILE_OA). Please run $(TOP)/configure")
endif
else
MARCH = $(shell uname -m)
......
......@@ -103,6 +103,7 @@ $(SUBDIRS_SLOWTESTS):
.PHONY: slowtests $(SUBDIRS_SLOWTESTS)
#-------------------------------------------------------------------------------
# valgrind
#
......@@ -114,4 +115,3 @@ $(SUBDIRS_VALGRIND):
@ $(MAKE) -C $(subst _valgrind,,$@) valgrind
.PHONY: valgrind $(SUBDIRS_VALGRIND)
TOOLS_TO_INSTALL = \
abi-dump \
abi-load \
align-info \
bam-load \
cache-mgr \
cg-load \
copycat \
fastdump \
fastq-dump \
fastq-load \
helicos-load \
illumina-dump \
illumina-load \
kar \
kdbmeta \
kget \
latf-load \
prefetch \
rcexplain \
remote-fuser \
sam-dump \
sff-dump \
sff-load \
srapath \
sra-pileup \
sra-sort \
sra-stat \
srf-load \
test-sra \
vdb-config \
vdb-copy \
vdb-decrypt \
vdb-dump \
vdb-encrypt \
vdb-lock \
vdb-passwd \
vdb-unlock \
vdb-validate \
......@@ -22,5 +22,5 @@
#
# ===========================================================================
# SRA-TOOLS and library version
VERSION = 2.9.0
# NCBI-VDB and library version
VERSION = 2.9.1