aboutsummaryrefslogtreecommitdiff
path: root/configure
blob: be18c2571b4406a3fbf9a817585f6ee1ad4d0a20 (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
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
#! /bin/sh
#
# Necessary preparations/configurations for the reproduction pipeline.
#
# Original author:
#     Your name <your@email.address>
# Contributing author(s):
# Copyright (C) YYYY, Your Name.
#
# This script 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.
#
# This script 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.
#
# A copy of the GNU General Public License is available at
# <http://www.gnu.org/licenses/>.





# Location of the settings directory:
pdir=reproduce/config/pipeline


# Message to print for editing
function msg {
    echo; echo "Top-level reproduction directories are set.";
    echo "Please run the following command to start the pipeline:"
    echo "(Replace '8' with the number of CPU threads available)"
    echo; echo "    make -j8"
    echo;
}


# If `DIRECTORIES.mk' is already created, then ignore this step.
if [ -f $pdir/DIRECTORIES.mk ]; then
    echo
    echo "$pdir/DIRECTORIES.mk already exists."
    echo "To change/correct the top-level directories, please remove/edit it manually."
    echo
else

    # Copy the base file to the desired output file.
    if cp $pdir/DIRECTORIES.mk.in $pdir/DIRECTORIES.mk; then

        # Tell the user to edit the directories.
        while [ "$userread" != "y" -a "$userread" != "n" ]
        do
            echo "Top-level directories..."
            echo
            echo "These directories define the input(s) location and the"
            echo "directory to host the intermediate/processing files."
            echo
            echo "To help in your ability to read and manage this pipeline,"
            echo "it is recommended (but not mandatory) to change them to"
            echo "a directory outside this reproduction pipeline."
            echo
            echo "More descriptions are provided within the file that is"
            echo "opened if you choose to edit the directories."
            echo
            read -p"Edit the default top-level directories (y/n)? " userread
        done

        # Only continue if the user wants to edit the top level
        # directories
        if [ $userread = "y" ]; then

            # Open a text editor to set the given directories
            if emacs $pdir/DIRECTORIES.mk;   then msg
            elif gedit $pdir/DIRECTORIES.mk; then msg
            elif vi $pdir/DIRECTORIES.mk;    then msg
            else
                echo
                echo "No common text editor found on your system."
                echo "Please set the values in '$pdir/DIRECTORIES.mk' manually."
                echo
            fi
        fi
    else
        echo; echo "Couldn't create $pdir/DIRECTORIES.mk"
    fi
fi