media-collection-crud/Makefile
2019-03-29 14:50:48 -04:00

57 lines
1.3 KiB
Makefile

# The default make command
DEFAULT = help
# Use 'VERBOSE=1' to echo all commands, for example 'make help VERBOSE=1'.
ifdef VERBOSE
Q :=
else
Q := @
endif
GRAPH_SRC=$(wildcard design/*.gv)
GRAPH_SVG=$(patsubst %.gv,%.svg,$(GRAPH_SRC))
GRAPH_IMG=$(patsubst %.gv,%.png,$(GRAPH_SRC))
all: $(DEFAULT)
help:
$(Q)echo "make run - Runs executable"
$(Q)echo "make build - Builds main executable"
$(Q)echo "make lib - Builds library"
$(Q)echo "make test - Runs all tests"
$(Q)echo "make bench - Benchmarks library internally and externally"
$(Q)echo "make bench-internal - Benchmarks library internally"
$(Q)echo "make bench-external - Benchmarks library externally"
$(Q)echo "make doc - Builds documentation for library"
$(Q)echo "make git-ignore - Setup files to be ignored by Git"
$(Q)echo "make examples - Builds examples"
$(Q)echo "make clean - Deletes binaries and documentation.
.PHONY: build run test bench doc examples graphs clean
build:
cargo build
run:
cargo run
clean:
cargo clean
doc:
cargo doc
test:
cargo test
graphs-png: $(GRAPH_IMG)
design/%.png: design/%.gv
dot -Tpng $^ -o $@
graphs: $(GRAPH_SVG) graphs-png
design/%.svg: design/%.gv
dot -Tsvg $^ -o $@