Create LOADER_UBOOT, and LOADER_OFW. Move these options out of

Makefile.${MACHINE_ARCH} and remove the now-empty files. Generate the
*32 directories on the necessary architectures (well, currently only
amd64) on the fly. Remove LOADER_EFI variable and co-locate it with
EFI.

Differential Review: https://reviews.freebsd.org/D14546
This commit is contained in:
Warner Losh 2018-03-01 19:50:55 +00:00
parent 32bd1c2bb3
commit f86dd99686
9 changed files with 48 additions and 82 deletions

View File

@ -134,8 +134,9 @@ __DEFAULT_YES_OPTIONS = \
LPR \ LPR \
LS_COLORS \ LS_COLORS \
LZMA_SUPPORT \ LZMA_SUPPORT \
LOADER_EFI \
LOADER_GELI \ LOADER_GELI \
LOADER_OFW \
LOADER_UBOOT \
MAIL \ MAIL \
MAILWRAPPER \ MAILWRAPPER \
MAKE \ MAKE \
@ -297,8 +298,21 @@ BROKEN_OPTIONS+=SSP
.endif .endif
# EFI doesn't exist on mips, powerpc, sparc or riscv. # EFI doesn't exist on mips, powerpc, sparc or riscv.
.if ${__T:Mmips*} || ${__T:Mpowerpc*} || ${__T:Msparc64} || ${__T:Mriscv*} .if ${__T:Mmips*} || ${__T:Mpowerpc*} || ${__T:Msparc64} || ${__T:Mriscv*}
BROKEN_OPTIONS+=EFI LOADER_EFI BROKEN_OPTIONS+=EFI
.endif .endif
# GELI isn't supported on !x86
.if ${__T} != "i386" && ${__T} != "amd64"
BROKEN_OPTIONS+=LOADER_GELI
.endif
# OFW is only for powerpc and sparc64, exclude others
.if ${__T:Mpowerpc*} == "" && ${__T:Msparc64} == ""
BROKEN_OPTIONS+=LOADER_OFW
.endif
# UBOOT is only for arm, mips and powerpc, exclude others
.if ${__T:Marm*} == "" && ${__T:Mmips*} == "" && ${__T:Mpowerpc*} == ""
BROKEN_OPTIONS+=LOADER_UBOOT
.endif
.if ${__T:Mmips64*} .if ${__T:Mmips64*}
# profiling won't work on MIPS64 because there is only assembly for o32 # profiling won't work on MIPS64 because there is only assembly for o32
BROKEN_OPTIONS+=PROFILE BROKEN_OPTIONS+=PROFILE

View File

@ -2,28 +2,43 @@
.include <src.opts.mk> .include <src.opts.mk>
SUBDIR+= libsa # For amd64 we have to build 32 and 64 bit versions of things. For
.if ${MK_FORTH} != "no" # others we don't. LIB32LIST is a list of libraries, which if
# Build the add-in FORTH interpreter. # included, need to be built 32-bit as well.
SUBDIR+= ficl .if ${MACHINE_ARCH} == "amd64"
SUBDIR+= forth LIB32LIST=libsa ficl liblua zfs
.endif
.if ${MK_LOADER_LUA} != "no"
SUBDIR+= liblua
SUBDIR+= lua
.endif .endif
SUBDIR+= defaults S.yes+= libsa
SUBDIR+= man
S.${MK_FORTH}+= ficl
S.${MK_FORTH}+= forth
S.${MK_LOADER_LUA}+= liblua
S.${MK_LOADER_LUA}+= lua
S.${MK_FDT}+= fdt
S.${MK_LOADER_OFW}+= ofw
S.${MK_ZFS}+= zfs
S.yes+= defaults
S.yes+= man
S.${MK_LOADER_GELI}+= geli
.include <bsd.arch.inc.mk> .include <bsd.arch.inc.mk>
.if ${MK_EFI} != "no" && ${MK_LOADER_EFI} != "no" S.${MK_EFI}+= efi
SUBDIR+= efi S.${MK_LOADER_UBOOT}+= uboot
.endif
.if exists(${.CURDIR}/${MACHINE}/.) .if exists(${.CURDIR}/${MACHINE}/.)
SUBDIR+= ${MACHINE} S.yes+= ${MACHINE}
.endif .endif
# Build the actual subdir list from S.yes, adding in the 32-bit
# variant if necessary.
.for _x in ${S.yes}
SUBDIR+=${_x}
.if defined(LIB32LIST) && ${LIB32LIST:M${_x}}
SUBDIR+=${_x}32
.endif
.endfor
.include <bsd.subdir.mk> .include <bsd.subdir.mk>

View File

@ -1,20 +1,4 @@
# $FreeBSD$ # $FreeBSD$
SUBDIR+= libsa32 S.yes+= userboot
.if ${MK_ZFS} != "no" S.yes+= i386
SUBDIR+= zfs zfs32
.endif
.if ${MK_FORTH} != "no"
SUBDIR+= ficl32
.endif
.if ${MK_LOADER_LUA} != "no"
SUBDIR+= liblua32
.endif
SUBDIR+= userboot
.if ${MK_LOADER_GELI} == "yes"
SUBDIR+= geli
.endif
SUBDIR+= i386

View File

@ -1,10 +0,0 @@
# $FreeBSD$
.if ${MK_FDT} != "no"
SUBDIR+= fdt
.endif
.if ${MK_ZFS} != "no"
SUBDIR+= zfs
.endif
SUBDIR+= uboot

View File

@ -1,8 +0,0 @@
# $FreeBSD$
.if ${MK_FDT} != "no"
SUBDIR+= fdt
.endif
.if ${MK_ZFS} != "no"
SUBDIR+= zfs
.endif

View File

@ -1,8 +0,0 @@
# $FreeBSD$
.if ${MK_LOADER_GELI} == "yes"
SUBDIR+= geli
.endif
.if ${MK_ZFS} != "no"
SUBDIR+= zfs
.endif

View File

@ -1,7 +0,0 @@
# $FreeBSD$
.if ${MK_FDT} != "no"
SUBDIR+= fdt
.endif
SUBDIR+= uboot

View File

@ -1,8 +0,0 @@
# $FreeBSD$
.if ${MK_FDT} != "no"
SUBDIR+= fdt
.endif
SUBDIR+= ofw
SUBDIR+= uboot

View File

@ -1,6 +0,0 @@
# $FreeBSD$
SUBDIR+= ofw
.if ${MK_ZFS} != "no"
SUBDIR+= zfs
.endif