define make-dir = @mkdir -p $(shell dirname "$@") endef # plot/$model/$seed/$prop_$from_$till_$step.replay.data .SECONDEXPANSION: plot/%.replay.data: SIM_MODEL=$(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f2) plot/%.replay.data: PLOT_NAME=$(shell echo "$(@F)" | sed 's/\(.*\).replay.data/\1/' | cut -f1 -d_) plot/%.replay.data: PLOT_INST=$(shell echo "$(@F)" | sed 's/\(.*\).replay.data/\1/' | cut -f2 -d_) plot/%.replay.data: PLOT_FROM=$(shell echo "$(@F)" | sed 's/\(.*\).replay.data/\1/' | cut -f3 -d_) plot/%.replay.data: SIM_UNTIL=$(shell echo "$(@F)" | sed 's/\(.*\).replay.data/\1/' | cut -f4 -d_) plot/%.replay.data: PLOT_STEP=$(shell echo "$(@F)" | sed 's/\(.*\).replay.data/\1/' | cut -f5 -d_) plot/%.replay.data: bin/$$(SIM_MODEL)-replay $$(shell dirname sim/%)/.$$(SIM_UNTIL).simulate @[ -n "$(SIM_MODEL)" -a -n "$(PLOT_NAME)" -a -n "$(PLOT_INST)" -a -n "$(PLOT_FROM)" -a -n "$(SIM_UNTIL)" -a -n "$(PLOT_STEP)" ] || (echo "Missing parameter"; false) @echo "Replaying $(PLOT_NAME) of instance $(PLOT_INST) of model $(SIM_MODEL) from $(PLOT_FROM) to $(SIM_UNTIL)" @mkdir -p $(shell dirname $@) @cd "$(shell dirname $@ | sed 's/^plot/sim/')" && ../../../$< $(PLOT_NAME) $(PLOT_INST) $(PLOT_FROM) $(SIM_UNTIL) $(PLOT_STEP) > ../../../$@~ @mv "$@~" "$@" plot/%.replay.x11: plot/%.replay.data echo "plot '$<' using 1:2 with lines" | gnuplot -persist plot/%.replay.pdf: PLOT_NAME=$(shell echo "$(@F)" | sed 's/\(.*\).replay.data/\1/' | cut -f1 -d_) plot/%.replay.pdf: PLOT_INST=$(shell echo "$(@F)" | sed 's/\(.*\).replay.data/\1/' | cut -f2 -d_) plot/%.replay.pdf: plot/%.replay.data R/plot.R @echo "Plotting $@" @R < R/plot.R --vanilla --args "$<" "$@~" "$(PLOT_NAME)" "$(PLOT_INST)" > /dev/null @mv "$@~" "$@" # plot/$model/$seed/$prop_$from_$till_$step.coarse_replay.data .SECONDEXPANSION: plot/%.coarse_replay.data: SIM_MODEL=$(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f2) plot/%.coarse_replay.data: PLOT_NAME=$(shell echo "$(@F)" | sed 's/\(.*\).coarse_replay.data/\1/' | cut -f1 -d_) plot/%.coarse_replay.data: PLOT_INST=$(shell echo "$(@F)" | sed 's/\(.*\).coarse_replay.data/\1/' | cut -f2 -d_) plot/%.coarse_replay.data: PLOT_FROM=$(shell echo "$(@F)" | sed 's/\(.*\).coarse_replay.data/\1/' | cut -f3 -d_) plot/%.coarse_replay.data: SIM_UNTIL=$(shell echo "$(@F)" | sed 's/\(.*\).coarse_replay.data/\1/' | cut -f4 -d_) plot/%.coarse_replay.data: bin/$$(SIM_MODEL)-coarse_replay $$(shell dirname sim/%)/.$$(SIM_UNTIL).simulate @[ -n "$(SIM_MODEL)" -a -n "$(PLOT_NAME)" -a -n "$(PLOT_INST)" -a -n "$(PLOT_FROM)" -a -n "$(SIM_UNTIL)" ] || (echo "Missing parameter"; false) @echo "Coarsely replaying $(PLOT_NAME) of instance $(PLOT_INST) of model $(SIM_MODEL) from $(PLOT_FROM) to $(SIM_UNTIL)" $(make-dir) @cd "$(shell dirname $@ | sed 's/^plot/sim/')" && ../../../$< $(PLOT_NAME) $(PLOT_INST) $(PLOT_FROM) $(SIM_UNTIL) > ../../../$@~ @mv "$@~" "$@" plot/%.coarse_replay.x11: plot/%.coarse_replay.data echo "plot '$<' using 1:2 with lines" | gnuplot -persist plot/%.coarse_replay.pdf: PLOT_NAME=$(shell echo "$(@F)" | sed 's/\(.*\).coarse_replay.data/\1/' | cut -f1 -d_) plot/%.coarse_replay.pdf: PLOT_INST=$(shell echo "$(@F)" | sed 's/\(.*\).coarse_replay.data/\1/' | cut -f2 -d_) plot/%.coarse_replay.pdf: plot/%.coarse_replay.data R/plot.R @echo "Plotting $@" @R < R/plot.R --vanilla --args "$<" "$@" "$(PLOT_NAME)" "$(PLOT_INST)" > /dev/null # plot/$model/$seed/$from_$till.all_spikes.data .SECONDEXPANSION: plot/%.all_spikes.data: SIM_MODEL=$(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f2) plot/%.all_spikes.data: PLOT_FROM=$(shell echo "$(@F)" | sed 's/\(.*\).all_spikes.data/\1/' | cut -f1 -d_) plot/%.all_spikes.data: SIM_UNTIL=$(shell echo "$(@F)" | sed 's/\(.*\).all_spikes.data/\1/' | cut -f2 -d_) plot/%.all_spikes.data: bin/all_spikes $$(shell dirname sim/%)/.$$(SIM_UNTIL).simulate @[ -n "$(SIM_MODEL)" -a -n "$(PLOT_FROM)" -a -n "$(SIM_UNTIL)" ] || (echo "Missing parameter"; false) @echo "Dumping all spikes of model $(SIM_MODEL) from $(PLOT_FROM) to $(SIM_UNTIL)" $(make-dir) @cd "$(shell dirname $@ | sed 's/^plot/sim/')" && ../../../$< $(PLOT_FROM) $(SIM_UNTIL) > ../../../$@~ @mv "$@~" "$@" plot/%.all_spikes.x11: plot/%.all_spikes.data @echo "plot '$<' using 1:2 with dots" | gnuplot -persist plot/%.all_spikes.pdf: plot/%.all_spikes.data R/plot_all.R @echo "Plotting $@" @R < R/plot_all.R --vanilla --args "$<" "$@~" &> /dev/null @mv "$@~" "$@" # plot/$model/$seed/$time_.synapse_heatmap.data .SECONDEXPANSION: plot/%.synapse_heatmap.data: SIM_MODEL=$(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f2) plot/%.synapse_heatmap.data: PLOT_NAME=$(shell echo "$(@F)" | sed 's/\(.*\).synapse_heatmap.data/\1/' | cut -f1 -d_) plot/%.synapse_heatmap.data: SIM_TIME=$(shell echo "$(@F)" | sed 's/\(.*\).synapse_heatmap.data/\1/' | cut -f2 -d_) plot/%.synapse_heatmap.data: bin/$$(SIM_MODEL)-coarse_replay $$(shell dirname sim/%)/.$$(SIM_UNTIL).simulate @[ -n "$(SIM_MODEL)" -a -n "$(PLOT_FROM)" -a -n "$(SIM_TIME)" ] || (echo "Missing parameter"; false) @echo "Heatmap of $(PLOT_NAME) model $(SIM_MODEL) at $(SIM_TIME)" $(make-dir) @cd "$(shell dirname $@ | sed 's/^plot/sim/')" && ../../../$< $(PLOT_NAME) $(SIM_TIME) $(SIM_TIME) > ../../../$@~ @mv "$@~" "$@" plot/%.synapse_heatmap.pdf: plot/%.synapse_heatmap.data R/plot_all.R @echo "Plotting $@" @R < R/hm.R --vanilla --args "$<" "$@~" &> /dev/null @mv "$@~" "$@" # plot/$model/$seed/$prop_$from_$till_$step.replay_mean.data .SECONDEXPANSION: plot/%.replay_mean.data: plot/%.replay.data @echo Compute mean over $< @(echo "scale=10"; grep -v '^#' $< | cut -f2- | tr "\t" "+" \ | sed 's/e/*10^/g' | sed 'ss\(.*\)s(\1)/'$$( \ grep -v '^#' $< | head -n1 | tr -dc "\t" | wc -c \ )'s') | bc > $@.raw @grep -v '^#' $< | cut -f1 | paste - $@.raw > $@~ @mv "$@~" "$@" plot/%.replay_mean.x11: plot/%.replay_mean.data echo "plot '$<' using 1:2 with lines" | gnuplot -persist plot/%.replay_mean.pdf: PLOT_NAME=$(shell echo "$(@F)" | sed 's/\(.*\).replay_mean.data/\1/' | cut -f1 -d_) plot/%.replay_mean.pdf: plot/%.replay_mean.data R/plot.R @echo "Plotting $@" @R < R/plot.R --vanilla --args "$<" "$@~" "$(PLOT_NAME)" "0" > /dev/null @mv "$@~" "$@"