aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-01-20 00:05:41 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-01-20 01:27:03 +0000
commit7ac86df891798fd1f0ef4d7a40aff43ec9621854 (patch)
treeff054edea1f86a65db4cd6941b9f8770a041a791 /reproduce
parente3bbc17c051c7ccbf9e5375b85c90e5e41af2adb (diff)
IMPORTANT!!! Configuration Makefiles now have a .conf suffix
Until now, the configuration Makefiles (in `reproduce/software/config/installation' and `reproduce/analysis/config') had a `.mk' suffix, similar to the workhorse Makefiles. Although they are indeed Makefiles, but given their nature (to only keep configuration parameters), it is confusing (especially to early users) for them to also have a `.mk' (similar to the analysis or software building Makefiles). To address this issue, with this commit, all the configuration Makefiles (in those directories) are now given a `.conf' suffix. This is also assumed for all the files that are loaded. The configuration (software building) and running of the template have been checked with this change from scratch, but please report any error that may not have been noticed. THIS IS AN IMPORTANT CHANGE AND WILL CAUSE CRASHES OR UNEXPECTED BEHAVIORS FOR PROJECTS THAT HAVE BRANCHED FROM THIS TEMPLATE. PLEASE CORRECT THE SUFFIX OF ALL YOUR PROJECT'S CONFIGURATION MAKEFILES (IN THE DIRECTORIES ABOVE), OTHERWISE THEY AREN'T AUTOMATICALLY LOADED ANYMORE.
Diffstat (limited to 'reproduce')
-rw-r--r--reproduce/analysis/config/INPUTS.conf (renamed from reproduce/analysis/config/INPUTS.mk)0
-rw-r--r--reproduce/analysis/config/delete-me-num.conf (renamed from reproduce/analysis/config/delete-me-num.mk)0
-rw-r--r--reproduce/analysis/config/pdf-build.conf (renamed from reproduce/analysis/config/pdf-build.mk)0
-rw-r--r--reproduce/analysis/config/verify-outputs.conf (renamed from reproduce/analysis/config/verify-outputs.mk)1
-rw-r--r--reproduce/analysis/make/delete-me.mk2
-rw-r--r--reproduce/analysis/make/download.mk9
-rw-r--r--reproduce/analysis/make/initialize.mk9
-rw-r--r--reproduce/analysis/make/paper.mk4
-rw-r--r--reproduce/analysis/make/top-make.mk8
-rw-r--r--reproduce/analysis/make/top-prepare.mk4
-rw-r--r--reproduce/analysis/make/verify.mk2
-rwxr-xr-xreproduce/software/bash/configure.sh20
-rw-r--r--reproduce/software/config/installation/LOCAL.conf.in (renamed from reproduce/software/config/installation/LOCAL.mk.in)0
-rw-r--r--reproduce/software/config/installation/TARGETS.conf (renamed from reproduce/software/config/installation/TARGETS.mk)6
-rw-r--r--reproduce/software/config/installation/checksums.conf (renamed from reproduce/software/config/installation/checksums.mk)6
-rw-r--r--reproduce/software/config/installation/texlive-packages.conf (renamed from reproduce/software/config/installation/texlive.mk)0
-rw-r--r--reproduce/software/config/installation/versions.conf (renamed from reproduce/software/config/installation/versions.mk)6
-rw-r--r--reproduce/software/make/basic.mk6
-rw-r--r--reproduce/software/make/build-rules.mk4
-rw-r--r--reproduce/software/make/high-level.mk14
20 files changed, 51 insertions, 50 deletions
diff --git a/reproduce/analysis/config/INPUTS.mk b/reproduce/analysis/config/INPUTS.conf
index 6ddaec7..6ddaec7 100644
--- a/reproduce/analysis/config/INPUTS.mk
+++ b/reproduce/analysis/config/INPUTS.conf
diff --git a/reproduce/analysis/config/delete-me-num.mk b/reproduce/analysis/config/delete-me-num.conf
index 17f608c..17f608c 100644
--- a/reproduce/analysis/config/delete-me-num.mk
+++ b/reproduce/analysis/config/delete-me-num.conf
diff --git a/reproduce/analysis/config/pdf-build.mk b/reproduce/analysis/config/pdf-build.conf
index e2d59cc..e2d59cc 100644
--- a/reproduce/analysis/config/pdf-build.mk
+++ b/reproduce/analysis/config/pdf-build.conf
diff --git a/reproduce/analysis/config/verify-outputs.mk b/reproduce/analysis/config/verify-outputs.conf
index 5d8eff1..4f99661 100644
--- a/reproduce/analysis/config/verify-outputs.mk
+++ b/reproduce/analysis/config/verify-outputs.conf
@@ -1,3 +1,2 @@
# To disable verification of output datasets set this variable to yes
-
verify-outputs = yes
diff --git a/reproduce/analysis/make/delete-me.mk b/reproduce/analysis/make/delete-me.mk
index 3ba4909..8b97673 100644
--- a/reproduce/analysis/make/delete-me.mk
+++ b/reproduce/analysis/make/delete-me.mk
@@ -26,7 +26,7 @@
delete-numdir = $(texdir)/delete-me-num
delete-num = $(delete-numdir)/data.txt
$(delete-numdir): | $(texdir); mkdir $@
-$(delete-num): $(pconfdir)/delete-me-num.mk | $(delete-numdir)
+$(delete-num): $(pconfdir)/delete-me-num.conf | $(delete-numdir)
# When the plotted values are re-made, it is necessary to also
# delete the TiKZ externalized files so the plot is also re-made.
diff --git a/reproduce/analysis/make/download.mk b/reproduce/analysis/make/download.mk
index 7c290f4..07e9f27 100644
--- a/reproduce/analysis/make/download.mk
+++ b/reproduce/analysis/make/download.mk
@@ -24,9 +24,10 @@
# Download input data
# --------------------
#
-# The input dataset properties are defined in `$(pconfdir)/INPUTS.mk'. For
-# this template we only have one dataset to enable easy processing, so all
-# the extra checks in this rule may seem redundant.
+# The input dataset properties are defined in
+# `$(pconfdir)/INPUTS.conf'. For 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
@@ -93,5 +94,5 @@ $(inputdatasets): $(indir)/%.fits: | $(indir) $(lockdir)
#
# It is very important to mention the address where the data were
# downloaded in the final report.
-$(mtexdir)/download.tex: $(pconfdir)/INPUTS.mk | $(mtexdir)
+$(mtexdir)/download.tex: $(pconfdir)/INPUTS.conf | $(mtexdir)
echo "\\newcommand{\\wfpctwourl}{$(WFPC2URL)}" > $@
diff --git a/reproduce/analysis/make/initialize.mk b/reproduce/analysis/make/initialize.mk
index cdf2129..fa39699 100644
--- a/reproduce/analysis/make/initialize.mk
+++ b/reproduce/analysis/make/initialize.mk
@@ -241,7 +241,7 @@ distclean: clean
# `rm', not our own.
$$sys_rm -rf $(BDIR)
$$sys_rm -f Makefile .gnuastro .local .build
- $$sys_rm -f $(pconfdir)/LOCAL.mk $(gconfdir)/gnuastro-local.conf
+ $$sys_rm -f $(pconfdir)/LOCAL.conf $(gconfdir)/gnuastro-local.conf
@@ -298,10 +298,11 @@ $(packagecontents): paper.pdf | $(texdir)
# directories (when building in a group structure, there will be
# `build-user1', `build-user2' and etc), are just temporary LaTeX
# build files and don't have any relevant/hand-written files in
- # them. 2) The `LOCAL.mk' and `gnuastro-local.conf' files just have
- # this machine's local settings and are irrelevant for anyone else.
+ # them. 2) The `LOCAL.conf' and `gnuastro-local.conf' files just
+ # have this machine's local settings and are irrelevant for anyone
+ # else.
rm -rf $$dir/tex/build/build*
- rm $$dir/reproduce/software/config/installation/LOCAL.mk
+ rm $$dir/reproduce/software/config/installation/LOCAL.conf
rm $$dir/reproduce/software/config/gnuastro/gnuastro-local.conf
# When submitting to places like arXiv, they will just run LaTeX
diff --git a/reproduce/analysis/make/paper.mk b/reproduce/analysis/make/paper.mk
index a4eeb2e..8a14573 100644
--- a/reproduce/analysis/make/paper.mk
+++ b/reproduce/analysis/make/paper.mk
@@ -38,7 +38,7 @@
#
# Note that if you don't want the final PDF and just want the processing
# and file outputs, you can remove the value of `pdf-build-final' in
-# `reproduce/analysis/config/pdf-build.mk'.
+# `reproduce/analysis/config/pdf-build.conf'.
$(mtexdir)/project.tex: $(mtexdir)/verify.tex
# If no PDF is requested, or if LaTeX isn't available, don't
@@ -62,7 +62,7 @@ $(mtexdir)/project.tex: $(mtexdir)/verify.tex
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/analysis/config/pdf-build.mk'."
+ echo "'reproduce/analysis/config/pdf-build.conf'."
echo
echo "If you don't have LaTeX within the project, please re-run"
echo "'./project configure -e' when you have internet access."
diff --git a/reproduce/analysis/make/top-make.mk b/reproduce/analysis/make/top-make.mk
index 0292d3c..6c940b8 100644
--- a/reproduce/analysis/make/top-make.mk
+++ b/reproduce/analysis/make/top-make.mk
@@ -21,7 +21,7 @@
# Load the local configuration (created after running
# `./project configure').
-include reproduce/software/config/installation/LOCAL.mk
+include reproduce/software/config/installation/LOCAL.conf
@@ -50,7 +50,7 @@ include reproduce/software/config/installation/LOCAL.mk
#
# Controlling this requires two variables that are available at this stage:
#
-# - `GROUP-NAME': from `LOCAL.mk' (which was built by `./project configure').
+# - `GROUP-NAME': from `LOCAL.conf' (which was built by `./project configure').
# - `reproducible_paper_group_name': value to the `--group' option.
#
# The analysis is only done when both have the same group name. Note that
@@ -63,7 +63,7 @@ include reproduce/software/config/installation/LOCAL.mk
#
# If you are just interested in the processing and don't want to build the
# PDF, you can skip the creatation of the final PDF by removing the value
-# of `pdf-build-final' in `reproduce/analysis/config/pdf-build.mk'.
+# of `pdf-build-final' in `reproduce/analysis/config/pdf-build.conf'.
ifeq (x$(reproducible_paper_group_name),x$(GROUP-NAME))
all: paper.pdf
else
@@ -132,5 +132,5 @@ makesrc = initialize \
# But before that, we need to identify the phase for the Makefiles that are
# run both in `./project prepare' and `./project make'.
project-phase = make
-include reproduce/analysis/config/*.mk
+include reproduce/analysis/config/*.conf
include $(foreach s,$(makesrc), reproduce/analysis/make/$(s).mk)
diff --git a/reproduce/analysis/make/top-prepare.mk b/reproduce/analysis/make/top-prepare.mk
index 5ce120d..cefbc6b 100644
--- a/reproduce/analysis/make/top-prepare.mk
+++ b/reproduce/analysis/make/top-prepare.mk
@@ -25,7 +25,7 @@
# Load the local configuration (created after running
# `./project configure').
-include reproduce/software/config/installation/LOCAL.mk
+include reproduce/software/config/installation/LOCAL.conf
@@ -87,5 +87,5 @@ makesrc = initialize \
#
# See `top-make.mk' for complete explanation.
project-phase = prepare
-include reproduce/analysis/config/*.mk
+include reproduce/analysis/config/*.conf
include $(foreach s,$(makesrc), reproduce/analysis/make/$(s).mk)
diff --git a/reproduce/analysis/make/verify.mk b/reproduce/analysis/make/verify.mk
index a4afd45..d11dcbf 100644
--- a/reproduce/analysis/make/verify.mk
+++ b/reproduce/analysis/make/verify.mk
@@ -33,7 +33,7 @@ verify-print-tips = \
echo "If you are still developing your project, you can disable"; \
echo "verification by removing the value of the variable in the"; \
echo "following file (from the top project source directory):"; \
- echo " reproduce/analysis/config/verify-outputs.mk"; \
+ echo " reproduce/analysis/config/verify-outputs.conf"; \
echo; \
echo "If this is the final version of the file, you can just copy"; \
echo "and paste the calculated checksum (above) for the file in"; \
diff --git a/reproduce/software/bash/configure.sh b/reproduce/software/bash/configure.sh
index 8cdd744..c681298 100755
--- a/reproduce/software/bash/configure.sh
+++ b/reproduce/software/bash/configure.sh
@@ -38,11 +38,11 @@ cdir=reproduce/software/config
sbdir=$cdir/installation
-pconf=$sbdir/LOCAL.mk
-ptconf=$sbdir/LOCAL_tmp.mk
-poconf=$sbdir/LOCAL_old.mk
-depverfile=$cdir/installation/versions.mk
-depshafile=$cdir/installation/checksums.mk
+pconf=$sbdir/LOCAL.conf
+ptconf=$sbdir/LOCAL_tmp.conf
+poconf=$sbdir/LOCAL_old.conf
+depverfile=$cdir/installation/versions.conf
+depshafile=$cdir/installation/checksums.conf
# --------- Delete for no Gnuastro ---------
glconf=$cdir/gnuastro/gnuastro-local.conf
# ------------------------------------------
@@ -117,7 +117,7 @@ EOF
# What to do with possibly existing configuration file
# ----------------------------------------------------
#
-# `LOCAL.mk' is the top-most local configuration for the project. If it
+# `LOCAL.conf' is the top-most local configuration for the project. If it
# already exists when this script is run, we'll make a copy of it as backup
# (for example the user might have ran `./project configure' by mistake).
printnotice=yes
@@ -299,10 +299,10 @@ if [ x"$input_dir" = x ]; then
else
indir=$input_dir
fi
-wfpc2name=$(awk '!/^#/ && $1=="WFPC2IMAGE" {print $3}' $adir/INPUTS.mk)
-wfpc2md5=$(awk '!/^#/ && $1=="WFPC2MD5" {print $3}' $adir/INPUTS.mk)
-wfpc2size=$(awk '!/^#/ && $1=="WFPC2SIZE" {print $3}' $adir/INPUTS.mk)
-wfpc2url=$(awk '!/^#/ && $1=="WFPC2URL" {print $3}' $adir/INPUTS.mk)
+wfpc2name=$(awk '!/^#/ && $1=="WFPC2IMAGE" {print $3}' $adir/INPUTS.conf)
+wfpc2md5=$(awk '!/^#/ && $1=="WFPC2MD5" {print $3}' $adir/INPUTS.conf)
+wfpc2size=$(awk '!/^#/ && $1=="WFPC2SIZE" {print $3}' $adir/INPUTS.conf)
+wfpc2url=$(awk '!/^#/ && $1=="WFPC2URL" {print $3}' $adir/INPUTS.conf)
if [ $rewritepconfig = yes ] && [ x"$input_dir" = x ]; then
cat <<EOF
diff --git a/reproduce/software/config/installation/LOCAL.mk.in b/reproduce/software/config/installation/LOCAL.conf.in
index 1045f72..1045f72 100644
--- a/reproduce/software/config/installation/LOCAL.mk.in
+++ b/reproduce/software/config/installation/LOCAL.conf.in
diff --git a/reproduce/software/config/installation/TARGETS.mk b/reproduce/software/config/installation/TARGETS.conf
index 164d606..d2d5e2c 100644
--- a/reproduce/software/config/installation/TARGETS.mk
+++ b/reproduce/software/config/installation/TARGETS.conf
@@ -18,17 +18,17 @@
# All software that are currently available for installation can be seen in
# the following file.
#
-# reproduce/software/config/installation/versions.mk
+# reproduce/software/config/installation/versions.conf
#
# Please add any software that you need for your project in the respective
-# part below (using its name in `versions.mk', but without the `-version'
+# part below (using its name in `versions.conf', but without the `-version'
# part). Just note that if a program/library is a dependency of another,
# you don't need to include it here (it will be installed before the
# higher-level software anyway).
#
# Note that many low-level software will be installed before those that are
# installed in this step. They are clearly distinguished from the
-# higher-level (optional) software in `versions.mk'. These low-level
+# higher-level (optional) software in `versions.conf'. These low-level
# software MUST NOT be added here.
diff --git a/reproduce/software/config/installation/checksums.mk b/reproduce/software/config/installation/checksums.conf
index 28980e1..406ec1b 100644
--- a/reproduce/software/config/installation/checksums.mk
+++ b/reproduce/software/config/installation/checksums.conf
@@ -71,9 +71,9 @@ zlib-checksum = 73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff
# ------------------------------------------
#
# These are programs and libraries that are optional, The ones in
-# `reproduce/software/config/installation/TARGETS.mk' will be built as part
-# of a project. To specify a software there, just remove the `-checksum'
-# suffix from the list below.
+# `reproduce/software/config/installation/TARGETS.conf' will be built as
+# part of a project. To specify a software there, just remove the
+# `-checksum' suffix from the list below.
apachelog4cxx-checksum = aa59ce549c2c5cbeec031361dfce09cdfc3e62ee3bc9ecbc809507b7ec878c14409b98536b7d13c27690809c8e9d5ebafc3589c9fb5e4aecd5cc064943ae7d6b
apr-checksum = daa140c83c7e2c45c3980d9dc81d34fa662bebd050653562c39572d0ddf2eaedb71767c518a59d77f59db9b32e00221ef48b9f72ec3666c4521dd511969f3706
apr-util-checksum = 84da76e9b64da2de0996d4d6f3ab3f23db3724eb6352d218e0e8196bcc0b0a5d4fe791f41b4cc350ce3d04cce3bb3cf8bfb513d777d0cd030928368e6b55a536
diff --git a/reproduce/software/config/installation/texlive.mk b/reproduce/software/config/installation/texlive-packages.conf
index c53e170..c53e170 100644
--- a/reproduce/software/config/installation/texlive.mk
+++ b/reproduce/software/config/installation/texlive-packages.conf
diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.conf
index 348a61c..565f1a4 100644
--- a/reproduce/software/config/installation/versions.mk
+++ b/reproduce/software/config/installation/versions.conf
@@ -69,9 +69,9 @@ zlib-version = 1.2.11
# ------------------------------------------
#
# These are programs and libraries that are optional, The ones in
-# `reproduce/software/config/installation/TARGETS.mk' will be built as part
-# of a project. To specify a software there, just remove the `-version'
-# suffix from the list below.
+# `reproduce/software/config/installation/TARGETS.conf' will be built as
+# part of a project. To specify a software there, just remove the
+# `-version' suffix from the list below.
apachelog4cxx-version = 0.10.0-603-014954db
apr-version = 1.7.0
apr-util-version = 1.6.1
diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk
index 343b3b0..93dcdc2 100644
--- a/reproduce/software/make/basic.mk
+++ b/reproduce/software/make/basic.mk
@@ -34,9 +34,9 @@
# Top level environment
include reproduce/software/make/build-rules.mk
-include reproduce/software/config/installation/LOCAL.mk
-include reproduce/software/config/installation/versions.mk
-include reproduce/software/config/installation/checksums.mk
+include reproduce/software/config/installation/LOCAL.conf
+include reproduce/software/config/installation/versions.conf
+include reproduce/software/config/installation/checksums.conf
lockdir = $(BDIR)/locks
tdir = $(BDIR)/software/tarballs
diff --git a/reproduce/software/make/build-rules.mk b/reproduce/software/make/build-rules.mk
index cbde70b..f3ca7d2 100644
--- a/reproduce/software/make/build-rules.mk
+++ b/reproduce/software/make/build-rules.mk
@@ -1,7 +1,7 @@
# Generic configurable recipes to build packages with GNU Build system or
# CMake. This is Makefile is not intended to be run directly, it will be
-# imported into `dependencies-basic.mk' and `dependencies.mk'. They should
-# be activated with Make's `Call' function.
+# imported into `basic.mk' and `high-level.mk'. They should be activated
+# with Make's `Call' function.
#
# Copyright (C) 2018-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index 0afeaba..bc77dab 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -28,11 +28,11 @@
# Top level environment
include reproduce/software/make/build-rules.mk
-include reproduce/software/config/installation/LOCAL.mk
-include reproduce/software/config/installation/TARGETS.mk
-include reproduce/software/config/installation/texlive.mk
-include reproduce/software/config/installation/versions.mk
-include reproduce/software/config/installation/checksums.mk
+include reproduce/software/config/installation/LOCAL.conf
+include reproduce/software/config/installation/TARGETS.conf
+include reproduce/software/config/installation/versions.conf
+include reproduce/software/config/installation/checksums.conf
+include reproduce/software/config/installation/texlive-packages.conf
lockdir = $(BDIR)/locks
tdir = $(BDIR)/software/tarballs
@@ -588,7 +588,7 @@ $(ibidir)/hdf5: $(ibidir)/openmpi \
# HEALPix includes the source of its C, C++, Python (and several other
# languages) libraries within one tarball. We will include the Python
# installation only when any other Python module is requested (in
-# `TARGETS.mk').
+# `TARGETS.conf').
#
# Note that the default `./configure' script is an interactive script which
# is hard to automate. So we need to go into the `autotools' directory of
@@ -1191,7 +1191,7 @@ $(itidir)/texlive-ready-tlmgr: reproduce/software/config/installation/texlive.co
#else
#forbiber = $(ibidir)/libnsl
#endif
-$(itidir)/texlive: reproduce/software/config/installation/texlive.mk \
+$(itidir)/texlive: reproduce/software/config/installation/texlive-packages.conf \
$(itidir)/texlive-ready-tlmgr \
$(forbiber)