#! /bin/sh # # Necessary preparations/configurations for the reproduction pipeline. # # Original author: # Your name # 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 # . # Location of the settings directory: pdir=reproduce/config/pipeline # If `LOCAL.mk' is already created, then ignore this step. if [ -f $pdir/LOCAL.mk ]; then echo echo "$pdir/LOCAL.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/LOCAL.mk.in $pdir/LOCAL.mk; then # Tell the user to edit the directories. while [ "$userread" != "y" -a "$userread" != "n" ] do echo echo "------------------------------------" echo "Reproduction pipeline local configuration" echo "-----------------------------------------" echo echo "Local settings include things like top-level directories," echo "or processing steps (e.g., if you want a final PDF output)." echo echo "Pressing 'y' will open the local settings file in an editor" echo "so you can modify the default values if you want. Each" echo "variable is also thoroughly described in the comments (lines" echo "starting with a '#') above it." echo read -p"Edit the default local configuration (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/LOCAL.mk; then junk=1 elif gedit $pdir/LOCAL.mk; then junk=1 elif vi $pdir/LOCAL.mk; then junk=1 else echo echo "No common text editor found on your system." echo "Please set the values in '$pdir/LOCAL.mk' manually." echo fi fi echo echo "This reproduction pipeline has been configured for this system." 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 echo echo "(you can always check/modify the default local settings" echo " by editing this file: '$pdir/LOCAL.mk')" echo else echo; echo "Couldn't create $pdir/LOCAL.mk" fi fi