-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
108 lines (76 loc) · 3.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
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
PROJECT_NAME=officebots
TOOLS=tools
DIST=dist
WEBDIST=${DIST}/html5
GODOT_VERSION=3.5
GODOT_SUFFIX=rc5_x11.64
GODOT=${HOME}/applis/godot/Godot_v${GODOT_VERSION}-${GODOT_SUFFIX}
GODOT_HEADLESS_BASE=Godot_v${GODOT_VERSION}-stable_linux_headless.64
#GODOT_HEADLESS=${TOOLS}/${GODOT_HEADLESS_BASE}
GODOT_HEADLESS=${GODOT}
TEMPLATES_ROOT?=$(shell pwd)/${TOOLS}
SERVER_PCK=${DIST}/${PROJECT_NAME}-server.zip
SERVER=kimsufi:research-severin/bots-at-work
REMOTE_SERVER_URL=https://officebots.skadge.org
REMOTE_SERVER_PORT=6969
SOURCES := $(wildcard *.gd) $(wildcard *.tscn)
RANDNAME:=$(shell python -c 'from random import choice; print(choice(["Tommy","Nisha","Eshal","Giselle","Kyal","Aditya","Isl","Matteo","Santiago","Keeleigh","Maggie","Arya","Evelyn","Ammara","Harry","Bianka","Amna","Shiloh","Omari","Lilah","Yusef","Sabiha","Suhail","Arla","Remy","Umaima","Cohen","Elsie","Dominick","Kamila","Maheen","Terrell","Oakley","Kishan","Amit","Britany","Beatriz","Katharine","Rehaan","Clayton","Tala","Ibraheem","Mazie","Clare","Velma","Kim","Honor","Shabaz","Jan","Moesha","Mindy"]));')
# .PHONY means these rules get executed even if
# files of those names exist.
.PHONY: all clean
all: linux
download-godot-headless: ${GODOT_HEADLESS}
Godot_v${GODOT_VERSION}-stable_export_templates.tpz:
mkdir -p ${TOOLS}/godot/templates/${GODOT_VERSION}.stable
wget https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION}/Godot_v${GODOT_VERSION}-stable_export_templates.tpz
unzip Godot_v${GODOT_VERSION}-stable_export_templates.tpz
mv templates/* ${TOOLS}/godot/templates/${GODOT_VERSION}.stable/
rmdir templates
${GODOT_HEADLESS_BASE}.zip:
mkdir -p ${TOOLS}
wget https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION}/${GODOT_HEADLESS_BASE}.zip
unzip ${GODOT_HEADLESS_BASE}.zip
mv ${GODOT_HEADLESS_BASE} ${TOOLS}
${GODOT_HEADLESS}: Godot_v${GODOT_VERSION}-stable_export_templates.tpz ${GODOT_HEADLESS_BASE}.zip
linux: ${GODOT_HEADLESS} ${DIST}/${PROJECT_NAME}
${DIST}/${PROJECT_NAME}: $(SOURCES)
mkdir -p ${DIST}
XDG_DATA_HOME=${TEMPLATES_ROOT} ${GODOT_HEADLESS} --export linux ${DIST}/${PROJECT_NAME}
run-standalone:
@echo -en "\033]0;Officebot standalone\a"
${DIST}/${PROJECT_NAME} --standalone
@echo -en "\033]0;Terminal\a"
run-server:
@echo -en "\033]0;Officebot local server\a"
${DIST}/${PROJECT_NAME} --server
@echo -en "\033]0;Terminal\a"
run-client:
@echo -en "\033]0;Officebot client '$(RANDNAME)' - localhost\a"
${DIST}/${PROJECT_NAME} --client --name=$(RANDNAME)
@echo -en "\033]0;Terminal\a"
run-client-remote:
@echo -en "\033]0;Officebot client '$(RANDNAME)' - $(REMOTE_SERVER_URL)\a"
${DIST}/${PROJECT_NAME} --client --name=$(RANDNAME) --server=$(REMOTE_SERVER_URL) --port=$(REMOTE_SERVER_PORT)
@echo -en "\033]0;Terminal\a"
web: ${GODOT_HEADLESS} ${WEBDIST}/index.wasm
${WEBDIST}/index.wasm: $(SOURCES)
mkdir -p ${WEBDIST}
${GODOT_HEADLESS} --export HTML5 ${WEBDIST}/index.html
${SERVER_PCK}: $(SOURCES)
${GODOT_HEADLESS} --export-pack linux ${SERVER_PCK}
webserver: ${GODOT_HEADLESS} ${SERVER_PCK}
deploy-client: web
@echo -en "\033]0;Deploying client to $(SERVER)...\a"
scp ${WEBDIST}/* ${SERVER}
@echo -en "\033]0;Terminal\a"
deploy-server: webserver
@echo -en "\033]0;Deploying server to $(SERVER)...\a"
scp ${SERVER_PCK} ${SERVER}
@echo -en "\033]0;Terminal\a"
edit:
@echo -en "\033]0;Godot editor\a"
${GODOT} project.godot
@echo -en "\033]0;Terminal\a"
deploy: deploy-client deploy-server
clean:
rm -rf dist/*