-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
80 lines (63 loc) · 1.69 KB
/
Makefile
File metadata and controls
80 lines (63 loc) · 1.69 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
PREFIX ?= /srv
all: \
bin/vmsshd \
bin/vmhttpd \
bin/vmttyd \
bin/telegram \
bin/llmd \
bin/broadway-proxy \
bin/ntvm \
bin/quid \
bin/vmguest \
.ssh/id_ed25519
bin/vmsshd: vmsshd/vmsshd.go
go build -o $@ $<
.PHONY: bin/vmhttpd
bin/vmhttpd:
go build -o $@ vmhttpd/*.go
bin/vmttyd: vmttyd/vmttyd.go vmttyd/index.js vmttyd/index.html
CGO_ENABLED=0 go build -o $@ $<
bin/quid:
go build -o $@ quid/quid.go
.PHONY: bin/telegram bin/ntvm bin/quid bin/vmguest
bin/telegram:
CGO_ENABLED=0 go build -o $@ telegram/main.go
bin/ntvm:
go build -o $@ ntvm/ntvm.go
bin/broadway-proxy: broadway-proxy/broadway-proxy.go
CGO_ENABLED=0 go build -o $@ $<
.PHONY: bin/vmguest
bin/vmguest:
go build -o $@ vmguest/vmguest.go
install: all
install -d $(PREFIX)/bin
install -m 755 bin/vmsshd $(PREFIX)/bin
install -m 755 bin/vmhttpd $(PREFIX)/bin
install -m 755 bin/vmttyd $(PREFIX)/bin
install -m 755 bin/vmguest $(PREFIX)/bin
link: all
ln -sf $(PWD)/bin/vmsshd $(PREFIX)/bin/
ln -sf $(PWD)/bin/vmhttpd $(PREFIX)/bin/
ln -sf $(PWD)/bin/vmttyd $(PREFIX)/bin/
ln -sf $(PWD)/bin/vmguest $(PREFIX)/bin/
deps: /src/figlet-fonts
go install -v github.com/charmbracelet/gum@latest
sudo apt install -y figlet lolcat binutils
/src/figlet-fonts:
cd /tmp
git clone https://github.com/xero/figlet-fonts
sudo mkdir -p /src
sudo mv figlet-fonts /src
.ssh/id_ed25519:
mkdir -p .ssh
chmod 700 .ssh
ssh-keygen -t ed25519 -f .ssh/id_ed25519 -N "" -C "vm@$(shell hostname)"
chmod 600 .ssh/id_ed25519
chmod 644 .ssh/id_ed25519.pub
.PHONY: groups
groups:
sudo useradd -r -M -U -d /run/ntvm -s /bin/false -c "NTVM Guest User" vmguest
sudo usermod -aG kvm vmguest
# Development targets
.PHONY: dev-vmhttpd
dev-vmhttpd:; air