diff options
Diffstat (limited to 'reproduce/analysis')
| -rw-r--r-- | reproduce/analysis/make/initialize.mk | 6 | ||||
| -rw-r--r-- | reproduce/analysis/make/paper.mk | 41 | ||||
| -rw-r--r-- | reproduce/analysis/make/prepare.mk | 2 | ||||
| -rw-r--r-- | reproduce/analysis/make/top-prepare.mk | 2 | 
4 files changed, 43 insertions, 8 deletions
diff --git a/reproduce/analysis/make/initialize.mk b/reproduce/analysis/make/initialize.mk index 92e5eff..c51f910 100644 --- a/reproduce/analysis/make/initialize.mk +++ b/reproduce/analysis/make/initialize.mk @@ -41,7 +41,7 @@ bsdir=$(BDIR)/software  # Derived directories (the locks directory can be shared with software  # which already has this directory.).  texdir      = $(badir)/tex -lockdir     = $(bsdir)/locks +lockdir     = $(badir)/.locks  indir       = $(badir)/inputs  prepdir     = $(badir)/prepare  mtexdir     = $(texdir)/macros @@ -73,7 +73,7 @@ pconfdir    = reproduce/analysis/config  ifeq (x$(project-phase),xprepare)  $(prepdir):; mkdir $@  else --include $(bsdir)/preparation-done.mk +-include $(badir)/preparation-done.mk  ifeq (x$(include-prepare-results),xyes)  -include $(prepdir)/*.mk $(prepdir)/*.conf  endif @@ -274,7 +274,7 @@ clean:  	rm -rf $(texdir)/macros/!(dependencies.tex|dependencies-bib.tex|hardware-parameters.tex)  	rm -rf $(badir)/!(tex) $(texdir)/!(macros|$(texbtopdir))  	rm -rf $(texdir)/build/!(tikz) $(texdir)/build/tikz/* -	rm -rf $(bsdir)/preparation-done.mk +	rm -rf $(badir)/preparation-done.mk  distclean: clean  #	Without cleaning the Git hooks, we won't be able to easily commit diff --git a/reproduce/analysis/make/paper.mk b/reproduce/analysis/make/paper.mk index 66c6859..3c06ce3 100644 --- a/reproduce/analysis/make/paper.mk +++ b/reproduce/analysis/make/paper.mk @@ -18,6 +18,7 @@ +  # LaTeX macros for paper  # ----------------------  # @@ -92,6 +93,40 @@ $(mtexdir)/project.tex: $(mtexdir)/verify.tex +# TeX build directory +# ------------------- +# +# If built in a group scenario, the TeX build directory must be separate +# for each member (so they can work on their relevant parts of the paper +# without conflicting with each other). +ifeq ($(strip $(maneage_group_name)),) +texbdir:=$(texdir)/build +else +texbdir:=$(texdir)/build-$(shell whoami) +endif +tikzdir:=$(texbdir)/tikz +$(texbdir):; mkdir $@ +$(tikzdir): | $(texbdir); mkdir $@ + + + + + +# Software info in TeX +# -------------------- +# +# The information of the installed software is placed in the +# '.build/software' directory (which the TeX build should not depend +# on). Therefore, we should copy those macros here in the LaTeX build +# directory, so the TeX directory is completely independent from each +# other. +$(mtexdir)/dependencies.tex: $(bsdir)/tex/dependencies.tex +	cp $(bsdir)/tex/*.tex $(mtexdir)/ + + + + +  # The bibliography  # ----------------  # @@ -104,8 +139,9 @@ $(mtexdir)/project.tex: $(mtexdir)/verify.tex  # recipe and the 'paper.pdf' recipe. But if 'tex/src/references.tex' hasn't  # been modified, we don't want to re-build the bibliography, only the final  # PDF. -$(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \ -                      | $(mtexdir)/project.tex +$(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies.tex \ +                      | $(mtexdir)/project.tex $(tikzdir) +  #	If '$(mtexdir)/project.tex' is empty, don't build PDF.  	@macros=$$(cat $(mtexdir)/project.tex)  	if [ x"$$macros" != x ]; then @@ -135,7 +171,6 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \  	  export LD_LIBRARY_PATH="$(sys_library_sh_path):$$LD_LIBRARY_PATH"  	  pdflatex -shell-escape -halt-on-error "$$p"/paper.tex  	  biber paper -  	fi diff --git a/reproduce/analysis/make/prepare.mk b/reproduce/analysis/make/prepare.mk index 2cc1187..ffb2a3c 100644 --- a/reproduce/analysis/make/prepare.mk +++ b/reproduce/analysis/make/prepare.mk @@ -25,7 +25,7 @@  #  # We need to remove the 'prepare' word from the list of 'makesrc'.  prepare-dep = $(filter-out prepare, $(makesrc)) -$(bsdir)/preparation-done.mk: \ +$(badir)/preparation-done.mk: \                  $(foreach s, $(prepare-dep), $(mtexdir)/$(s).tex)  #	If you need to add preparations (mainly automatically generated diff --git a/reproduce/analysis/make/top-prepare.mk b/reproduce/analysis/make/top-prepare.mk index 7d92d72..ea40f39 100644 --- a/reproduce/analysis/make/top-prepare.mk +++ b/reproduce/analysis/make/top-prepare.mk @@ -36,7 +36,7 @@ include reproduce/software/config/LOCAL.conf  #  # See 'top-make.mk' for complete explanation.  ifeq (x$(maneage_group_name),x$(GROUP-NAME)) -all: $(BDIR)/software/preparation-done.mk +all: $(BDIR)/analysis/preparation-done.mk  	@echo "Project preparation is complete.";  else  all:  | 
