freebsd-dev/targets/Makefile.xtras
Bryan Drewery 506ef4b10b show-valid-targets: Show host targets and also order all of the targets.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 18:39:41 +00:00

75 lines
1.8 KiB
Makefile

# $FreeBSD$
#
# Makefile.xtras - non-build targets
# Resist the urge to fill this with miscellaneous junk
# We are not building here (shouldn't be), so no meta mode.
.MAKE.MODE = normal
_here := ${_PARSEDIR}
.MAIN: no-default
.if !empty(SB_NAME)
# mk wrapper
MAKE_CMD= mk
MAKE_MACHINE_CMD= mk --machine <machine>
.else
# not using 'mk'
MAKE_CMD= ${.MAKE:T}
MAKE_MACHINE_CMD= env MACHINE=<machine> ${.MAKE:T}
.endif
no-default:
@echo "ERROR: there is no supported default target."; \
echo "Try '${MAKE_CMD} help'"
.if make(show-valid-targets)
OTHER_TARGETS = \
destroy \
destroy-arch \
destroy-host \
destroy-stage \
BUILD_TARGETS != cd ${_here} && \
find . \( -name Makefile.depend -o -name ${.MAKE.DEPENDFILE:T} \) | \
sed 's,/Makefile.*,,;s,^./,,' | sort -u
BUILD_TARGETS_HOST != cd ${_here} && \
find . \( -name Makefile.depend.host -o -name ${.MAKE.DEPENDFILE:T}.host \) | \
sed 's,/Makefile.*,,;s,^./,,' | sort -u
show-valid-targets:
.if !empty(BUILD_TARGETS_HOST)
@echo "Build targets for host (leave out the ${target_dirs:S,${_here:T},,:S,^/,,:S,$,/,}):"
@echo "${BUILD_TARGETS_HOST:O:ts\n}"
@echo
.endif
@echo "Build targets for ${MACHINE} (leave out the ${target_dirs:S,${_here:T},,:S,^/,,:S,$,/,}):"
@echo "${BUILD_TARGETS:O:ts\n}"
@echo; echo "Other targets:"; echo "${OTHER_TARGETS:O:ts\n}"
.endif
help: show-help
show-help:
@echo; \
echo "You can see the targets which are valid for a given machine"; \
echo "by running '${MAKE_MACHINE_CMD} show-valid-targets'"; \
echo "For other information, read: ${HELP_DOCS:@d@${.newline}$d@}"; \
echo
not-valid-target:
@echo "ERROR: '${_TARGETS}' is not a valid target for ${MACHINE}."
.if make(destroy*)
.include <bsd.obj.mk>
.endif
.for t in ${_TARGETS:Nlove}
.if !target($t)
$t: not-valid-target show-help
.endif
.endfor