1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
# ===========================================================================
#
# 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.
#
# ===========================================================================
# determine shell environment
include $(TOP)/build/Makefile.shell
# load build configuration
include $(CONFIG_FILE)
# load platform-specific settings
include $(TOP)/build/Makefile.$(OS)
#-------------------------------------------------------------------------------
# install
#
# $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:
#ROOT = ~/root
ROOT=$(CURDIR)/debian/sra-toolkit
ifeq (linux, $(OS))
ifeq (0, $(shell id -u))
LINUX_ROOT = true
endif
endif
ifeq (true, $(LINUX_ROOT))
KONFIG_DIR = $(ROOT)/etc/ncbi
PROFILE_FILE = $(ROOT)/etc/profile.d/ncbi-vdb
else
KONFIG_DIR = $(INST_BINDIR)/ncbi
endif
EXE_TARGET = $(INST_BINDIR)
PROFILE_FILE = $(ROOT)/etc/profile.d/sra-tools
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"
$(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"
copykfg:
@ 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
@ # 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
ifeq (true, $(LINUX_ROOT))
@ 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" \
>$(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"\
>$(PROFILE_FILE).csh && chmod 644 $(PROFILE_FILE).csh || true;
@ #TODO: check version of the files above
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
uninstall:
@ echo "Uninstalling sra-tools from $(INST_BINDIR)..."
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
|