Lines of
Makefile
from check-in be5654b61b
that are changed by the sequence of edits moving toward
check-in cbff0b494f:
1: .include "defaults.mk"
2: .include "order.mk"
3: .include "/etc/mrc.mk"
4: .export
5:
6: .MAKE.JOBS?= ${NCPU}
7: .if !empty(.MAKE.MODE:Mcompat)
8: .error "ERROR: MRC doesn't support "compat" mode."
9: .endif
10:
11: OTHER_TARGETS:=
12:
be5654b61b 2023-08-18 13: .include "starter.mk"
be5654b61b 2023-08-18 14:
15: .SILENT:
16:
17: install:
18: install rc /etc/rc
19: install rc.shutdown /etc/rc.shutdown
be5654b61b 2023-08-18 20:
be5654b61b 2023-08-18 21: SCRIPTS:=${:!find /etc/mrc -name '*.service.mk'!:S/^\/etc\/mrc\///:S/.service.mk$//}
22:
23: .if defined(AUTOBOOT)
24: .include "init.mk"
25:
26: .ERROR:
27: : ERROR: ABORTING BOOT (sending SIGTERM to parent)!
28: : target ${.ERROR_TARGET} failed to execute:
29: : ${.ERROR_CMD}
30: kill 1
31: .endif
32:
33: test:
34: echo Empty target.
35:
be5654b61b 2023-08-18 36: # Create service targets
be5654b61b 2023-08-18 37: .for service in ${SCRIPTS}
be5654b61b 2023-08-18 38: . include "${service}.service.mk"
be5654b61b 2023-08-18 39:
be5654b61b 2023-08-18 40: # Set DAEMON defaults
be5654b61b 2023-08-18 41: DAEMON_${service}_CWD?= /
be5654b61b 2023-08-18 42: DAEMON_${service}_ENABLE?= no
be5654b61b 2023-08-18 43: DAEMON_${service}_USER?= root
be5654b61b 2023-08-18 44: DAEMON_${service}_GROUP?= wheel
be5654b61b 2023-08-18 45:
be5654b61b 2023-08-18 46: . if !defined(DAEMON_${service}_COMMAND)
be5654b61b 2023-08-18 47: . warning MRC> Service [${service}] defunct: no COMMAND specified
be5654b61b 2023-08-18 48: . else
be5654b61b 2023-08-18 49:
be5654b61b 2023-08-18 50: # Service creation targets
be5654b61b 2023-08-18 51: . if !target(${service})
be5654b61b 2023-08-18 52: ${service}: ${SERVICE_EXIT} ${_SERVICE}
be5654b61b 2023-08-18 53: . endif
be5654b61b 2023-08-18 54:
be5654b61b 2023-08-18 55: # Service status targets
be5654b61b 2023-08-18 56: . if !target(${service}_status)
be5654b61b 2023-08-18 57: ${service}_status: ${_SERVICE_STATUS}
be5654b61b 2023-08-18 58: . endif
be5654b61b 2023-08-18 59:
be5654b61b 2023-08-18 60: # Service exit targets
be5654b61b 2023-08-18 61: . if !target(${service}_exit)
be5654b61b 2023-08-18 62: ${service}_exit: ${_SERVICE_EXIT} ${DAEMON_${service}_DEPS:S/$/_exit/}
be5654b61b 2023-08-18 63: . endif
be5654b61b 2023-08-18 64:
be5654b61b 2023-08-18 65: DAEMON_EXIT: ${service}_exit
be5654b61b 2023-08-18 66: . endif
be5654b61b 2023-08-18 67: .endfor
be5654b61b 2023-08-18 68:
be5654b61b 2023-08-18 69: .MAIN: ${SCRIPTS} ${TARGETS}
70:
be5654b61b 2023-08-18 71: .PHONY: ${SCRIPTS} ${OTHER_TARGETS} ${TARGETS}
be5654b61b 2023-08-18 72: .undef OTHER_TARGETS SCRIPTS TARGETS
73:
74: ENABLED:=${:!env!:C/=.*//:M*_ENABLE}
75:
76: .for var in ${ENABLED}
77: . if !empty(${var}:tl:Mno)
78: #.info ${var}
79: . undef ${var}
80: . endif
81: .endfor
82:
83: .undef ENABLED
84: .unexport-env
85: .export
86: #.info ${:!env!}