1242818Ssjg# $FreeBSD$ 2242818Ssjg# 3242818Ssjg# Makefile.xtras - non-build targets 4242818Ssjg 5242818Ssjg# Resist the urge to fill this with miscellaneous junk 6242818Ssjg 7242818Ssjg# We are not building here (shouldn't be), so no meta mode. 8242818Ssjg.MAKE.MODE = normal 9242818Ssjg 10242818Ssjg_here := ${_PARSEDIR} 11242818Ssjg 12242818Ssjg.MAIN: no-default 13242818Ssjg 14283688Ssjg.if !empty(SB_NAME) 15283688Ssjg# mk wrapper 16283688SsjgMAKE_CMD= mk 17283688SsjgMAKE_MACHINE_CMD= mk --machine <machine> 18283688Ssjg.else 19283688Ssjg# not using 'mk' 20283688SsjgMAKE_CMD= ${.MAKE:T} 21283688SsjgMAKE_MACHINE_CMD= env MACHINE=<machine> ${.MAKE:T} 22283688Ssjg.endif 23283688Ssjg 24242818Ssjgno-default: 25242818Ssjg @echo "ERROR: there is no supported default target."; \ 26283688Ssjg echo "Try '${MAKE_CMD} help'" 27242818Ssjg 28242818Ssjg 29242818Ssjg.if make(show-valid-targets) 30242818SsjgOTHER_TARGETS = \ 31242818Ssjg destroy \ 32295992Sbdrewery destroy-arch \ 33295992Sbdrewery destroy-host \ 34295992Sbdrewery destroy-stage \ 35242818Ssjg 36297430SbdreweryBUILD_TARGETS_${MACHINE:tu} != cd ${_here} && \ 37242818Ssjg find . \( -name Makefile.depend -o -name ${.MAKE.DEPENDFILE:T} \) | \ 38242818Ssjg sed 's,/Makefile.*,,;s,^./,,' | sort -u 39242818Ssjg 40297430Sbdrewery.for _machine in ${all_machine_list} 41297430Sbdrewery_targets_${_machine} != cd ${_here} && \ 42297430Sbdrewery find . \( -name Makefile.depend.${_machine} -o \ 43297430Sbdrewery -name ${.MAKE.DEPENDFILE:T}.${_machine} \) | \ 44297427Sbdrewery sed 's,/Makefile.*,,;s,^./,,' | sort -u 45297430SbdreweryBUILD_TARGETS_${_machine:tu} += ${_targets_${_machine}} 46297430Sbdrewery.endfor 47297427Sbdrewery 48242818Ssjgshow-valid-targets: 49297430Sbdrewery.for _machine in ${all_machine_list:O} 50297430Sbdrewery.if !empty(BUILD_TARGETS_${_machine:tu}) 51297430Sbdrewery @echo "Build targets for ${_machine} (leave out the ${target_dirs:S,${_here:T},,:S,^/,,:S,$,/,}):" 52297433Sbdrewery @echo -e "${BUILD_TARGETS_${_machine:tu}:O:ts\n}" | sed -e 's,^, ,' 53297427Sbdrewery @echo 54297427Sbdrewery.endif 55297430Sbdrewery.endfor 56297433Sbdrewery @echo "Other targets:"; echo "${OTHER_TARGETS:O:ts\n}" | sed -e 's,^, ,' 57242818Ssjg.endif 58242818Ssjg 59242818Ssjghelp: show-help 60242818Ssjgshow-help: 61242818Ssjg @echo; \ 62242818Ssjg echo "You can see the targets which are valid for a given machine"; \ 63283688Ssjg echo "by running '${MAKE_MACHINE_CMD} show-valid-targets'"; \ 64242818Ssjg echo "For other information, read: ${HELP_DOCS:@d@${.newline}$d@}"; \ 65242818Ssjg echo 66242818Ssjg 67242818Ssjgnot-valid-target: 68242818Ssjg @echo "ERROR: '${_TARGETS}' is not a valid target for ${MACHINE}." 69242818Ssjg 70296120Sbdrewery.if make(destroy*) 71295991Sbdrewery.include <bsd.obj.mk> 72296120Sbdrewery.endif 73242818Ssjg 74242818Ssjg.for t in ${_TARGETS:Nlove} 75242818Ssjg.if !target($t) 76242818Ssjg$t: not-valid-target show-help 77242818Ssjg.endif 78242818Ssjg.endfor 79