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