blob: 6bc13451220dfeb636d390f068b01d90605ab275 (
plain)
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#
# Copyright (C) 2014, Jaguar Land Rover
#
# This program is licensed under the terms and conditions of the
# Mozilla Public License, version 2.0. The full text of the
# Mozilla Public License is at https://www.mozilla.org/MPL/2.0/
#
#
# Makefile for the RVI node.
#
.PHONY: all deps compile clean rpm rpmclean test xref ci escript
SCRIPTS=scripts/setup_gen \
scripts/author
SRC_LIST=BUILD.md \
CONFIGURE.md \
doc \
LICENSE \
Makefile \
README.md \
rebar \
rebar.config \
rel \
RELEASE.md \
scripts/setup_gen \
scripts/rvi.service \
scripts/rvi_ctl \
scripts/rvi_install.sh \
python/*.py \
components \
ebin \
src \
TODO
VERSION=0.5.0
all: deps compile escript
deps:
./rebar get-deps
compile:
./rebar compile
escript: compile ${SCRIPTS}
recomp:
./rebar compile skip_deps=true
scripts/setup_gen: deps/setup/setup_gen
cp deps/setup/setup_gen scripts/
scripts/author: components/authorize/author
cp components/authorize/author scripts/
components/authorize/author:
(cd components/authorize && make escript)
clean: rpmclean
./rebar clean
ubuntu_clean:
rm -rf ./ubuntu_build
rpm_clean:
rm -rf ./rpm/BUILD/* \
./rpm/BUILDROOT/* \
./rpm/RPMS/* \
./rpm/SOURCES/* \
./rpm/SRPMS/*
xref: compile
ERL_LIBS=$(PWD):$(PWD)/components:$(PWD)/deps rebar xref skip_deps=true
ci: xref test
test: compile escript
./rebar ct skip_deps=true
# Create a SOURCES tarball for RPM
rpm_tarball: rpmclean clean
tar czf /tmp/rvi_core-$(VERSION).tgz BUILD.md CONFIGURE.md doc \
LICENSE Makefile README.md rebar rebar.config rel \
RELEASE.md rpm scripts/setup_gen scripts/rvi \
scripts/rvi.service scripts/rvi.sh \
components priv/config/rvi_sample.config scripts/rvi_instball.sh src \
# Create an ubuntu 14.04 tarball
ubuntu_package: clean ubuntu_clean
install --mode=0755 -d ./ubuntu_build
# Pack up all relevant files, and debian/, necessary for a build.
# Add rvi-$(VERSION) at the beginning of each file so
# that theu get packed up into a correctly named subdirectory
#
tar czf ./ubuntu_build/rvi_$(VERSION).orig.tar.gz \
--exclude-vcs --transform="s|^|./rvi-$(VERSION)/|" \
$(SRC_LIST) \
debian \
rvi_ubuntu.config \
scripts/rvi.init.ubuntu
# Unpack the created tar file
(cd ./ubuntu_build; tar xf rvi_$(VERSION).orig.tar.gz)
# Descend into the unpacked directory and build.
(cd ./ubuntu_build/rvi-$(VERSION); debuild -uc -us)
rpm: rpmclean rpm_tarball
rpmbuild --define "_topdir $$PWD/rpm" -ba rpm/SPECS/rvi-$(VERSION).spec
install: deps compile
./scripts/rvi_install.sh $(DESTDIR)/opt/rvi $(DESTDIR)/opt/rvi $(DESTDIR)/var/opt/log/rvi
install --mode=0755 -d $(DESTDIR)/etc/opt/rvi/
install --mode=0644 priv/config/rvi_sample.config $(DESTDIR)/etc/opt/rvi/rvi_sample.config
install --mode=0644 priv/config/rvi_common.config $(DESTDIR)/opt/rvi/rvi_core/rvi_common.config
|