d8511a3d7c 2022-05-30 1: OTHER_TARGETS+=_service_pre
d8511a3d7c 2022-05-30 2:
d8511a3d7c 2022-05-30 3: STARTER?=svc
d8511a3d7c 2022-05-30 4:
d8511a3d7c 2022-05-30 5: _service_pre: .USEBEFORE
d8511a3d7c 2022-05-30 6: # check whether service is enabled
d8511a3d7c 2022-05-30 7: if [ -z "$${DAEMON_$@_ENABLE}" ]; then \
d8511a3d7c 2022-05-30 8: exit 0; \
d8511a3d7c 2022-05-30 9: fi; \
d8511a3d7c 2022-05-30 10: echo "MRC:$@> Starting service."
d8511a3d7c 2022-05-30 11:
d8511a3d7c 2022-05-30 12: # kldload modules if any
d8511a3d7c 2022-05-30 13: if [ -n "${DAEMON_$@_MODULES}" ]; then \
d8511a3d7c 2022-05-30 14: kldload -n ${DAEMON_$@_MODULES}; \
d8511a3d7c 2022-05-30 15: fi; \
d8511a3d7c 2022-05-30 16:
d8511a3d7c 2022-05-30 17: .for starter_source in ${:!find /etc/mrc -name '*.starter.mk'!:S/\/etc\/mrc\///}
d8511a3d7c 2022-05-30 18: starter:=${starter_source:S/.starter.mk$//}
d8511a3d7c 2022-05-30 19: Starter:=${starter:tu}
d8511a3d7c 2022-05-30 20:
d8511a3d7c 2022-05-30 21: OTHER_TARGETS:=${OTHER_TARGETS} _service_${starter} _service_${starter}_exit _service_${starter}_status
d8511a3d7c 2022-05-30 22:
d8511a3d7c 2022-05-30 23: _SERVICE_${Starter}:=_service_pre DAEMON _service_${starter}
d8511a3d7c 2022-05-30 24: _EARLYSERVICE_${Starter}:=_service_pre SERVICE _service_${starter}
d8511a3d7c 2022-05-30 25: _SERVICE_${Starter}_EXIT:=_service_${starter}_exit
d8511a3d7c 2022-05-30 26:
d8511a3d7c 2022-05-30 27: .if "${STARTER}" == "${starter}"
d8511a3d7c 2022-05-30 28: _SERVICE:=_service_pre DAEMON _service_${starter}
d8511a3d7c 2022-05-30 29: _EARLYSERVICE:=_service_pre SERVICE _service_${starter}
d8511a3d7c 2022-05-30 30: _SERVICE_EXIT:=_service_${starter}_exit
d8511a3d7c 2022-05-30 31: .endif
d8511a3d7c 2022-05-30 32:
d8511a3d7c 2022-05-30 33: .export
d8511a3d7c 2022-05-30 34: .include "${starter_source}"
d8511a3d7c 2022-05-30 35: .endfor