Hex Artifact Content
Logged in as anonymous

Artifact c2a491fdbe5dd567fba03ed0aaa6c101335a25ffebb854f1219cbe6b37ad3d7e:


0000: 2e 69 6e 63 6c 75 64 65 20 22 64 65 66 61 75 6c  .include "defaul
0010: 74 73 2e 6d 6b 22 0a 2e 69 6e 63 6c 75 64 65 20  ts.mk"..include 
0020: 22 6f 72 64 65 72 2e 6d 6b 22 0a 2e 69 6e 63 6c  "order.mk"..incl
0030: 75 64 65 20 22 2f 65 74 63 2f 6d 72 63 2e 6d 6b  ude "/etc/mrc.mk
0040: 22 0a 2e 65 78 70 6f 72 74 0a 0a 4f 54 48 45 52  "..export..OTHER
0050: 5f 54 41 52 47 45 54 53 3a 3d 0a 0a 2e 69 6e 63  _TARGETS:=...inc
0060: 6c 75 64 65 20 22 73 74 61 72 74 65 72 2e 6d 6b  lude "starter.mk
0070: 22 0a 0a 2e 53 49 4c 45 4e 54 3a 0a 0a 69 6e 73  "...SILENT:..ins
0080: 74 61 6c 6c 3a 0a 09 69 6e 73 74 61 6c 6c 20 72  tall:..install r
0090: 63 20 2f 65 74 63 2f 72 63 0a 09 69 6e 73 74 61  c /etc/rc..insta
00a0: 6c 6c 20 72 63 2e 73 68 75 74 64 6f 77 6e 20 2f  ll rc.shutdown /
00b0: 65 74 63 2f 72 63 2e 73 68 75 74 64 6f 77 6e 0a  etc/rc.shutdown.
00c0: 0a 53 43 52 49 50 54 53 3a 3d 24 7b 3a 21 66 69  .SCRIPTS:=${:!fi
00d0: 6e 64 20 2f 65 74 63 2f 6d 72 63 20 2d 6e 61 6d  nd /etc/mrc -nam
00e0: 65 20 27 2a 2e 73 65 72 76 69 63 65 2e 6d 6b 27  e '*.service.mk'
00f0: 21 3a 53 2f 5e 5c 2f 65 74 63 5c 2f 6d 72 63 5c  !:S/^\/etc\/mrc\
0100: 2f 2f 2f 3a 53 2f 2e 73 65 72 76 69 63 65 2e 6d  ///:S/.service.m
0110: 6b 24 2f 2f 7d 0a 0a 2e 69 66 20 64 65 66 69 6e  k$//}...if defin
0120: 65 64 28 41 55 54 4f 42 4f 4f 54 29 0a 2e 69 6e  ed(AUTOBOOT)..in
0130: 63 6c 75 64 65 20 22 69 6e 69 74 2e 6d 6b 22 0a  clude "init.mk".
0140: 0a 2e 45 52 52 4f 52 3a 0a 09 3a 20 45 52 52 4f  ..ERROR:..: ERRO
0150: 52 3a 20 41 42 4f 52 54 49 4e 47 20 42 4f 4f 54  R: ABORTING BOOT
0160: 20 28 73 65 6e 64 69 6e 67 20 53 49 47 54 45 52   (sending SIGTER
0170: 4d 20 74 6f 20 70 61 72 65 6e 74 29 21 0a 09 3a  M to parent)!..:
0180: 20 74 61 72 67 65 74 20 24 7b 2e 45 52 52 4f 52   target ${.ERROR
0190: 5f 54 41 52 47 45 54 7d 20 66 61 69 6c 65 64 20  _TARGET} failed 
01a0: 74 6f 20 65 78 65 63 75 74 65 3a 0a 09 3a 20 24  to execute:..: $
01b0: 7b 2e 45 52 52 4f 52 5f 43 4d 44 7d 0a 09 6b 69  {.ERROR_CMD}..ki
01c0: 6c 6c 20 31 0a 2e 65 6e 64 69 66 0a 0a 74 65 73  ll 1..endif..tes
01d0: 74 3a 0a 09 65 63 68 6f 20 45 6d 70 74 79 20 74  t:..echo Empty t
01e0: 61 72 67 65 74 2e 0a 0a 23 20 43 72 65 61 74 65  arget...# Create
01f0: 20 73 65 72 76 69 63 65 20 74 61 72 67 65 74 73   service targets
0200: 0a 2e 66 6f 72 20 73 65 72 76 69 63 65 20 69 6e  ..for service in
0210: 20 24 7b 53 43 52 49 50 54 53 7d 0a 2e 09 69 6e   ${SCRIPTS}...in
0220: 63 6c 75 64 65 20 22 24 7b 73 65 72 76 69 63 65  clude "${service
0230: 7d 2e 73 65 72 76 69 63 65 2e 6d 6b 22 0a 0a 23  }.service.mk"..#
0240: 20 53 65 72 76 69 63 65 20 63 72 65 61 74 69 6f   Service creatio
0250: 6e 20 74 61 72 67 65 74 73 0a 2e 09 69 66 20 21  n targets...if !
0260: 74 61 72 67 65 74 28 24 7b 73 65 72 76 69 63 65  target(${service
0270: 7d 29 0a 24 7b 73 65 72 76 69 63 65 7d 3a 20 24  }).${service}: $
0280: 7b 5f 53 45 52 56 49 43 45 7d 0a 2e 09 65 6e 64  {_SERVICE}...end
0290: 69 66 0a 0a 23 20 53 65 72 76 69 63 65 20 63 72  if..# Service cr
02a0: 65 61 74 69 6f 6e 20 74 61 72 67 65 74 73 0a 2e  eation targets..
02b0: 09 69 66 20 21 74 61 72 67 65 74 28 24 7b 73 65  .if !target(${se
02c0: 72 76 69 63 65 7d 5f 73 74 61 74 75 73 29 0a 24  rvice}_status).$
02d0: 7b 73 65 72 76 69 63 65 7d 5f 73 74 61 74 75 73  {service}_status
02e0: 3a 20 24 7b 5f 53 45 52 56 49 43 45 5f 53 54 41  : ${_SERVICE_STA
02f0: 54 55 53 7d 0a 2e 09 65 6e 64 69 66 0a 0a 23 20  TUS}...endif..# 
0300: 53 65 72 76 69 63 65 20 65 78 69 74 20 74 61 72  Service exit tar
0310: 67 65 74 73 0a 2e 09 69 66 20 21 74 61 72 67 65  gets...if !targe
0320: 74 28 24 7b 73 65 72 76 69 63 65 7d 5f 65 78 69  t(${service}_exi
0330: 74 29 0a 24 7b 73 65 72 76 69 63 65 7d 5f 65 78  t).${service}_ex
0340: 69 74 3a 20 24 7b 5f 53 45 52 56 49 43 45 5f 45  it: ${_SERVICE_E
0350: 58 49 54 7d 0a 2e 09 65 6e 64 69 66 0a 0a 44 41  XIT}...endif..DA
0360: 45 4d 4f 4e 5f 45 58 49 54 3a 20 24 7b 73 65 72  EMON_EXIT: ${ser
0370: 76 69 63 65 7d 5f 65 78 69 74 0a 2e 65 6e 64 66  vice}_exit..endf
0380: 6f 72 0a 0a 2e 4d 41 49 4e 3a 20 24 7b 53 43 52  or...MAIN: ${SCR
0390: 49 50 54 53 7d 20 24 7b 54 41 52 47 45 54 53 7d  IPTS} ${TARGETS}
03a0: 0a 0a 2e 50 48 4f 4e 59 3a 20 24 7b 53 43 52 49  ...PHONY: ${SCRI
03b0: 50 54 53 7d 20 24 7b 4f 54 48 45 52 5f 54 41 52  PTS} ${OTHER_TAR
03c0: 47 45 54 53 7d 20 24 7b 54 41 52 47 45 54 53 7d  GETS} ${TARGETS}
03d0: 0a 2e 75 6e 64 65 66 20 4f 54 48 45 52 5f 54 41  ..undef OTHER_TA
03e0: 52 47 45 54 53 20 53 43 52 49 50 54 53 20 54 41  RGETS SCRIPTS TA
03f0: 52 47 45 54 53 0a 0a 45 4e 41 42 4c 45 44 3a 3d  RGETS..ENABLED:=
0400: 24 7b 3a 21 65 6e 76 21 3a 43 2f 3d 2e 2a 2f 2f  ${:!env!:C/=.*//
0410: 3a 4d 2a 5f 45 4e 41 42 4c 45 7d 0a 0a 2e 66 6f  :M*_ENABLE}...fo
0420: 72 20 76 61 72 20 69 6e 20 24 7b 45 4e 41 42 4c  r var in ${ENABL
0430: 45 44 7d 0a 2e 09 69 66 20 21 65 6d 70 74 79 28  ED}...if !empty(
0440: 24 7b 76 61 72 7d 3a 74 6c 3a 4d 6e 6f 29 0a 23  ${var}:tl:Mno).#
0450: 2e 69 6e 66 6f 20 24 7b 76 61 72 7d 0a 2e 09 09  .info ${var}....
0460: 75 6e 64 65 66 20 24 7b 76 61 72 7d 0a 2e 09 65  undef ${var}...e
0470: 6e 64 69 66 0a 2e 65 6e 64 66 6f 72 0a 0a 2e 75  ndif..endfor...u
0480: 6e 64 65 66 20 45 4e 41 42 4c 45 44 0a 2e 75 6e  ndef ENABLED..un
0490: 65 78 70 6f 72 74 2d 65 6e 76 0a 2e 65 78 70 6f  export-env..expo
04a0: 72 74 0a 23 2e 69 6e 66 6f 20 24 7b 3a 21 65 6e  rt.#.info ${:!en
04b0: 76 21 7d 0a                                      v!}.