-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
60 lines (47 loc) · 1.22 KB
/
Copy pathMakefile
File metadata and controls
60 lines (47 loc) · 1.22 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
# constants
PORT=8081
HOST=localhost
# vendor
REDBEAN=vendor/redbean.com
ASSIMILATE=vendor/assimilate
# build
BUILD=bin/beancms.com
DATA_DIR=bin/data
PID_FILE=bin/redbean.pid
LOG_FILE=bin/redbean.log
.PHONY: download run clean stop logs watch docker-build docker-run docker-stop
# download dependencies
download:
curl -o ${REDBEAN} https://redbean.dev/redbean-3.0.0.com && chmod +x ${REDBEAN}
curl -o ${ASSIMILATE} https://cosmo.zip/pub/cosmos/bin/assimilate && chmod +x ${ASSIMILATE}
build:
cp -f ${REDBEAN} ${BUILD}
cd src/ && zip -r ../${BUILD} `ls -A`
run: build
${BUILD} -vv -p ${PORT} -l ${HOST} -D ./bin/
start: build
@(test ! -f ./bin/redbean.pid && \
${BUILD} -vv -d -L ${LOG_FILE} -P ${PID_FILE} -p ${PORT} -l ${HOST} -D ./bin/ \
|| echo "Redbean is already running at $$(cat ${PID_FILE})")
stop:
@(test -f ${PID_FILE} && \
kill -TERM $$(cat ${PID_FILE}) && \
rm ${PID_FILE} \
|| true)
restart: stop build start
watch:
make stop
make start && \
trap 'make stop' EXIT INT TERM && \
watchexec -p -w src make restart
logs:
tail -f ${LOG_FILE}
clean:
rm -f ${REDBEAN}
rm -f ${ASSIMILATE}
rm -f ${BUILD}
rm -f ${LOG_FILE}
rm -f ${PID_FILE}
rm -rf ${DATA_DIR}
docker-run:
docker compose up -d --build beancms