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