-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
80 lines (59 loc) · 1.88 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
PROJECT = erlything
DIALYZER = dialyzer
REBAR = rebar
REPO = ../../../../repository
REPOSRC = ../../repository
TARGET = ~/projects/erlang
DATE = `date +%Y-%m-%d`
CRASH_DIR = ../../crasher
all: app
tar: app
cd rel; tar cvf $(REPO)/$(PROJECT).$(VERSION).tar $(PROJECT)
tarall: app
cd ..; tar cf $(REPOSRC)/$(PROJECT).src.$(VERSION).tar $(PROJECT) --exclude log/* --exclude apps/horst/priv/config --exclude deps/gpio/priv/gpio_drv.so --exclude deps/syslog/priv/syslog_drv.so --exclude apps/roni/priv/config/accounts.conf --exclude data --exclude .git
cpall: tarall
cd ..;scp $(REPOSRC)/$(PROJECT).src.$(VERSION).tar $(USR)@$(HOST):$(TARGET)
ssh $(USR)@$(HOST) 'cd $(TARGET); tar xf $(TARGET)/$(PROJECT).src.$(VERSION).tar'
cp: tar
cd ..;scp $(REPOSRC)/$(PROJECT).$(VERSION).tar $(USR)@$(HOST):$(TARGET)
release: clean-release all
relx -o $(REPO)/$(PROJECT)
clean-release: clean-projects
rm -rf $(REPO)/$(PROJECT)
app: deps
@$(REBAR) compile
deps:
@$(REBAR) get-deps
clean:
@$(REBAR) clean
rm -f test/*.beam
rm -f erl_crash.dump
rm -f log/*
tests: clean app eunit ct
eunit:
@$(REBAR) eunit skip_deps=true
docs:
@$(REBAR) doc skip_deps=true
rcswitch:
$(MAKE) -C apps/horst/priv/driver/remote send
cp_crash:
mkdir -p $(CRASH_DIR)/$(HOST)/$(DATE)
scp $(USR)@$(HOST):$(TARGET)/$(PROJECT)/erl_crash.dump $(CRASH_DIR)/$(HOST)/$(DATE)
ct_setup:
rm -rf ct_test/dev1
rm -rf ct_test/dev2
mkdir -p ct_test/dev1
mkdir -p ct_test/dev2
cp -R apps ct_test/dev1/apps
cp -R deps ct_test/dev1/deps
cp dev1.sh ct_test/dev1
cp -R apps ct_test/dev2/apps
cp -R deps ct_test/dev2/deps
cp dev.sh ct_test/dev2
ct_horst:
cd ./apps/horst
ct_run -dir ./apps/horst/test -suite ./apps/horst/test/horst_SUITE \
-sname test -setcookie nocookie -logdir ./apps/horst/logs -label horst \
-config ./apps/horst/test/app.config -cover ./apps/horst/test/cover.spec \
-pa ./apps/horst/ebin
cd ../..