forked from Byron/dua-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
52 lines (38 loc) · 1.72 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
docker_image = docker_developer_environment
help:
$(info -Targets -----------------------------------------------------------------------------)
$(info -Development Targets -----------------------------------------------------------------)
$(info lint | run lints with clippy)
$(info benchmark | just for fun, really)
$(info profile | only on linux - run callgrind and annotate it)
$(info tests | run all tests)
$(info unit-tests | run all unit tests)
$(info continuous-unit-tests | run all unit tests whenever something changes)
$(info journey-tests | run all stateless journey test)
$(info continuous-journey-tests | run all stateless journey test whenever something changes)
$(info -- Use docker for all dependencies - run make interactively from there ----------------)
$(info interactive-developer-environment-in-docker | gives you everything you need to run all targets)
always:
interactive-developer-environment-in-docker:
docker build -t $(docker_image) - < etc/developer.Dockerfile
docker run -v $$PWD:/volume -w /volume -it $(docker_image)
target/debug/dua: always
cargo build
target/release/dua: always
cargo build --release
lint:
cargo clippy
profile: target/release/dua
valgrind --callgrind-out-file=callgrind.profile --tool=callgrind $< >/dev/null
callgrind_annotate --auto=yes callgrind.profile
benchmark: target/release/dua
hyperfine '$<'
tests: unit-tests journey-tests
unit-tests:
cargo test --all
continuous-unit-tests:
watchexec $(MAKE) unit-tests
journey-tests: target/debug/dua
./tests/stateless-journey.sh $<
continuous-journey-tests:
watchexec $(MAKE) journey-tests