aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce')
-rw-r--r--reproduce/config/gnuastro/gnuastro.conf15
-rw-r--r--reproduce/config/pipeline/INPUTS.mk2
-rw-r--r--reproduce/config/pipeline/LOCAL.mk.in2
-rw-r--r--reproduce/config/pipeline/dependency-numpy-scipy.cfg2
-rw-r--r--reproduce/config/pipeline/pdf-build.mk6
-rw-r--r--reproduce/config/pipeline/texlive.conf5
-rwxr-xr-xreproduce/src/bash/download-multi-try8
-rw-r--r--reproduce/src/bash/git-post-checkout2
-rw-r--r--reproduce/src/bash/git-pre-commit2
-rw-r--r--reproduce/src/make/dependencies-basic.mk30
-rw-r--r--reproduce/src/make/dependencies-build-rules.mk4
-rw-r--r--reproduce/src/make/dependencies-python.mk2
-rw-r--r--reproduce/src/make/dependencies.mk27
-rw-r--r--reproduce/src/make/download.mk6
-rw-r--r--reproduce/src/make/initialize.mk40
-rw-r--r--reproduce/src/make/paper.mk17
-rw-r--r--reproduce/src/make/top.mk31
17 files changed, 94 insertions, 107 deletions
diff --git a/reproduce/config/gnuastro/gnuastro.conf b/reproduce/config/gnuastro/gnuastro.conf
index fbdfa37..57fcadc 100644
--- a/reproduce/config/gnuastro/gnuastro.conf
+++ b/reproduce/config/gnuastro/gnuastro.conf
@@ -1,14 +1,13 @@
# Default values for the common options to all the programs in GNU
# Astronomy Utitlies.
#
-# IMPORTANT NOTE FOR THE REPRODUCTION PIPELINE: The `lastconfig'
-# option is very important here, because we don't want any of
-# Gnuastro's programs to go into an un-controlled environment (user or
-# system wide configuration files).
+# IMPORTANT NOTE: The `lastconfig' option is very important in a
+# reproducible environment. Because we don't want any of Gnuastro's
+# programs to go into an un-controlled environment (user or system wide
+# configuration files).
#
-# The rest of this configuration file in this template reproduction
-# pipeline is taken from the default Gnuastro configuration from its
-# source (`bin/gnuastro.conf').
+# The rest of this configuration file is taken from the default Gnuastro
+# configuration from its source (`bin/gnuastro.conf').
#
# Copyright (C) 2018-2019 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
@@ -17,7 +16,7 @@
# this notice are preserved. This file is offered as-is, without any
# warranty.
-# Reproduction pipeline (`config' has to be before `lastconfig').
+# Local project settings (`config' has to be before `lastconfig').
config .gnuastro/gnuastro-local.conf
lastconfig 1
diff --git a/reproduce/config/pipeline/INPUTS.mk b/reproduce/config/pipeline/INPUTS.mk
index dbcb5fe..eb38295 100644
--- a/reproduce/config/pipeline/INPUTS.mk
+++ b/reproduce/config/pipeline/INPUTS.mk
@@ -1,4 +1,4 @@
-# Input files necessary for this pipeline.
+# Input files necessary for this project.
#
# This file is read by the configure script and running Makefiles.
#
diff --git a/reproduce/config/pipeline/LOCAL.mk.in b/reproduce/config/pipeline/LOCAL.mk.in
index 7de88d3..785bb6a 100644
--- a/reproduce/config/pipeline/LOCAL.mk.in
+++ b/reproduce/config/pipeline/LOCAL.mk.in
@@ -1,4 +1,4 @@
-# Local pipeline configuration.
+# Local project configuration.
#
# This is just a template for the `./configure' script to fill in. Please
# don't make any change to this file.
diff --git a/reproduce/config/pipeline/dependency-numpy-scipy.cfg b/reproduce/config/pipeline/dependency-numpy-scipy.cfg
index 7590427..4b7a7b0 100644
--- a/reproduce/config/pipeline/dependency-numpy-scipy.cfg
+++ b/reproduce/config/pipeline/dependency-numpy-scipy.cfg
@@ -1,4 +1,4 @@
-# THIS IS A COPY OF NUMPY'S site.cfg.example, CUSTOMIZED FOR THIS PIPELINE
+# THIS IS A COPY OF NUMPY'S site.cfg.example, CUSTOMIZED FOR THIS TEMPLATE
# ------------------------------------------------------------------------
# This file provides configuration information about non-Python
diff --git a/reproduce/config/pipeline/pdf-build.mk b/reproduce/config/pipeline/pdf-build.mk
index 02af72d..3a86ff3 100644
--- a/reproduce/config/pipeline/pdf-build.mk
+++ b/reproduce/config/pipeline/pdf-build.mk
@@ -1,9 +1,9 @@
# Make the final PDF?
# -------------------
#
-# During the testing a pipeline, it is usually not necessary to build the
-# PDF file (which makes a lot of output lines on the command-line and can
-# make it hard to find the commands and possible errors (and their
+# During the project's early phases, it is usually not necessary to build
+# the PDF file (which makes a lot of output lines on the command-line and
+# can make it hard to find the commands and possible errors (and their
# outputs). Also, in some cases, only the produced results may be of
# interest and not the final PDF, so LaTeX (and its necessary packages) may
# not be installed.
diff --git a/reproduce/config/pipeline/texlive.conf b/reproduce/config/pipeline/texlive.conf
index 8a9fb8e..53054e1 100644
--- a/reproduce/config/pipeline/texlive.conf
+++ b/reproduce/config/pipeline/texlive.conf
@@ -1,7 +1,6 @@
# Basic profile for build. Values to set:
#
# installdir: Install directory
-# topdir: Top pipeline directory
#
# Copyright (C) 2018-2019 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
@@ -11,11 +10,11 @@
# warranty.
selected_scheme scheme-basic
TEXDIR @installdir@/texlive/2018
-TEXMFCONFIG @topdir@/.texlive2018/texmf-config
+TEXMFCONFIG @installdir@/texlive2018/texmf-config
TEXMFLOCAL @installdir@/texlive/texmf-local
TEXMFSYSCONFIG @installdir@/texlive/2018/texmf-config
TEXMFSYSVAR @installdir@/texlive/2018/texmf-var
-TEXMFVAR @topdir@/.texlive2018/texmf-var
+TEXMFVAR @installdir@/texlive2018/texmf-var
instopt_adjustpath 0
instopt_adjustrepo 1
instopt_letter 0
diff --git a/reproduce/src/bash/download-multi-try b/reproduce/src/bash/download-multi-try
index 2399b5d..1fd7497 100755
--- a/reproduce/src/bash/download-multi-try
+++ b/reproduce/src/bash/download-multi-try
@@ -1,4 +1,4 @@
-# Attempt downloading multiple times before crashing whole pipeline. From
+# Attempt downloading multiple times before crashing whole project. From
# the top project directory (for the shebang above), this script must be
# run like this:
#
@@ -10,13 +10,13 @@
#
# Due to temporary network problems, a download may fail suddenly, but
# succeed in a second try a few seconds later. Without this script that
-# temporary glitch in the network will permanently crash the pipeline and
+# temporary glitch in the network will permanently crash the project and
# it can't continue. The job of this script is to be patient and try the
-# download multiple times before crashing the whole pipeline.
+# download multiple times before crashing the whole project.
#
# LOCK FILE: Since there is ultimately only one network port to the outside
# world, downloading is done much faster in serial, not in parallel. But
-# the pipeline's processing may be done in parallel (with multiple threads
+# the project's processing may be done in parallel (with multiple threads
# needing to download different files at the same time). Therefore, this
# script uses the `flock' program to only do one download at a time. To
# benefit from it, any call to this script must be given the same lock
diff --git a/reproduce/src/bash/git-post-checkout b/reproduce/src/bash/git-post-checkout
index ef85c44..9552f01 100644
--- a/reproduce/src/bash/git-post-checkout
+++ b/reproduce/src/bash/git-post-checkout
@@ -7,7 +7,7 @@
# Copyright (C) 2018-2019 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This script is taken from the `examples/hooks/pre-commit' file of the
-# `metastore' package (installed within the pipeline, with an MIT license
+# `metastore' package (installed within the project, with an MIT license
# for copyright). We have just changed the name of the `MSFILE' and also
# set special characters for the installation location of meta-store so our
# own installation is found by Git.
diff --git a/reproduce/src/bash/git-pre-commit b/reproduce/src/bash/git-pre-commit
index 09abce7..dbe0ecc 100644
--- a/reproduce/src/bash/git-pre-commit
+++ b/reproduce/src/bash/git-pre-commit
@@ -18,7 +18,7 @@
# git checkout HEAD -- .metadata
#
# This script is taken from the `examples/hooks/pre-commit' file of the
-# `metastore' package (installed within the pipeline, with an MIT license
+# `metastore' package (installed within the project, with an MIT license
# for copyright). Here, the name of the `MSFILE' and also set special
# characters for the installation location of meta-store so our own
# installation is found by Git.
diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk
index e3a5ab3..b56d01d 100644
--- a/reproduce/src/make/dependencies-basic.mk
+++ b/reproduce/src/make/dependencies-basic.mk
@@ -1,5 +1,5 @@
-# Build the VERY BASIC reproduction pipeline dependencies before everything
-# else using minimum Make and Shell.
+# Build the VERY BASIC project dependencies before everything else assuming
+# minimal/generic Make and Shell.
#
# ------------------------------------------------------------------------
# !!!!! IMPORTANT NOTES !!!!!
@@ -52,8 +52,8 @@ ilidir = $(BDIR)/dependencies/installed/version-info/lib
# won't be building ourselves.
syspath := $(PATH)
-# As we build more programs, we want to use our own pipeline's built
-# programs and libraries, not the host's.
+# As we build more programs, we want to use this project's built programs
+# and libraries, not the host's.
export CCACHE_DISABLE := 1
export PATH := $(ibdir):$(PATH)
export PKG_CONFIG_PATH := $(ildir)/pkgconfig
@@ -217,7 +217,7 @@ makelink = origpath="$$PATH"; \
if [ x$$a = x ]; then \
if [ "x$(strip $(2))" = xmandatory ]; then \
echo "'$(1)' is necessary for higher-level tools."; \
- echo "Please install it for the pipeline to continue."; \
+ echo "Please install it for the configuration to continue."; \
exit 1; \
fi; \
else \
@@ -231,7 +231,7 @@ $(ibidir)/low-level-links: | $(ibdir) $(ildir)
$(call makelink,as)
# Compiler (Cmake needs the clang compiler which we aren't building
- # yet in the pipeline).
+ # yet in the project).
$(call makelink,clang)
$(call makelink,clang++)
@@ -351,7 +351,7 @@ $(ibidir)/tar: $(tdir)/tar-$(tar-version).tar.gz \
$(ibidir)/lzip \
$(ibidir)/gzip \
$(ibidir)/xz
- # Since all later programs depend on Tar, the pipeline will be
+ # Since all later programs depend on Tar, the configuration will be
# stuck here, only making Tar. So its more efficient to built it on
# multiple threads (when the user's Make doesn't pass down the
# number of threads).
@@ -394,8 +394,8 @@ $(ilidir)/ncurses: $(tdir)/ncurses-$(ncurses-version).tar.gz \
# Delete the (possibly existing) low-level programs that depend on
# `readline', and thus `ncurses'. Since these programs are actually
# used during the building of `ncurses', we need to delete them so
- # the build process doesn't use the pipeline's Bash and AWK, but
- # the host systems.
+ # the build process doesn't use the project's Bash and AWK, but the
+ # host's.
rm -f $(ibdir)/bash* $(ibdir)/awk* $(ibdir)/gawk*
# Standard build process.
@@ -489,8 +489,8 @@ $(ibidir)/patchelf: $(tdir)/patchelf-$(patchelf-version).tar.gz \
# of Readline, that we build below as a prerequisite or AWK, is used) and
# you run `ldd $(ibdir)/bash' on the resulting binary, it will say that it
# is linking with the system's `readline'. But if you run that same command
-# within a rule in this reproduction pipeline, you'll see that it is indeed
-# linking with our own built readline.
+# within a rule in this project, you'll see that it is indeed linking with
+# our own built readline.
ifeq ($(on_mac_os),yes)
needpatchelf =
else
@@ -570,7 +570,7 @@ $(ilidir)/zlib: $(tdir)/zlib-$(zlib-version).tar.gz \
# build libssl (and libcrypto) dynamically also.
#
# Until we find a nice and generic way to create an updated CA file in the
-# pipeline, the certificates will be available in a file for this pipeline
+# project, the certificates will be available in a file for this pipeline
# along with the other tarballs.
#
# In case you do want a static OpenSSL and libcrypto, then uncomment the
@@ -621,7 +621,7 @@ $(ilidir)/openssl: $(tdir)/openssl-$(openssl-version).tar.gz \
# gives a segmentation fault when built statically.
#
# There are many network related libraries that we are currently not
-# building as part of this pipeline. So to avoid too much dependency on the
+# building as part of this project. So to avoid too much dependency on the
# host system (especially a crash when these libraries are updated on the
# host), they are disabled here.
$(ibidir)/wget: $(tdir)/wget-$(wget-version).tar.lz \
@@ -795,7 +795,7 @@ $(ilidir)/mpc: $(tdir)/mpc-$(mpc-version).tar.gz \
# Objective C and Objective C++ is necessary for installing `matplotlib'.
#
# We are currently having problems installing GCC on macOS, so for the time
-# being, if the pipeline is being run on a macOS, we'll just set a link.
+# being, if the project is being run on a macOS, we'll just set a link.
ifeq ($(host_cc),1)
gcc-prerequisites =
else
@@ -816,7 +816,7 @@ $(ibidir)/gcc: $(gcc-prerequisites) \
$(ibidir)/findutils
# GCC builds is own libraries in '$(idir)/lib64'. But all other
- # libraries are in '$(idir)/lib'. Since this pipeline is only for a
+ # libraries are in '$(idir)/lib'. Since this project is only for a
# single architecture, we can trick GCC into building its libraries
# in '$(idir)/lib' by defining the '$(idir)/lib64' as a symbolic
# link to '$(idir)/lib'.
diff --git a/reproduce/src/make/dependencies-build-rules.mk b/reproduce/src/make/dependencies-build-rules.mk
index 2523f6a..a8c8731 100644
--- a/reproduce/src/make/dependencies-build-rules.mk
+++ b/reproduce/src/make/dependencies-build-rules.mk
@@ -110,8 +110,8 @@ cbuild = if [ x$(static_build) = xyes ] && [ $(3)x = staticx ]; then \
opts="-DBUILD_SHARED_LIBS=OFF"; \
fi; \
cd $(ddir) && rm -rf $(2) && tar xf $(1) && cd $(2) && \
- rm -rf pipeline-build && mkdir pipeline-build && \
- cd pipeline-build && \
+ rm -rf project-build && mkdir project-build && \
+ cd project-build && \
cmake .. -DCMAKE_LIBRARY_PATH=$(ildir) \
-DCMAKE_INSTALL_PREFIX=$(idir) \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON $$opts $(4) && \
diff --git a/reproduce/src/make/dependencies-python.mk b/reproduce/src/make/dependencies-python.mk
index ce1cd38..837b0ad 100644
--- a/reproduce/src/make/dependencies-python.mk
+++ b/reproduce/src/make/dependencies-python.mk
@@ -1,4 +1,4 @@
-# Build the reproduction pipeline Python dependencies.
+# Build the project's Python dependencies.
#
# ------------------------------------------------------------------------
# !!!!! IMPORTANT NOTES !!!!!
diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk
index 72cb7c4..fd9bffa 100644
--- a/reproduce/src/make/dependencies.mk
+++ b/reproduce/src/make/dependencies.mk
@@ -1,4 +1,4 @@
-# Build the reproduction pipeline dependencies (programs and libraries).
+# Build the project's dependencies (programs and libraries).
#
# ------------------------------------------------------------------------
# !!!!! IMPORTANT NOTES !!!!!
@@ -46,7 +46,7 @@ ipydir = $(BDIR)/dependencies/installed/version-info/python
# Define the top-level programs to build (installed in `.local/bin').
#
-# About ATLAS: currently the core pipeline does not depend on ATLAS but many
+# About ATLAS: currently the template does not depend on ATLAS but many
# high level software depend on it. The current rule for ATLAS is tested
# successfully on Mac (only static) and GNU/Linux (shared and static). But,
# since it takes a few hours to build, it is not currently a target.
@@ -486,12 +486,12 @@ $(ibidir)/cmake: $(tdir)/cmake-$(cmake-version).tar.gz \
# cURL (and its library, which is needed by several programs here) can
# optionally link with many different network-related libraries on the host
-# system that we are not yet building in the pipeline. Many of these are
+# system that we are not yet building in the template. Many of these are
# not relevant to most science projects, so we are explicitly using
# `--without-XXX' or `--disable-XXX' so cURL doesn't link with them. Note
-# that if it does link with them, the pipeline will crash when the library
-# is updated/changed by the host, and the whole purpose of this pipeline is
-# avoid dependency on the host as much as possible.
+# that if it does link with them, the configuration will crash when the
+# library is updated/changed by the host, and the whole purpose of this
+# project is avoid dependency on the host as much as possible.
$(ibidir)/curl: $(tdir)/curl-$(curl-version).tar.gz
$(call gbuild, $<, curl-$(curl-version), , \
LIBS="-pthread" \
@@ -526,7 +526,7 @@ $(ibidir)/git: $(tdir)/git-$(git-version).tar.xz \
# Metastore is used (through a Git hook) to restore the source modification
# dates of files after a Git checkout. Another Git hook saves all file
# metadata just before a commit (to allow restoration after a
-# checkout). Since this pipeline is managed in Makefiles, file modification
+# checkout). Since this project is managed in Makefiles, file modification
# dates are critical to not having to redo the whole analysis after
# checking out between branches.
#
@@ -583,8 +583,8 @@ $(ibidir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \
echo "metastore couldn't be installed!"
echo
echo "Its used for preserving timestamps on Git commits."
- echo "Its useful for development, not simple running of the pipeline."
- echo "So we won't stop the pipeline because it wasn't built."
+ echo "Its useful for development, not simple running of the project."
+ echo "So we won't stop the configuration because it wasn't built."
echo "*****************"
fi
@@ -634,8 +634,8 @@ $(ibidir)/zip: $(tdir)/zip-$(zip-version).tar.gz
# Since we want to avoid complicating the PATH, we are putting a symbolic
# link of all the TeX Live executables in $(ibdir). But symbolic links are
# hard to track for Make (as a target). Also, TeX in general is optional
-# for the pipeline (the processing is the main target, not the generation
-# of the final PDF). So we'll make a simple ASCII file called
+# for the project (the processing is the main target, not the generation of
+# the final PDF). So we'll make a simple ASCII file called
# `texlive-ready-tlmgr' and use its contents to mark if we can use it or
# not.
$(itidir)/texlive-ready-tlmgr: $(tdir)/install-tl-unx.tar.gz \
@@ -648,7 +648,7 @@ $(itidir)/texlive-ready-tlmgr: $(tdir)/install-tl-unx.tar.gz \
rm -rf install-tl-*
tar xf $(tdir)/install-tl-unx.tar.gz
cd install-tl-*
- sed -e's|@installdir[@]|$(idir)|g' -e's|@topdir[@]|'"$$topdir"'|g' \
+ sed -e's|@installdir[@]|$(idir)|g' \
$$topdir/reproduce/config/pipeline/texlive.conf > texlive.conf
# TeX Live's installation may fail due to any reason. But TeX Live
@@ -688,9 +688,6 @@ $(itidir)/texlive: reproduce/config/pipeline/dependency-texlive.mk \
if [ x"$$res" = x"NOT!" ]; then
echo "" > $@
else
- # The current directory is necessary later.
- topdir=$$(pwd)
-
# Install all the extra necessary packages. If LaTeX complains
# about not finding a command/file/what-ever/XXXXXX, simply run
# the following command to find which package its in, then add it
diff --git a/reproduce/src/make/download.mk b/reproduce/src/make/download.mk
index 28ee5ff..dfc49da 100644
--- a/reproduce/src/make/download.mk
+++ b/reproduce/src/make/download.mk
@@ -25,8 +25,8 @@
# --------------------
#
# The input dataset properties are defined in `$(pconfdir)/INPUTS.mk'. For
-# this template pipeline we only have one dataset to enable easy
-# processing, so all the extra checks in this rule may seem redundant.
+# this template we only have one dataset to enable easy processing, so all
+# the extra checks in this rule may seem redundant.
#
# In a real project, you will need more than one dataset. In that case,
# just add them to the target list and add an `elif' statement to define it
@@ -35,7 +35,7 @@
# Files in a server usually have very long names, which are mainly designed
# for helping in data-base management and being generic. Since Make uses
# file names to identify which rule to execute, and the scope of this
-# research pipeline is much less than the generic survey/dataset, it is
+# research project is much less than the generic survey/dataset, it is
# easier to have a simple/short name for the input dataset and work with
# that. In the first condition of the recipe below, we connect the short
# name with the raw database name of the dataset.
diff --git a/reproduce/src/make/initialize.mk b/reproduce/src/make/initialize.mk
index f9e054f..cd533f2 100644
--- a/reproduce/src/make/initialize.mk
+++ b/reproduce/src/make/initialize.mk
@@ -1,4 +1,4 @@
-# Initialize the reproduction pipeline.
+# Project initialization.
#
# Copyright (C) 2018-2019 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
@@ -22,14 +22,14 @@
# High-level directory definitions
# --------------------------------
#
-# Basic directories that are used throughout the whole pipeline.
+# Basic directories that are used throughout the project.
#
# Locks are used to make sure that an operation is done in series not in
# parallel (even if Make is run in parallel with the `-j' option). The most
# common case is downloads which are better done in series and not in
# parallel. Also, some programs may not be thread-safe, therefore it will
-# be necessary to put a lock on them. This pipeline uses the `flock'
-# program to achieve this.
+# be necessary to put a lock on them. This project uses the `flock' program
+# to achieve this.
texdir = $(BDIR)/tex
srcdir = reproduce/src
lockdir = $(BDIR)/locks
@@ -48,7 +48,7 @@ gconfdir = reproduce/config/gnuastro
# TeX build directory
# ------------------
#
-# In scenarios where multiple users are working on the pipeline
+# In scenarios where multiple users are working on the project
# simultaneously, they can't all build the final paper together, there will
# be conflicts! It is possible to manage the working on the analysis, so no
# conflict is caused in that phase, but it would be very slow to only let
@@ -99,7 +99,7 @@ curdir := $(shell echo $$(pwd))
# want Make to run the specific version of Bash that we have installed
# during `./configure' time.
#
-# Regarding the directories, this pipeline builds its major dependencies
+# Regarding the directories, this project builds its major dependencies
# itself and doesn't use the local system's default tools. With these
# environment variables, we are setting it to prefer the software we have
# build here.
@@ -143,18 +143,12 @@ export MPI_PYTHON3_SITEARCH :=
# directories (or possible sub-directories) for individual steps will be
# defined and added within their own Makefiles.
#
-# IMPORTANT NOTE for $(BDIR)'s dependency: it only depends on the existance
-# (not the time-stamp) of `$(pconfdir)/LOCAL.mk'. So the user can make any
-# changes within that file and if they don't affect the pipeline. For
-# example a change of the top $(BDIR) name, while the contents are the same
-# as before.
-#
# The `.SUFFIXES' rule with no prerequisite is defined to eliminate all the
# default implicit rules. The default implicit rules are to do with
# programming (for example converting `.c' files to `.o' files). The
# problem they cause is when you want to debug the make command with `-d'
# option: they add too many extra checks that make it hard to find what you
-# are looking for in this pipeline.
+# are looking for in the outputs.
.SUFFIXES:
$(lockdir): | $(BDIR); mkdir $@
$(texbdir): | $(texdir); mkdir $@
@@ -172,8 +166,8 @@ $(tikzdir): | $(texbdir); mkdir $@ && ln -fs $@ tex/tikz
#
# Only `$(mtexdir)/initialize.tex' corresponds to a file. This is because
# we want to ensure that the file is always built in every run: it contains
-# the pipeline version which may change between two separate runs, even
-# when no file actually differs.
+# the project version which may change between two separate runs, even when
+# no file actually differs.
packagebasename := $(shell echo paper-$$(git describe --dirty --always))
packagecontents = $(texdir)/$(packagebasename)
.PHONY: all clean dist dist-zip distclean clean-mmap $(packagecontents) \
@@ -260,7 +254,7 @@ $(packagecontents): | $(texdir)
rm $$dir/reproduce/config/pipeline/LOCAL.mk
rm $$dir/reproduce/config/gnuastro/gnuastro-local.conf
- # PIPELINE SPECIFIC: under this comment, copy any other file for
+ # PROJECT SPECIFIC: under this comment, copy any other file for
# packaging, or remove any of the copied files above to suite your
# project.
@@ -313,7 +307,7 @@ pvcheck = prog="$(strip $(1))"; \
if [ "x$$verop" = x ]; then V="--version"; else V=$$verop; fi; \
v=$$($$prog $$V | awk '/'$$ver'/{print "y"; exit 0}'); \
if [ x$$v != xy ]; then \
- echo; echo "PIPELINE ERROR: Not running $$name $$ver"; echo; \
+ echo; echo "PROJECT ERROR: Not running $$name $$ver"; echo; \
exit 1; \
fi; \
echo "\newcommand{\\$$macro}{$$ver}" >> $@
@@ -325,7 +319,7 @@ lvcheck = idir=$(BDIR)/dependencies/installed/include; \
macro="$(strip $(4))"; \
v=$$(awk '/^\#/&&/define/&&/'$$ver'/{print "y";exit 0}' $$f); \
if [ x$$v != xy ]; then \
- echo; echo "PIPELINE ERROR: Not linking with $$name $$ver"; \
+ echo; echo "PROJECT ERROR: Not linking with $$name $$ver"; \
echo; exit 1; \
fi; \
echo "\newcommand{\\$$macro}{$$ver}" >> $@
@@ -333,15 +327,15 @@ lvcheck = idir=$(BDIR)/dependencies/installed/include; \
-# Pipeline initialization results
-# -------------------------------
+# Project initialization results
+# ------------------------------
#
-# This file will store some basic info about the pipeline that is necessary
+# This file will store some basic info about the project that is necessary
# for the final PDF. Since these are not version controlled, it must be
-# calculated everytime the pipeline is run. So even though this file
+# calculated everytime the project is run. So even though this file
# actually exists, it is also aded as a `.PHONY' target above.
$(mtexdir)/initialize.tex: | $(mtexdir)
- # Version of the pipeline and build directory (for LaTeX inputs).
+ # Version of the project.
@v=$$(git describe --dirty --always);
echo "\newcommand{\pipelineversion}{$$v}" > $@
diff --git a/reproduce/src/make/paper.mk b/reproduce/src/make/paper.mk
index 86cf114..0c42bee 100644
--- a/reproduce/src/make/paper.mk
+++ b/reproduce/src/make/paper.mk
@@ -22,9 +22,8 @@
# ----------------------
#
# To report the input settings and results, the final report's PDF (final
-# target of this reproduction pipeline) uses macros generated from various
-# steps of the pipeline. All these macros are defined in
-# `$(mtexdir)/pipeline.tex'.
+# target of this project) uses macros generated from various steps of the
+# project. All these macros are defined in `$(mtexdir)/pipeline.tex'.
#
# `$(mtexdir)/pipeline.tex' is actually just a combination of separate
# files that keep the LaTeX macros related to each workhorse Makefile (in
@@ -32,7 +31,7 @@
# `$(mtexdir)/pipeline.tex'. The only workhorse Makefile that doesn't need
# to produce LaTeX macros is this Makefile (`reproduce/src/make/paper.mk').
#
-# This file is thus the interface between the pipeline scripts and the
+# This file is thus the interface between the processing scripts and the
# final PDF: when we get to this point, all the processing has been
# completed.
#
@@ -61,13 +60,13 @@ $(mtexdir)/pipeline.tex: $(foreach s, $(subst paper,,$(makesrc)), $(mtexdir)/$(s
echo "LaTeX-built PDF paper will not be built."
echo
if [ x$(more-on-building-pdf) = x1 ]; then
- echo "To do so, make sure you have LaTeX within the pipeline (you"
+ echo "To do so, make sure you have LaTeX within the project (you"
echo "can check by running './.local/bin/latex --version'), _AND_"
echo "make sure that the 'pdf-build-final' variable has a value."
echo "'pdf-build-final' is defined in: "
echo "'reproduce/config/pipeline/pdf-build.mk'."
echo
- echo "If you don't have LaTeX within the pipeline, please re-run"
+ echo "If you don't have LaTeX within the project, please re-run"
echo "'./configure' when you have internet access. To speed it up,"
echo "you can keep the previous configuration files (answer 'n'"
echo "when it asks about re-writing previous configuration files)."
@@ -120,8 +119,8 @@ $(texbdir)/paper.bbl: tex/src/references.tex \
# Run LaTeX in the `$(texbdir)' directory so all the intermediate and
# auxiliary files stay there and keep the top directory clean. To be able
# to run everything cleanly from there, it is necessary to add the current
-# directory (top reproduction pipeline directory) to the `TEXINPUTS'
-# environment variable.
+# directory (top project directory) to the `TEXINPUTS' environment
+# variable.
paper.pdf: $(mtexdir)/pipeline.tex paper.tex $(texbdir)/paper.bbl \
| $(tikzdir) $(texbdir)
@@ -135,7 +134,7 @@ paper.pdf: $(mtexdir)/pipeline.tex paper.tex $(texbdir)/paper.bbl \
cd $(texbdir)
pdflatex -shell-escape -halt-on-error $$p/paper.tex
- # Come back to the top pipeline directory and copy the built PDF
+ # Come back to the top project directory and copy the built PDF
# file here.
cd $$p
cp $(texbdir)/$@ $(final-paper)
diff --git a/reproduce/src/make/top.mk b/reproduce/src/make/top.mk
index 14bdbf3..763dbd7 100644
--- a/reproduce/src/make/top.mk
+++ b/reproduce/src/make/top.mk
@@ -1,4 +1,4 @@
-# A ONE-LINE DESCRIPTION OF THE WHOLE PIPELINE
+# Top-level Makefile (first to be loaded).
#
# Copyright (C) 2018-2019 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
@@ -26,22 +26,21 @@ include reproduce/config/pipeline/LOCAL.mk
-# Ultimate target of this pipeline
-# --------------------------------
+# Ultimate target of this project
+# -------------------------------
#
-# The final paper/report (`paper.pdf') is the main target of this whole
-# reproduction pipeline. So as defined in the Make paradigm, it is the
-# first target that we define (immediately after loading the local
-# configuration settings, necessary for a group building scenario mentioned
-# next).
+# The final paper/report (`paper.pdf') is the main target of this
+# project. As defined in the Make paradigm, it must be the first target
+# that Make encounters (immediately after loading the local configuration
+# settings, necessary for a group building scenario mentioned next).
#
#
# Group build
# -----------
#
-# This pipeline can also be configured to have a shared build directory
+# This project can also be configured to have a shared build directory
# between multiple users. In this scenario, many users (on a server) can
-# have their own/separate version controlled pipeline source, but share the
+# have their own/separate version controlled project source, but share the
# same build outputs (in a common directory). This will allow a group to
# work separately, on parallel parts of the analysis that don't
# interfere. It is thus very useful in cases were special storage
@@ -55,8 +54,8 @@ include reproduce/config/pipeline/LOCAL.mk
# was used to call Make).
#
# The analysis is only done when both have the same group name. Note that
-# when the pipeline isn't being built for a group, both variables will be
-# an empty string.
+# when the project isn't being built for a group, both variables will be an
+# empty string.
#
#
# Only processing, no LaTeX PDF
@@ -70,10 +69,10 @@ all: paper.pdf
else
all:
@if [ "x$(GROUP-NAME)" = x ]; then \
- echo "Pipeline is NOT configured for groups, please run"; \
+ echo "Project is NOT configured for groups, please run"; \
echo " $$ .local/bin/make"; \
else \
- echo "Pipeline is configured for groups, please run"; \
+ echo "Project is configured for groups, please run"; \
echo " $$ ./for-group $(GROUP-NAME) make -j8"; \
fi
endif
@@ -106,7 +105,7 @@ endif
# include Makefiles from any other Makefile.
#
# IMPORTANT NOTE: order matters in the inclusion of the processing
-# Makefiles. As the pipeline grows, some Makefiles will define
+# Makefiles. As the project grows, some Makefiles will define
# variables/dependencies that later Makefiles need. Therefore we are using
# a `foreach' loop in the next step to explicitly request loading them in
# the same order that they are defined here (we aren't just using a
@@ -131,6 +130,6 @@ makesrc = initialize \
# above.
#
# 2) Then, we'll import the workhorse-Makefiles which contain rules to
-# actually do the processing of this pipeline.
+# actually do this project's processing.
include $(filter-out %LOCAL.mk, reproduce/config/pipeline/*.mk)
include $(foreach s,$(makesrc), reproduce/src/make/$(s).mk)