This repository has been archived by the owner on Jun 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
64 lines (52 loc) · 1.77 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
PREFIX:=/usr/local
SHAREDIR:=$(PREFIX)/share/bawwab-client
#NODE_ENV:=development
NODE_ENV:=production
MOCK:=0
ifeq ($(MOCK),1)
ESBUILD_FLAGS:=--inject:./src/mock/index.js --define:__BAWWAB_MOCK__=true
else
ESBUILD_FLAGS:=--define:__BAWWAB_MOCK__=false
endif
# We support:
# Chrome: Last three versions. No LTS release.
# Edge: Last three versions.
# Firefox: Latest ESR release.
# Safari: Last three versions.
TARGETS:=chrome107,firefox102,safari14,edge107
build: _build/html/assets _build/html/assets/serviceworker.js _build/html/index.html
_build/html/assets: | _build/html
esbuild src/app.js \
--bundle \
--sourcemap \
--loader:.png=file \
--loader:.jpg=file \
--loader:.svg=file \
--loader:.md=text \
--loader:.html=text \
--splitting \
--format=esm \
--target=$(TARGETS) \
--define:process.env.NODE_ENV=\"$(NODE_ENV)\" \
--define:__VUE_OPTIONS_API__=true \
--define:__VUE_PROD_DEVTOOLS__=false \
--define:__VUE_I18N_FULL_INSTALL__=true \
--define:__VUE_I18N_LEGACY_API__=true \
--define:__INTLIFY_PROD_DEVTOOLS__=false \
$(ESBUILD_FLAGS) \
--outdir=$@
_build/html/assets/serviceworker.js: | _build/html/assets
esbuild src/mock/serviceworker.js --bundle --format=esm --sourcemap --loader:.svg=text --outdir=_build/html/assets
_build/html/index.html: | _build/html
cp src/app.html $@
_build/html:
mkdir -p $@
install: build
install -d $(SHAREDIR)
cp -Rv _build/html $(SHAREDIR)
run: build _build/server.pem
nginx -c `pwd`/contrib/nginx.conf -p _build
_build/server.pem:
openssl req -new -x509 -nodes -out $@ -keyout _build/server.key -subj "/C=XX/ST=Universe/L=Universe/O=Test/OU=IT/CN=local.psychnotebook.org"
# Do not dependency-track _build/assets
.PHONY: _build/html/assets _build/html/assets/serviceworker.js build install run