-
Notifications
You must be signed in to change notification settings - Fork 61
/
Copy pathMakefile
51 lines (44 loc) · 1.39 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
MSCS_USER := minecraft
MSCS_HOME := /opt/mscs
MSCTL := /usr/local/bin/msctl
MSCS := /usr/local/bin/mscs
MSCS_INIT_D := /etc/init.d/mscs
MSCS_SERVICE := /etc/systemd/system/mscs.service
MSCS_SERVICE_TEMPLATE := /etc/systemd/system/[email protected]
MSCS_COMPLETION := /etc/bash_completion.d/mscs
UPDATE_D := $(wildcard update.d/*)
.PHONY: install adduser update clean
install: adduser update
if which systemctl; then \
systemctl -f enable mscs.service; \
else \
ln -s $(MSCS) $(MSCS_INIT_D); \
update-rc.d mscs defaults; \
fi
adduser:
# safety check to see if user exists before trying to create it
if id $(MSCS_USER); then \
echo "Minecraft user $(MSCS_USER) exists so not creating it"; \
else \
useradd --system --user-group --create-home -K UMASK=0022 --home $(MSCS_HOME) $(MSCS_USER); \
fi
update:
install -m 0755 msctl $(MSCTL)
install -m 0755 mscs $(MSCS)
install -m 0644 mscs.completion $(MSCS_COMPLETION)
if which systemctl; then \
install -m 0644 mscs.service $(MSCS_SERVICE); \
install -m 0644 [email protected] $(MSCS_SERVICE_TEMPLATE); \
fi
@for script in $(UPDATE_D); do \
sh $$script; \
done; true;
clean:
if which systemctl; then \
systemctl -f disable mscs.service; \
rm -f $(MSCS_SERVICE) $(MSCS_SERVICE_TEMPLATE); \
else \
update-rc.d mscs remove; \
rm -f $(MSCS_INIT_D); \
fi
rm -f $(MSCTL) $(MSCS) $(MSCS_COMPLETION)