cbff0b494f 2023-08-18 1: SCRIPTS:=${:!find /etc/mrc -name '*.service.mk'!:S/^\/etc\/mrc\///:S/.service.mk$//}
cbff0b494f 2023-08-18 2:
cbff0b494f 2023-08-18 3: .include "starter.mk"
cbff0b494f 2023-08-18 4:
cbff0b494f 2023-08-18 5: # Create service targets
cbff0b494f 2023-08-18 6: .for service in ${SCRIPTS}
cbff0b494f 2023-08-18 7: . include "${service}.service.mk"
cbff0b494f 2023-08-18 8:
cbff0b494f 2023-08-18 9: # Set DAEMON defaults
cbff0b494f 2023-08-18 10: DAEMON_${service}_CWD?= /
cbff0b494f 2023-08-18 11: DAEMON_${service}_ENABLE?= no
cbff0b494f 2023-08-18 12: DAEMON_${service}_USER?= root
cbff0b494f 2023-08-18 13: DAEMON_${service}_GROUP?= wheel
cbff0b494f 2023-08-18 14:
cbff0b494f 2023-08-18 15: . if !defined(DAEMON_${service}_COMMAND)
cbff0b494f 2023-08-18 16: . warning MRC> Service [${service}] defunct: no COMMAND specified
cbff0b494f 2023-08-18 17: . else
cbff0b494f 2023-08-18 18:
cbff0b494f 2023-08-18 19: # Service creation targets
cbff0b494f 2023-08-18 20: . if !target(${service})
cbff0b494f 2023-08-18 21: ${service}: ${SERVICE_EXIT} ${_SERVICE}
cbff0b494f 2023-08-18 22: . endif
cbff0b494f 2023-08-18 23:
cbff0b494f 2023-08-18 24: # Service status targets
cbff0b494f 2023-08-18 25: . if !target(${service}_status)
cbff0b494f 2023-08-18 26: ${service}_status: ${_SERVICE_STATUS}
cbff0b494f 2023-08-18 27: . endif
cbff0b494f 2023-08-18 28:
cbff0b494f 2023-08-18 29: # Service exit targets
cbff0b494f 2023-08-18 30: . if !target(${service}_exit)
cbff0b494f 2023-08-18 31: ${service}_exit: ${_SERVICE_EXIT} ${DAEMON_${service}_DEPS:S/$/_exit/}
cbff0b494f 2023-08-18 32: . endif
cbff0b494f 2023-08-18 33:
cbff0b494f 2023-08-18 34: DAEMON_EXIT: ${service}_exit
cbff0b494f 2023-08-18 35: . endif
cbff0b494f 2023-08-18 36: .endfor
cbff0b494f 2023-08-18 37:
cbff0b494f 2023-08-18 38: .MAIN: ${SCRIPTS} ${TARGETS}
cbff0b494f 2023-08-18 39:
cbff0b494f 2023-08-18 40: .PHONY: ${SCRIPTS} ${OTHER_TARGETS} ${TARGETS}
cbff0b494f 2023-08-18 41:
cbff0b494f 2023-08-18 42: .undef SCRIPTS