aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2019-04-14 17:48:40 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2019-04-14 17:49:55 +0100
commit4722ea598edd6b630227404c48c1c09ac527e9b8 (patch)
treed003841e5b986b01ef3a14cdf74b5a714261eff9 /reproduce
parentece9eedff7857d58ed2d0f9f63ce6e28690982e1 (diff)
Replaced all occurances of pipeline in text
All occurances of "pipeline" have been chanaged to "project" or "template" withint the text (comments, READMEs, and comments) of the template. The main template branch is now also named `template'. This was all because `pipeline' is too generic and couldn't be distinguished from the base, and customized project.
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)