SAMPLING_INTERVALS = 100 200 300 400 500 600 700 800 900 1000
PRODUCT = $(SAMPLING_INTERVALS:%=interval_%_ms_result.tsv)
RESULT = $(PRODUCT:%.tsv=%.log)

all: $(PRODUCT)

experiment: $(RESULT)

plot.tikz.tex: plot.tsv plot.sh
	./plot.sh tikz

plot.png: plot.png.plt plot.tsv 
	gnuplot -c $<

plot.tsv: $(SAMPLING_INTERVALS:%=plot_%.tsv)
	cat $^ > $@

plot_%.tsv: interval_%_ms_result.log interval_%_ms_result.tsv
	wc -l $^ | xargs | awk -v name=$@ '{match(name, /[0-9]+/);printf "%d\t%f\n", substr(name, RSTART, RLENGTH), $$1/$$3}' > $@

%.log: %.tsv
	../../build/hamoni --vector --polyhedron -f ./shared_gas_burner_lha.dot -i $< > $@

define down-sample

interval_$1_ms_result.tsv: raw_result.tsv
	awk '!(NR%$1)' < $$< > $$@

endef

$(foreach interval,$(SAMPLING_INTERVALS),$(eval $(call down-sample,$(interval))))


clean:
	$(RM) $(PRODUCT)

.PHONY: clean all experiment
