git: e8dca53aa06e - main - kmod.mk: Allow extra objects to be specified in modules

Warner Losh imp at FreeBSD.org
Wed Jun 2 16:40:07 UTC 2021


The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=e8dca53aa06ed7a06a83e666c4c303692f8fdbbe

commit e8dca53aa06ed7a06a83e666c4c303692f8fdbbe
Author:     Warner Losh <imp at FreeBSD.org>
AuthorDate: 2021-06-02 16:35:01 +0000
Commit:     Warner Losh <imp at FreeBSD.org>
CommitDate: 2021-06-02 16:39:58 +0000

    kmod.mk: Allow extra objects to be specified in modules
    
    OBJS are automatically added to CLEANFILES. For pre-built objects, this
    is not desirable since it will delete the object from the source
    tree. Introduce EXTRA_OBJS which list these object files, but aren't
    added to clean files.
    
    Sponsored by:           Netflix
    Reviewed by:            emaste@
    Differential Revision:  https://reviews.freebsd.org/D30615
---
 sys/conf/kmod.mk | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk
index c0d4441af029..c0ad352bf625 100644
--- a/sys/conf/kmod.mk
+++ b/sys/conf/kmod.mk
@@ -44,10 +44,12 @@
 #
 # DESTDIR	The tree where the module gets installed. [not set]
 #
-# KERNBUILDDIR
-#		Set to the location of the kernel build directory where
+# KERNBUILDDIR	Set to the location of the kernel build directory where
 #		the opt_*.h files, .o's and kernel winds up.
 #
+# BLOB_OBJS	Prebuilt binary blobs .o's from the src tree to be linked into
+#		the module. These are precious and not removed in make clean.
+#
 # +++ targets +++
 #
 # 	install:
@@ -241,14 +243,14 @@ LDSCRIPT_FLAGS?= -T ${SYSDIR}/conf/ldscript.kmod.${MACHINE_ARCH}
 .endif
 
 .if ${__KLD_SHARED} == yes
-${KMOD}.kld: ${OBJS}
+${KMOD}.kld: ${OBJS} ${BLOB_OBJS}
 .else
-${FULLPROG}: ${OBJS}
+${FULLPROG}: ${OBJS} ${BLOB_OBJS}
 .endif
 	${LD} -m ${LD_EMULATION} ${_LDFLAGS} ${LDSCRIPT_FLAGS} -r -d \
-	    -o ${.TARGET} ${OBJS}
+	    -o ${.TARGET} ${OBJS} ${BLOB_OBJS}
 .if ${MK_CTF} != "no"
-	${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS}
+	${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS} ${BLOB_OBJS}
 .endif
 .if defined(EXPORT_SYMS)
 .if ${EXPORT_SYMS} != YES


More information about the dev-commits-src-main mailing list