forked from hamidreza-s/Tnesia
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
100 lines (85 loc) · 2.35 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
ERL := $(shell which erl)
CT := $(shell which ct_run)
HOST := $(shell hostname -s)
APP := tnesia
APP_NODE := $(APP)@$(HOST)
DEBUG_NODE := $(APP)_debug@$(HOST)
ATTACH_NODE := $(app)_attach@$(HOST)
COOKIE ?= secret
PWD := $(shell pwd)
REBAR := $(PWD)/rebar
LOGDIR := $(PWD)/logs
LOGFILE := $(LOGDIR)/$(APP).log
BENCHDIR := $(PWD)/bench
TESTDIR := $(PWD)/test
.PHONY: all compile deps clean test tql_test
light_bench normal_bench heavy_bench start stop attach live
all: compile
compile: deps
@exec $(REBAR) compile
deps:
@exec $(REBAR) get-deps
clean:
@rm -rf $(TESTDIR)/logs/*
@rm -rf $(BENCHDIR)/logs/*
@exec $(REBAR) clean
test: compile tql_test
@mkdir -p $(TESTDIR)/logs
@exec $(CT) \
-dir $(TESTDIR) \
-include $(PWD)/include \
-pa $(PWD)/ebin \
-logdir $(TESTDIR)/logs
tql_test: compile
@mkdir -p $(TESTDIR)/logs
@exec $(CT) \
-suite tnesia_tql_common_SUITE \
-suite tnesia_tql_linter_SUITE \
-suite tnesia_tql_api_SUITE \
-suite tnesia_tql_formatter_SUITE \
-dir $(TESTDIR) \
-include $(PWD)/include \
-pa $(PWD)/ebin \
-logdir $(TESTDIR)/logs
light_bench: compile
@mkdir -p $(BENCHDIR)/logs
@exec $(CT) -suite tnesia_common_bench_SUITE \
-dir $(BENCHDIR) \
-include $(PWD)/include \
-pa $(PWD)/ebin \
-logdir $(BENCHDIR)/logs \
-group light_benchmark
normal_bench: compile
@mkdir -p $(BENCHDIR)/logs
@exec $(CT) -suite tnesia_common_bench_SUITE \
-dir $(BENCHDIR) \
-include $(PWD)/include \
-pa $(PWD)/ebin \
-logdir $(BENCHDIR)/logs \
-group normal_benchmark
heavy_bench: compile
@mkdir -p $(BENCHDIR)/logs
@exec $(CT) -suite tnesia_common_bench_SUITE \
-dir $(BENCHDIR) \
-include $(PWD)/include \
-pa $(PWD)/ebin \
-logdir $(BENCHDIR)/logs \
-group heavy_benchmark
start:
@mkdir -p $(LOGDIR)
@exec $(ERL) -pa $(PWD)/ebin $(PWD)/deps/*/ebin -s $(APP) start \
-sname $(APP_NODE) -setcookie $(COOKIE) \
-noshell -noinput > $(LOGFILE) &
@echo "Tnesia was started!"
stop:
@mkdir -p $(LOGDIR)
@exec $(ERL) -sname $(DEBUG_NODE) -setcookie $(COOKIE) \
-eval 'rpc:call($(APP_NODE),tnesia,stop,[]),init:stop()' \
-noshell -noinput > $(LOGFILE) &
@echo "Tnesia was stoped!"
attach:
@exec $(ERL) -sname $(ATTACH_NODE) -setcookie $(COOKIE) \
-remsh $(APP_NODE)
live: compile
@exec $(ERL) -pa $(PWD)/ebin $(PWD)/deps/*/ebin -s $(APP) \
-sname $(APP) -setcookie $(COOKIE)