-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
76 lines (57 loc) · 2.41 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
# S3 Explorer
# Copyright (C) 2020 indece UG (haftungsbeschränkt)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License or any
# later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
BUILD_VERSION ?= dev-$(shell git rev-parse --short HEAD)
all: frontend_dev backend_dev
release: prepare_sign frontend_prod backend_prod installer_prod
frontend_dev: build_frontend copy_frontend
frontend_prod: build_frontend copy_frontend
backend_dev: build_backend copy_backend
backend_prod: build_backend sign_backend copy_backend
installer_prod: build_installer sign_installer
dependencies: dependencies_frontend dependencies_backend
lint: lint_frontend
prepare_sign:
@test -n "${CODESIGN_CERT}" || (echo "ERROR: env 'CODESIGN_CERT' not set" && false)
@test -n "${CODESIGN_PASSWORD}" || (echo "ERROR: env 'CODESIGN_PASSWORD' not set" && false)
dependencies_frontend:
cd ./frontend && npm ci
dependencies_backend:
cd ./backend && make --always-make dependencies
lint_frontend:
cd ./frontend && npm run lint
build_frontend:
cd ./frontend && BUILD_VERSION=${BUILD_VERSION} npm run build
copy_frontend:
rm -rf ./backend/assets/www/*
mkdir -p ./backend/assets/www
cp -r ./frontend/build/* ./backend/assets/www/
build_backend:
cd ./backend && BUILD_VERSION=${BUILD_VERSION} make --always-make
sign_backend:
@cd ./backend && BUILD_VERSION=${BUILD_VERSION} CODESIGN_CERT=${CODESIGN_CERT} CODESIGN_PASSWORD=${CODESIGN_PASSWORD} make sign --always-make
copy_backend:
rm -rf ./installer/assets/bin/*
mkdir -p ./installer/assets/bin
cp -r ./backend/dist/bin/* ./installer/assets/bin/
cp -r ./LICENSE ./installer/assets/bin/LICENSE.txt
build_installer:
cd ./installer && BUILD_VERSION=${BUILD_VERSION} make --always-make
sign_installer:
@cd ./installer && BUILD_VERSION=${BUILD_VERSION} CODESIGN_CERT=${CODESIGN_CERT} CODESIGN_PASSWORD=${CODESIGN_PASSWORD} make sign --always-make
clean:
rm -rf ./backend/dist
rm -rf ./frontend/build
rm -rf ./installer/dist