summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2023-05-27 15:55:07 -0400
committerAndrew Cady <d@jerkface.net>2023-05-27 15:55:07 -0400
commitf2ac2fe76e6d8fcad24daa1f8c16e207e95465f1 (patch)
treecb512e4ccc8c66f24ed2619b40f6a9e355e2f92e /Makefile
parentc9316cfc8e206a54973976eae71649007eef2720 (diff)
begin to implement user service
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile23
1 files changed, 22 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index e8c4a45..12b9329 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,6 @@
1ifneq (0,$(shell id -u))
1fossil_database = db 2fossil_database = db
3unitdir = "$${XDG_CONFIG_HOME:-$$HOME/.config}/systemd/user"
2unit_instance_name != systemd-escape "$$(realpath "$(fossil_database)")" 4unit_instance_name != systemd-escape "$$(realpath "$(fossil_database)")"
3our_name = fossil-sync 5our_name = fossil-sync
4unit_files_basenames = $(addprefix $(our_name)@.,service path timer) 6unit_files_basenames = $(addprefix $(our_name)@.,service path timer)
@@ -8,7 +10,9 @@ unit_instance = $(our_name)@$(unit_instance_name).service
8 10
9default: install start ui 11default: install start ui
10install: 12install:
11 systemctl --user link $(addprefix ./, $(unit_files)) 13 install -m644 -t $(unitdir) -- $(unit_files)
14 systemctl --user daemon-reload
15 sudo make $@
12start stop restart status show: | $(fossil_database) 16start stop restart status show: | $(fossil_database)
13 systemctl --user $@ $(unit_instances) 17 systemctl --user $@ $(unit_instances)
14follow: 18follow:
@@ -29,3 +33,20 @@ work:
29 mkdir -p $@ 33 mkdir -p $@
30work/.fslckout: | work $(fossil_database) 34work/.fslckout: | work $(fossil_database)
31 cd work && fossil open ../$(fossil_database) 35 cd work && fossil open ../$(fossil_database)
36else
37unitdir = /etc/systemd/system
38unit_files = $(addprefix src/fossil-user,@.service .socket)
39units = $(filter-out %@.service,$(notdir $(unit_files)))
40executables = src/endofossil
41bindir = /usr/local/bin
42
43default: install start follow
44install:
45 install -m644 -t $(unitdir) -- $(unit_files)
46 install -t $(bindir) -- $(executables)
47 systemctl daemon-reload
48start stop restart status show:
49 systemctl $@ $(units)
50follow:
51 journalctl $(addprefix -u , $(units)) -f
52endif