aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/shell/bashrc.sh
blob: 69bbba678b93d7be63607090c080cc7a6183c59a (plain)
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
# Bash startup file for better control of project environment.
#
# To have better control over the environment of each analysis step (Make
# recipe), besides having environment variables (directly included from
# Make), it may also be useful to have a Bash startup file (this file). All
# of the Makefiles set this file as the `BASH_ENV' environment variable, so
# it is loaded into all the Make recipes within the project.
#
# The special `PROJECT_STATUS' environment variable is defined in every
# top-level Makefile of the project. It defines the the state of the Make
# that is calling this script. It can have three values:
#
#    configure_basic
#    ---------------
#       When doing basic configuration, therefore the executed steps cannot
#       make any assumptions about the version of Bash (or any other
#       program). Therefore it is important for any step in this step to be
#       highly portable.
#
#    configure_highlevel
#    -------------------
#       When building the higher-level programs, so the versions of the
#       most basic tools are set and you may safely assume certain
#       features.
#
#    make
#    ----
#       When doing the project's analysis: all software have known
#       versions.
#
#
# Copyright (C) 2019-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This script is part of Maneage. Maneage is free software: you can
# redistribute it and/or modify it under the terms of the GNU General
# Public License as published by the Free Software Foundation, either
# version 3 of the License, or (at your option) any later version.
#
# Maneage is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
# more details. See <http://www.gnu.org/licenses/>.