Initial commit of master's thesis
This is the version I submitted to RWTH Aachen University at November 9, 2018.
This commit is contained in:
44
plots/Makefile
Normal file
44
plots/Makefile
Normal file
@@ -0,0 +1,44 @@
|
||||
# IPYNB to PY
|
||||
IPYNBS = $(wildcard *.ipynb)
|
||||
PYS = $(patsubst %.ipynb, %.py, $(IPYNBS))
|
||||
|
||||
# CSV to PDF
|
||||
HIST_DIRS = $(wildcard *_hist/)
|
||||
HIST_PDFS := $(foreach dir, $(HIST_DIRS), $(dir)legend.pdf)
|
||||
|
||||
MEDIAN_DIRS = $(wildcard *_median/)
|
||||
MEDIAN_PDFS := $(foreach dir, $(MEDIAN_DIRS), $(dir)legend.pdf)
|
||||
|
||||
NODETYPE_DIRS = $(wildcard nodetype_*/)
|
||||
NODETYPE_PDFS := $(foreach dir, $(NODETYPE_DIRS), $(dir)*legend.pdf)
|
||||
|
||||
all: $(PYS) $(HIST_PDFS) $(MEDIAN_PDFS) $(NODETYPE_PDFS)
|
||||
|
||||
%.py: %.ipynb
|
||||
jupyter nbconvert --to script $<
|
||||
chmod u+x $@
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(HIST_PDFS): $$(wildcard $$(dir $$@)test*/*.csv) $$(wildcard $$(dir $$@)*.json) plot_histograms.py
|
||||
./plot_histograms.py $(word 1,$(subst /, ,$@))
|
||||
|
||||
$(MEDIAN_PDFS): $$(wildcard $$(dir $$@)test*/shift_*/*.csv) $$(wildcard $$(dir $$@)*.json) plot_medians.py
|
||||
./plot_medians.py $(word 1,$(subst /, ,$@))
|
||||
|
||||
$(NODETYPE_PDFS): $$(wildcard $$(dir $$@)*/*.csv) $$(wildcard $$(dir $$@)*.json) plot_nodetypes.py
|
||||
# This rather lengthy expression is necessary to make sure we clean up our csv files, but do not break
|
||||
# them in case they were already cleand up
|
||||
#
|
||||
# It is not possible to put everything in one line without bash complaining about the ARG limit. The ARG
|
||||
# limit is also the reason the second line is very "compact". Do not remove the second awk statement that
|
||||
# looks for #s. Since symbolic links are allowed, files will _always_ be touched.
|
||||
#
|
||||
$(foreach f, $(subst \ , ,$^), if [[ "$(f)" == *".csv" && "$$(head -1 $(f) | awk -F\, '{print NF-1}')" -gt "1" ]]; then cut -d, -f3,4 $(f) > temp && mv temp $(f); fi;)
|
||||
$(foreach f, $(subst \ , ,$^), if [[ "$(f)" == *"sv" && "$$(head -1 $(f)|awk -F\# '{print NF-1}')" -eq "0" ]]; then sed '0,/offs/s/^offs/#offs/' $(f) > t && mv t $(f); fi;)
|
||||
./plot_nodetypes.py $(word 1,$(subst /, ,$@))
|
||||
|
||||
clean:
|
||||
rm -f *.py
|
||||
rm -f */*.pdf
|
||||
|
||||
.PHONY: clean
|
Reference in New Issue
Block a user