File: Makefile.install

package info (click to toggle)
sra-sdk 2.9.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 31,724 kB
  • sloc: ansic: 182,592; cpp: 33,717; sh: 5,385; perl: 4,969; makefile: 4,030; python: 3,560; java: 2,363; yacc: 786; lex: 416; lisp: 77; xml: 54
file content (127 lines) | stat: -rw-r--r-- 4,642 bytes parent folder | download
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