-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathMakefile
More file actions
141 lines (116 loc) · 4.34 KB
/
Makefile
File metadata and controls
141 lines (116 loc) · 4.34 KB
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
kernel-version=6.0.5
lsm-version=0.9.0
lib-version=0.5.5
config-version=0.5.3
cli-version=0.2.3
service-version=0.3.3
package-version=0.16.0
fedora-version=36
prepare_provenance:
mkdir -p build
@echo "Downloading provenance library v${lib-version} ..."
cd ./build && git clone https://github.com/camflow/libprovenance.git
cd ./build/libprovenance && git checkout tags/v${lib-version}
cd ./build/libprovenance && git submodule update --init --recursive
cd ./build/libprovenance && $(MAKE) prepare
prepare_config:
mkdir -p build
@echo "Downloading configuration service v${config-version} ..."
cd ./build && git clone https://github.com/camflow/camconfd.git
cd ./build/camconfd && git checkout tags/v${config-version}
cd ./build/camconfd && $(MAKE) prepare
prepare_cli:
mkdir -p build
@echo "Downloading command line interface v${cli-version} ..."
cd ./build && git clone https://github.com/camflow/camflow-cli.git
cd ./build/camflow-cli && git checkout tags/v${cli-version}
cd ./build/camflow-cli && $(MAKE) prepare
prepare_service:
mkdir -p build
@echo "Downloading service v${service-version} ..."
cd ./build && git clone https://github.com/camflow/camflowd.git
cd ./build/camflowd && git checkout tags/v${service-version}
cd ./build/camflowd && $(MAKE) prepare
prepare_lsm:
mkdir -p build
@echo "Downloading LSM patches..."
cd ./build && git clone https://github.com/camflow/camflow-patches.git
cd ./build/camflow-patches && git checkout tags/v${lsm-version}
cd ./build/camflow-patches && $(MAKE) prepare
config:
@echo "Starting kernel configuration ..."
cd ./build/camflow-patches && $(MAKE) config
config_cirlce:
@echo "Starting kernel configuration ..."
cd ./build/camflow-patches && $(MAKE) config_circle
compile_lsm:
@echo "Building kernel ..."
cd ./build/camflow-patches && $(MAKE) compile
compile_provenance:
@echo "Building provenance library ..."
cd ./build/libprovenance && $(MAKE) all
install_lsm:
@echo "Installing kernel ..."
cd ./build/camflow-patches && $(MAKE) install
install_provenance:
@echo "Installing provenance library ..."
cd ./build/libprovenance && $(MAKE) install
install_config:
@echo "Building configuration service ..."
cd ./build/camconfd && $(MAKE) all
@echo "Installing configuration service ..."
cd ./build/camconfd && $(MAKE) install
install_cli:
@echo "Building command line interface ..."
cd ./build/camflow-cli && $(MAKE) all
@echo "Installing command line interface ..."
cd ./build/camflow-cli && $(MAKE) install
install_service:
@echo "Building command line interface ..."
cd ./build/camflowd && $(MAKE) all
@echo "Installing command line interface ..."
cd ./build/camflowd && $(MAKE) install
clean:
sudo rm -rf ./build
rpm:
mkdir -p ~/rpmbuild/RPMS
mkdir -p ~/rpmbuild/SRPMS
mkdir -p ~/rpmbuild/BUILD
mkdir -p ~/rpmbuild/SOURCES
mkdir -p ~/rpmbuild/SPECS
mkdir -p ~/rpmbuild/tmp
rpmbuild -bb camflow.spec
mkdir -p output
cp ~/rpmbuild/RPMS/x86_64/* ./output
rpm_us:
mkdir -p ~/rpmbuild/RPMS
mkdir -p ~/rpmbuild/SRPMS
mkdir -p ~/rpmbuild/BUILD
mkdir -p ~/rpmbuild/SOURCES
mkdir -p ~/rpmbuild/SPECS
mkdir -p ~/rpmbuild/tmp
cd ./build/camconfd && $(MAKE) rpm
cd ./build/camflowd && $(MAKE) rpm
cd ./build/camflow-cli && $(MAKE) rpm
cd ./build/libprovenance && $(MAKE) rpm
all_rpm: rpm_us rpm
deb_us:
cd ./build/camconfd && $(MAKE) deb
cd ./build/camflowd && $(MAKE) deb
cd ./build/camflow-cli && $(MAKE) deb
cd ./build/libprovenance && $(MAKE) deb
publish_rpm:
cd ./output && package_cloud push camflow/provenance/fedora/${fedora-version} camflow-$(package-version)-1.x86_64.rpm
publish_us:
cd ./build/camconfd && $(MAKE) publish
cd ./build/camflowd && $(MAKE) publish
cd ./build/camflow-cli && $(MAKE) publish
cd ./build/libprovenance && $(MAKE) publish
publish_all: publish_us publish_rpm
install_rpm:
curl -1sLf 'https://dl.cloudsmith.io/public/camflow/camflow/cfg/setup/bash.rpm.sh' | sudo -E bash
sudo dnf -y install camflow
sudo systemctl enable camconfd.service
sudo systemctl enable camflowd.service
all: prepare_provenance prepare_config prepare_cli prepare_service prepare_lsm config compile_lsm compile_provenance install_lsm install_provenance install_config install_cli install_service
circle: prepare_provenance prepare_config prepare_cli prepare_service prepare_lsm config_cirlce compile_lsm compile_provenance install_lsm install_provenance install_config install_cli install_service