Hex Artifact Content
Logged in as anonymous

Artifact 7ada1edf358d03c299be2a76d0a832ab161c1aaf37d00e686405e3a5905c3c8a:


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 2e 4d 41 4b 45  "..export...MAKE
0050: 2e 4a 4f 42 53 3f 3d 31 0a 2e 69 66 20 21 65 6d  .JOBS?=1..if !em
0060: 70 74 79 28 2e 4d 41 4b 45 2e 4d 4f 44 45 3a 4d  pty(.MAKE.MODE:M
0070: 63 6f 6d 70 61 74 29 0a 2e 65 72 72 6f 72 20 22  compat)..error "
0080: 45 52 52 4f 52 3a 20 4d 52 43 20 64 6f 65 73 6e  ERROR: MRC doesn
0090: 27 74 20 73 75 70 70 6f 72 74 20 22 63 6f 6d 70  't support "comp
00a0: 61 74 22 20 6d 6f 64 65 2e 22 0a 2e 65 6e 64 69  at" mode."..endi
00b0: 66 0a 0a 4f 54 48 45 52 5f 54 41 52 47 45 54 53  f..OTHER_TARGETS
00c0: 3a 3d 0a 0a 2e 69 6e 63 6c 75 64 65 20 22 73 74  :=...include "st
00d0: 61 72 74 65 72 2e 6d 6b 22 0a 0a 2e 53 49 4c 45  arter.mk"...SILE
00e0: 4e 54 3a 0a 0a 69 6e 73 74 61 6c 6c 3a 0a 09 69  NT:..install:..i
00f0: 6e 73 74 61 6c 6c 20 72 63 20 2f 65 74 63 2f 72  nstall rc /etc/r
0100: 63 0a 09 69 6e 73 74 61 6c 6c 20 72 63 2e 73 68  c..install rc.sh
0110: 75 74 64 6f 77 6e 20 2f 65 74 63 2f 72 63 2e 73  utdown /etc/rc.s
0120: 68 75 74 64 6f 77 6e 0a 0a 53 43 52 49 50 54 53  hutdown..SCRIPTS
0130: 3a 3d 24 7b 3a 21 66 69 6e 64 20 2f 65 74 63 2f  :=${:!find /etc/
0140: 6d 72 63 20 2d 6e 61 6d 65 20 27 2a 2e 73 65 72  mrc -name '*.ser
0150: 76 69 63 65 2e 6d 6b 27 21 3a 53 2f 5e 5c 2f 65  vice.mk'!:S/^\/e
0160: 74 63 5c 2f 6d 72 63 5c 2f 2f 2f 3a 53 2f 2e 73  tc\/mrc\///:S/.s
0170: 65 72 76 69 63 65 2e 6d 6b 24 2f 2f 7d 0a 0a 2e  ervice.mk$//}...
0180: 69 66 20 64 65 66 69 6e 65 64 28 41 55 54 4f 42  if defined(AUTOB
0190: 4f 4f 54 29 0a 2e 69 6e 63 6c 75 64 65 20 22 69  OOT)..include "i
01a0: 6e 69 74 2e 6d 6b 22 0a 0a 2e 45 52 52 4f 52 3a  nit.mk"...ERROR:
01b0: 0a 09 3a 20 45 52 52 4f 52 3a 20 41 42 4f 52 54  ..: ERROR: ABORT
01c0: 49 4e 47 20 42 4f 4f 54 20 28 73 65 6e 64 69 6e  ING BOOT (sendin
01d0: 67 20 53 49 47 54 45 52 4d 20 74 6f 20 70 61 72  g SIGTERM to par
01e0: 65 6e 74 29 21 0a 09 3a 20 74 61 72 67 65 74 20  ent)!..: target 
01f0: 24 7b 2e 45 52 52 4f 52 5f 54 41 52 47 45 54 7d  ${.ERROR_TARGET}
0200: 20 66 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75   failed to execu
0210: 74 65 3a 0a 09 3a 20 24 7b 2e 45 52 52 4f 52 5f  te:..: ${.ERROR_
0220: 43 4d 44 7d 0a 09 6b 69 6c 6c 20 31 0a 2e 65 6e  CMD}..kill 1..en
0230: 64 69 66 0a 0a 74 65 73 74 3a 0a 09 65 63 68 6f  dif..test:..echo
0240: 20 45 6d 70 74 79 20 74 61 72 67 65 74 2e 0a 0a   Empty target...
0250: 23 20 43 72 65 61 74 65 20 73 65 72 76 69 63 65  # Create service
0260: 20 74 61 72 67 65 74 73 0a 2e 66 6f 72 20 73 65   targets..for se
0270: 72 76 69 63 65 20 69 6e 20 24 7b 53 43 52 49 50  rvice in ${SCRIP
0280: 54 53 7d 0a 2e 09 69 6e 63 6c 75 64 65 20 22 24  TS}...include "$
0290: 7b 73 65 72 76 69 63 65 7d 2e 73 65 72 76 69 63  {service}.servic
02a0: 65 2e 6d 6b 22 0a 0a 23 20 53 65 72 76 69 63 65  e.mk"..# Service
02b0: 20 63 72 65 61 74 69 6f 6e 20 74 61 72 67 65 74   creation target
02c0: 73 0a 2e 09 69 66 20 21 74 61 72 67 65 74 28 24  s...if !target($
02d0: 7b 73 65 72 76 69 63 65 7d 29 0a 24 7b 73 65 72  {service}).${ser
02e0: 76 69 63 65 7d 3a 20 24 7b 53 45 52 56 49 43 45  vice}: ${SERVICE
02f0: 5f 45 58 49 54 7d 20 24 7b 5f 53 45 52 56 49 43  _EXIT} ${_SERVIC
0300: 45 7d 0a 2e 09 65 6e 64 69 66 0a 0a 23 20 53 65  E}...endif..# Se
0310: 72 76 69 63 65 20 73 74 61 74 75 73 20 74 61 72  rvice status tar
0320: 67 65 74 73 0a 2e 09 69 66 20 21 74 61 72 67 65  gets...if !targe
0330: 74 28 24 7b 73 65 72 76 69 63 65 7d 5f 73 74 61  t(${service}_sta
0340: 74 75 73 29 0a 24 7b 73 65 72 76 69 63 65 7d 5f  tus).${service}_
0350: 73 74 61 74 75 73 3a 20 24 7b 5f 53 45 52 56 49  status: ${_SERVI
0360: 43 45 5f 53 54 41 54 55 53 7d 0a 2e 09 65 6e 64  CE_STATUS}...end
0370: 69 66 0a 0a 23 20 53 65 72 76 69 63 65 20 65 78  if..# Service ex
0380: 69 74 20 74 61 72 67 65 74 73 0a 2e 09 69 66 20  it targets...if 
0390: 21 74 61 72 67 65 74 28 24 7b 73 65 72 76 69 63  !target(${servic
03a0: 65 7d 5f 65 78 69 74 29 0a 24 7b 73 65 72 76 69  e}_exit).${servi
03b0: 63 65 7d 5f 65 78 69 74 3a 20 24 7b 5f 53 45 52  ce}_exit: ${_SER
03c0: 56 49 43 45 5f 45 58 49 54 7d 20 24 7b 44 41 45  VICE_EXIT} ${DAE
03d0: 4d 4f 4e 5f 24 7b 73 65 72 76 69 63 65 7d 5f 44  MON_${service}_D
03e0: 45 50 53 3a 53 2f 24 2f 5f 65 78 69 74 2f 7d 0a  EPS:S/$/_exit/}.
03f0: 2e 09 65 6e 64 69 66 0a 0a 44 41 45 4d 4f 4e 5f  ..endif..DAEMON_
0400: 45 58 49 54 3a 20 24 7b 73 65 72 76 69 63 65 7d  EXIT: ${service}
0410: 5f 65 78 69 74 0a 2e 65 6e 64 66 6f 72 0a 0a 2e  _exit..endfor...
0420: 4d 41 49 4e 3a 20 24 7b 53 43 52 49 50 54 53 7d  MAIN: ${SCRIPTS}
0430: 20 24 7b 54 41 52 47 45 54 53 7d 0a 0a 2e 50 48   ${TARGETS}...PH
0440: 4f 4e 59 3a 20 24 7b 53 43 52 49 50 54 53 7d 20  ONY: ${SCRIPTS} 
0450: 24 7b 4f 54 48 45 52 5f 54 41 52 47 45 54 53 7d  ${OTHER_TARGETS}
0460: 20 24 7b 54 41 52 47 45 54 53 7d 0a 2e 75 6e 64   ${TARGETS}..und
0470: 65 66 20 4f 54 48 45 52 5f 54 41 52 47 45 54 53  ef OTHER_TARGETS
0480: 20 53 43 52 49 50 54 53 20 54 41 52 47 45 54 53   SCRIPTS TARGETS
0490: 0a 0a 45 4e 41 42 4c 45 44 3a 3d 24 7b 3a 21 65  ..ENABLED:=${:!e
04a0: 6e 76 21 3a 43 2f 3d 2e 2a 2f 2f 3a 4d 2a 5f 45  nv!:C/=.*//:M*_E
04b0: 4e 41 42 4c 45 7d 0a 0a 2e 66 6f 72 20 76 61 72  NABLE}...for var
04c0: 20 69 6e 20 24 7b 45 4e 41 42 4c 45 44 7d 0a 2e   in ${ENABLED}..
04d0: 09 69 66 20 21 65 6d 70 74 79 28 24 7b 76 61 72  .if !empty(${var
04e0: 7d 3a 74 6c 3a 4d 6e 6f 29 0a 23 2e 69 6e 66 6f  }:tl:Mno).#.info
04f0: 20 24 7b 76 61 72 7d 0a 2e 09 09 75 6e 64 65 66   ${var}....undef
0500: 20 24 7b 76 61 72 7d 0a 2e 09 65 6e 64 69 66 0a   ${var}...endif.
0510: 2e 65 6e 64 66 6f 72 0a 0a 2e 75 6e 64 65 66 20  .endfor...undef 
0520: 45 4e 41 42 4c 45 44 0a 2e 75 6e 65 78 70 6f 72  ENABLED..unexpor
0530: 74 2d 65 6e 76 0a 2e 65 78 70 6f 72 74 0a 23 2e  t-env..export.#.
0540: 69 6e 66 6f 20 24 7b 3a 21 65 6e 76 21 7d 0a     info ${:!env!}.