POINT_FILES=$(shell find data -name "*.points")
help:
echo $(POINT_FILES)
# These files contains the a triangulation. Point and face
# info is in the file, edge info is implicit in the face info.
data/%.tri: data/%.points triangulate2
./triangulate2 < $^ > $@
# Cargo eh
target/release/cra: src/main.rs src/output.rs src/persistence.rs
cargo build --release
# Output from the reduction algorithm
output/.%: data/%.tri target/release/cra
-mkdir -p output/$*
env RUST_BACKTRACE=1 target/release/cra -t="-" < $< \
--graphviz=output/$*/graph.dot \
--diagram=output/$*/persistence.pdf \
--svg=output/$*/rendering.svg \
--tex-table=output/$*/perf-stats.tex \
--stats=output/$*/stats \
--points="-"
convert -size 800x800 output/$*/rendering.svg output/$*/rendering.png
touch $@
# Triangulation exec
triangulate2: triangulate2.cpp
clang++ -O2 -Wall triangulate2.cpp -DCGAL_HEADER_ONLY -lgmp -o triangulate2
# Complete .pdf with all graphs in it for all data sets.
listings.pdf: listings.tex all-pdfs
latex-mk --pdflatex listings.tex
# Make all folders in `output` for each `.point` file.
all-pdfs: | $(foreach F,$(POINT_FILES),$(patsubst data/%.points,output/.%,$(F)))
.PHONY:
clean:
rm -fr *.tri *.svg triangulate2
.PRECIOUS: data/%.out data/%.tri output/%/rendering.svg