mirror of
https://git.FreeBSD.org/src.git
synced 2026-06-02 11:24:32 +00:00
universe: emit warning instead of error for bad/missing KERNCONF
When doing a large `make universe` build with multiple KERNCONFS, it should not be an error when a particular target has a missing KERNCONF. In this example, ``` $ make universe TARGETS='arm64 riscv' KERNCONFS='QEMU VIRT' ``` Currently, arm64 does not have a QEMU conf, and riscv does not have a VIRT conf. However, this command should still succeed instead of failing with the following message: ``` make[2]: /usr/src/Makefile:767: Target architecture for riscv/conf/VIRT unknown. config(8) likely too old. in .for loop from /usr/src/Makefile:761 with kernel = VIRT in make[2] in directory "/usr/src" make[2]: stopped making "universe_kernels" in /usr/src ``` Since the opposite is true, we should build whatever confs are available from the requested list of KERNCONFS, while making sure to still emit warnings along the way. Reviewed by: imp Approved by: lwhsu (mentor), emaste (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D55571
This commit is contained in:
@@ -758,12 +758,16 @@ KERNCONFS!= cd ${KERNSRCDIR}/${TARGET}/conf && \
|
||||
${_THINNER}
|
||||
universe_kernconfs: universe_kernels_prologue .PHONY
|
||||
.for kernel in ${KERNCONFS}
|
||||
.if !exists(${KERNSRCDIR}/${TARGET}/conf/${kernel})
|
||||
.warning ${TARGET}/conf/${kernel} missing; skipping.
|
||||
.else
|
||||
TARGET_ARCH_${kernel}!= cd ${KERNSRCDIR}/${TARGET}/conf && \
|
||||
env PATH=${HOST_OBJTOP}/tmp/legacy/bin:${PATH:Q} \
|
||||
config -m ${KERNSRCDIR}/${TARGET}/conf/${kernel} 2> /dev/null | \
|
||||
grep -v WARNING: | cut -f 2
|
||||
.if empty(TARGET_ARCH_${kernel})
|
||||
.error Target architecture for ${TARGET}/conf/${kernel} unknown. config(8) likely too old.
|
||||
.error Target architecture for ${TARGET}/conf/${kernel} cannot be determined, kernconf file may be invalid!
|
||||
.endif
|
||||
.endif
|
||||
universe_kernconfs_${TARGET_ARCH_${kernel}}: universe_kernconf_${TARGET}_${kernel}
|
||||
universe_kernconf_${TARGET}_${kernel}: .MAKE
|
||||
|
||||
Reference in New Issue
Block a user