freebsd-src/usr.sbin/Makefile.amd64
Fernando Apesteguía df90aeac24 Fix build with -DNO_ROOT
The inclusion of 0a0f748641 broke the build with the -DNO_ROOT option.
Specifically, that commit adds some relative paths (with `..`) to METALOG
that make other tools using that log, fail afterwards (tar, makefs...).

It's been argued[1] if this is really something mtree(8) should handle more
graciously. In the meantime, fix the breakage but changing the order in which
the links are created: first in the parent directory, then in the
architecture-specific one.

We keep the architecture-specific directories an the links to the parent
directories. This is something that we might want to change in the future.

This commit is based on a concept patch by avg@.

[1] https://lists.freebsd.org/archives/dev-commits-src-all/2021-November/index.html

Reported by: bapt@, emaste@
Approved by: avg@
Fixes: 0a0f748641
Differential Revision: https://reviews.freebsd.org/D33126
2021-11-26 12:51:08 +01:00

33 lines
652 B
Makefile

# $FreeBSD$
# mptable: broken (not 64 bit clean)
# pnpinfo: crashes (not really useful anyway)
_ARCH_SUBDIR=amd64
.if ${MK_ACPI} != "no"
SUBDIR+= acpi
.endif
.if ${MK_APM} != "no"
SUBDIR+= apm
# Link files to the architecture directory
.for _manpage in ${:!/bin/sh -c "/bin/ls ${_ARCH_SUBDIR}/.8"!:E}
MLINKS+=${_manpage} ${_ARCH_SUBDIR}/${_manpage}
.endfor
.endif
.if ${MK_BHYVE} != "no"
SUBDIR+= bhyve
SUBDIR+= bhyvectl
SUBDIR+= bhyveload
.endif
SUBDIR+= boot0cfg
.if ${MK_TOOLCHAIN} != "no"
SUBDIR+= btxld
.endif
SUBDIR+= cpucontrol
.if ${MK_HYPERV} != "no"
SUBDIR+= hyperv
.endif
SUBDIR+= lptcontrol
SUBDIR+= mptable
SUBDIR+= spkrtest
SUBDIR+= zzz