svn commit: r330248 - in head: share/mk stand
Warner Losh
imp at FreeBSD.org
Thu Mar 1 19:50:56 UTC 2018
Author: imp
Date: Thu Mar 1 19:50:55 2018
New Revision: 330248
URL: https://svnweb.freebsd.org/changeset/base/330248
Log:
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
Deleted:
head/stand/Makefile.arm
head/stand/Makefile.arm64
head/stand/Makefile.i386
head/stand/Makefile.mips
head/stand/Makefile.powerpc
head/stand/Makefile.sparc64
Modified:
head/share/mk/src.opts.mk
head/stand/Makefile
head/stand/Makefile.amd64
Modified: head/share/mk/src.opts.mk
==============================================================================
--- head/share/mk/src.opts.mk Thu Mar 1 18:19:14 2018 (r330247)
+++ head/share/mk/src.opts.mk Thu Mar 1 19:50:55 2018 (r330248)
@@ -134,8 +134,9 @@ __DEFAULT_YES_OPTIONS = \
LPR \
LS_COLORS \
LZMA_SUPPORT \
- LOADER_EFI \
LOADER_GELI \
+ LOADER_OFW \
+ LOADER_UBOOT \
MAIL \
MAILWRAPPER \
MAKE \
@@ -297,8 +298,21 @@ BROKEN_OPTIONS+=SSP
.endif
# EFI doesn't exist on mips, powerpc, sparc or riscv.
.if ${__T:Mmips*} || ${__T:Mpowerpc*} || ${__T:Msparc64} || ${__T:Mriscv*}
-BROKEN_OPTIONS+=EFI LOADER_EFI
+BROKEN_OPTIONS+=EFI
.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*}
# profiling won't work on MIPS64 because there is only assembly for o32
BROKEN_OPTIONS+=PROFILE
Modified: head/stand/Makefile
==============================================================================
--- head/stand/Makefile Thu Mar 1 18:19:14 2018 (r330247)
+++ head/stand/Makefile Thu Mar 1 19:50:55 2018 (r330248)
@@ -2,28 +2,43 @@
.include <src.opts.mk>
-SUBDIR+= libsa
-.if ${MK_FORTH} != "no"
-# Build the add-in FORTH interpreter.
-SUBDIR+= ficl
-SUBDIR+= forth
+# For amd64 we have to build 32 and 64 bit versions of things. For
+# others we don't. LIB32LIST is a list of libraries, which if
+# included, need to be built 32-bit as well.
+.if ${MACHINE_ARCH} == "amd64"
+LIB32LIST=libsa ficl liblua zfs
.endif
-.if ${MK_LOADER_LUA} != "no"
-SUBDIR+= liblua
-SUBDIR+= lua
-.endif
-SUBDIR+= defaults
-SUBDIR+= man
+S.yes+= libsa
+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>
-.if ${MK_EFI} != "no" && ${MK_LOADER_EFI} != "no"
-SUBDIR+= efi
-.endif
+S.${MK_EFI}+= efi
+S.${MK_LOADER_UBOOT}+= uboot
.if exists(${.CURDIR}/${MACHINE}/.)
-SUBDIR+= ${MACHINE}
+S.yes+= ${MACHINE}
.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>
Modified: head/stand/Makefile.amd64
==============================================================================
--- head/stand/Makefile.amd64 Thu Mar 1 18:19:14 2018 (r330247)
+++ head/stand/Makefile.amd64 Thu Mar 1 19:50:55 2018 (r330248)
@@ -1,20 +1,4 @@
# $FreeBSD$
-SUBDIR+= libsa32
-.if ${MK_ZFS} != "no"
-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
+S.yes+= userboot
+S.yes+= i386
More information about the svn-src-head
mailing list