aboutsummaryrefslogtreecommitdiff
path: root/reproduce/src
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2018-02-27 10:42:20 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2018-02-27 10:42:20 +0100
commit4360fbd36203022fde68b12f90548ca3a39085ce (patch)
tree9050a6a21743f7ccac2591e1e86d0043d13d68c7 /reproduce/src
parentc47486ccbf291c6e06df803f9abcdfcb6af5ca66 (diff)
Copyrights and TeX management made more clear
Until now, the copyright statement was left empty for the users of the pipeline to fill. However, the files have already been created and have an author (or contributing authors) before the user starts using the pipeline. So the original authors of the files are added along with the year. The user can add their own name to the existing files under the "Contributing author" when they start and they will be the "Original author" of the new files they create. Several changes were also made to the TeX management: - LaTeX is run within a `reproduce/build/tex/build' directory now. Not in the top reproduction pipeline directory. This helps keep all the auxiliary TeX files and directories in that directory and keep the top reproduction pipeline directory clean. After the final PDF is built, a copy is put in the top reproduction pipeline directory for easy viewing. - The PGFPlots preamble was also made more useful, allowing the name of the `.tex' file to also be the name of the final plot that is produced. This is a GREAT feature, because without it, the TiKZ externalization would be based on order of the plots within the paper. But now, order is irrelevant and we can even delete the TiKZ files within the processing workhorse-Makefiles so the plots are definitly rebuilt on the next run. - The paper is now in a two-column format to be more similar to published papers. A tip on debugging Make was added to `README.md'.
Diffstat (limited to 'reproduce/src')
-rw-r--r--reproduce/src/make/download.mk5
-rw-r--r--reproduce/src/make/initialize.mk13
-rw-r--r--reproduce/src/make/paper.mk17
3 files changed, 26 insertions, 9 deletions
diff --git a/reproduce/src/make/download.mk b/reproduce/src/make/download.mk
index 378e5eb..9617a45 100644
--- a/reproduce/src/make/download.mk
+++ b/reproduce/src/make/download.mk
@@ -6,9 +6,10 @@
# script running at every instant.
#
# Original author:
-# Your name <your@email.address>
+# Mohammad Akhlaghi <mohammad@akhlaghi.org>
# Contributing author(s):
-# Copyright (C) YYYY, Your Name.
+# Your name <your@email.address>
+# Copyright (C) 2018, Your Name.
#
# This Makefile is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/reproduce/src/make/initialize.mk b/reproduce/src/make/initialize.mk
index 7854c2f..70d77ed 100644
--- a/reproduce/src/make/initialize.mk
+++ b/reproduce/src/make/initialize.mk
@@ -1,9 +1,10 @@
# Initialize the reproduction pipeline.
#
# Original author:
-# Your name <your@email.address>
+# Mohammad Akhlaghi <mohammad@akhlaghi.org>
# Contributing author(s):
-# Copyright (C) YYYY, Your Name.
+# Your name <your@email.address>
+# Copyright (C) 2018, Your Name.
#
# This Makefile is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
@@ -91,6 +92,14 @@ $(pconfdir)/LOCAL.mk:
# 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.
+.SUFFIXES:
$(mtexdir): | $(texdir); mkdir $@
$(BDIR): | $(pconfdir)/LOCAL.mk; mkdir $@
$(texdir) $(lockdir): | $(BDIR); mkdir $@
diff --git a/reproduce/src/make/paper.mk b/reproduce/src/make/paper.mk
index 0725ec8..db20279 100644
--- a/reproduce/src/make/paper.mk
+++ b/reproduce/src/make/paper.mk
@@ -1,9 +1,9 @@
# Build the final PDF paper/report.
#
# Original author:
-# Your name <your@email.address>
+# Mohammad Akhlaghi <mohammad@akhlaghi.org>
# Contributing author(s):
-# Copyright (C) YYYY, Your Name.
+# Copyright (C) 2018, Mohammad Akhlaghi.
#
# 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
@@ -27,8 +27,15 @@
#
# The commands to build the final report. We want the pipeline version to
# be checked everytime the final PDF is to be built.
-paper.pdf: tex/pipeline.tex paper.tex
+texbdir=$(texdir)/build
+tikzdir=$(texbdir)/tikz
+$(texbdir): | $(texdir); mkdir $@
+$(tikzdir): | $(texbdir); mkdir $@
+paper.pdf: tex/pipeline.tex paper.tex | $(tikzdir) $(texbdir)
# Make the report.
- @pdflatex -shell-escape -halt-on-error paper.tex
- @rm -f *.auxlock *.aux *.out *.log
+ p=$$(pwd); \
+ export TEXINPUTS=$$p:$$TEXINPUTS; \
+ cd $(texbdir); \
+ pdflatex -shell-escape -halt-on-error $$p/paper.tex
+ cp $(texbdir)/$@ $@