d8511a3d7c 2022-05-30 arcade: OTHER_TARGETS+=_service_pre
d8511a3d7c 2022-05-30 arcade:
d8511a3d7c 2022-05-30 arcade: STARTER?=svc
d8511a3d7c 2022-05-30 arcade:
d8511a3d7c 2022-05-30 arcade: _service_pre: .USEBEFORE
d8511a3d7c 2022-05-30 arcade: # check whether service is enabled
d8511a3d7c 2022-05-30 arcade: if [ -z "$${DAEMON_$@_ENABLE}" ]; then \
d8511a3d7c 2022-05-30 arcade: exit 0; \
d8511a3d7c 2022-05-30 arcade: fi; \
d8511a3d7c 2022-05-30 arcade: echo "MRC:$@> Starting service."
d8511a3d7c 2022-05-30 arcade:
d8511a3d7c 2022-05-30 arcade: # kldload modules if any
d8511a3d7c 2022-05-30 arcade: if [ -n "${DAEMON_$@_MODULES}" ]; then \
d8511a3d7c 2022-05-30 arcade: kldload -n ${DAEMON_$@_MODULES}; \
d8511a3d7c 2022-05-30 arcade: fi; \
d8511a3d7c 2022-05-30 arcade:
d8511a3d7c 2022-05-30 arcade: .for starter_source in ${:!find /etc/mrc -name '*.starter.mk'!:S/\/etc\/mrc\///}
d8511a3d7c 2022-05-30 arcade: starter:=${starter_source:S/.starter.mk$//}
d8511a3d7c 2022-05-30 arcade: Starter:=${starter:tu}
d8511a3d7c 2022-05-30 arcade:
d8511a3d7c 2022-05-30 arcade: OTHER_TARGETS:=${OTHER_TARGETS} _service_${starter} _service_${starter}_exit _service_${starter}_status
d8511a3d7c 2022-05-30 arcade:
d8511a3d7c 2022-05-30 arcade: _SERVICE_${Starter}:=_service_pre DAEMON _service_${starter}
d8511a3d7c 2022-05-30 arcade: _EARLYSERVICE_${Starter}:=_service_pre SERVICE _service_${starter}
d8511a3d7c 2022-05-30 arcade: _SERVICE_${Starter}_EXIT:=_service_${starter}_exit
d8511a3d7c 2022-05-30 arcade:
d8511a3d7c 2022-05-30 arcade: .if "${STARTER}" == "${starter}"
d8511a3d7c 2022-05-30 arcade: _SERVICE:=_service_pre DAEMON _service_${starter}
d8511a3d7c 2022-05-30 arcade: _EARLYSERVICE:=_service_pre SERVICE _service_${starter}
d8511a3d7c 2022-05-30 arcade: _SERVICE_EXIT:=_service_${starter}_exit
d8511a3d7c 2022-05-30 arcade: .endif
d8511a3d7c 2022-05-30 arcade:
d8511a3d7c 2022-05-30 arcade: .export
d8511a3d7c 2022-05-30 arcade: .include "${starter_source}"
d8511a3d7c 2022-05-30 arcade: .endfor