summaryrefslogtreecommitdiff
path: root/openrc.mk
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-07-01 17:55:30 +0100
committerJoe Carstairs <me@joeac.net>2026-07-01 17:55:30 +0100
commit2b00e0399973178ec06b5e43673c0345a6a2895a (patch)
treef98f0b3770fc8aef252ff8afddd444a6041d1c61 /openrc.mk
parentbf2dabe3f48dca6cd49bb703d2b7f244c54dfafa (diff)
pulls out uninstall to openrc.mk
Diffstat (limited to 'openrc.mk')
-rw-r--r--openrc.mk16
1 files changed, 15 insertions, 1 deletions
diff --git a/openrc.mk b/openrc.mk
index 975d119..a886e9c 100644
--- a/openrc.mk
+++ b/openrc.mk
@@ -1,3 +1,6 @@
+is_openrc_module = $(filter $(COMPOSE_SERVICES),$(module))
+openrc_module_target = $(if $(is_openrc_module),~/.config/rc/init.d/joeac.net.$(module))
+
define install_openrc_module_rule =
.PHONY: install_openrc_$(module)
install_openrc_$(module): $(openrc_module_target) openrc_add_$(module) openrc_start_$(module)
@@ -8,7 +11,17 @@ endef
define reinstall_openrc_module_rule =
.PHONY: reinstall_openrc_$(module)
-reinstall_openrc_$(module): $(if $(openrc_module_target),$(openrc_module_target) openrc_restart_$(module))
+reinstall_openrc_$(module): $(if $(is_openrc_module),$(openrc_module_target) openrc_restart_$(module))
+endef
+
+define uninstall_openrc_module_rule =
+.PHONY: uninstall_openrc_$(module)
+uninstall_openrc_$(module):
+ $(if $(is_openrc_module),\
+ rc-service -U joeac.net.$(module) stop; \
+ rc-update -U del joeac.net.$(module) default; \
+ rm ~/.config/rc/init.d/joeac.net.$(module); \
+ )
endef
define openrc_add_rule =
@@ -31,6 +44,7 @@ endef
$(foreach module,$(MODULES),$(eval $(install_openrc_module_rule)))
$(foreach module,$(MODULES),$(eval $(reinstall_openrc_module_rule)))
+$(foreach module,$(MODULES),$(eval $(uninstall_openrc_module_rule)))
$(foreach module,$(MODULES),$(eval $(openrc_add_rule)))
$(foreach module,$(MODULES),$(eval $(openrc_start_rule)))
$(foreach module,$(MODULES),$(eval $(openrc_restart_rule)))