summaryrefslogtreecommitdiffstats
path: root/sys/modules/nfsclient
diff options
context:
space:
mode:
authoryar <yar@FreeBSD.org>2006-02-18 23:31:49 +0000
committeryar <yar@FreeBSD.org>2006-02-18 23:31:49 +0000
commit10a796424b67074921a3d61662956919dc50084e (patch)
tree94cc65324826b4baba849bfaa1b4cdce29aa262b /sys/modules/nfsclient
parent7fd563086056ce19f0a907ffd7b6cee5dd70e0d2 (diff)
downloadFreeBSD-src-10a796424b67074921a3d61662956919dc50084e.zip
FreeBSD-src-10a796424b67074921a3d61662956919dc50084e.tar.gz
Work around the fact that nfsclient SRCS must include
nfs_diskless.c if NFS_ROOT is in effect, e.g., present in the kernel config file. Otherwise the built module won't load due to an undefined reference to nfs_setup_diskless. MFC after: 3 days
Diffstat (limited to 'sys/modules/nfsclient')
-rw-r--r--sys/modules/nfsclient/Makefile17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/modules/nfsclient/Makefile b/sys/modules/nfsclient/Makefile
index 7b4a29d..4d1cddd 100644
--- a/sys/modules/nfsclient/Makefile
+++ b/sys/modules/nfsclient/Makefile
@@ -22,6 +22,7 @@ CFLAGS+= -DUSE_NEW_IDMAPPER
.if !defined(KERNBUILDDIR)
NFS_INET?= 1 # 0/1 - requires INET to be configured in kernel
NFS_INET6?= 1 # 0/1 - requires INET6 to be configured in kernel
+NFS_ROOT?= 1 # 0/1 - requires NFS_ROOT to be configured in kernel
.if ${NFS_INET} > 0
opt_inet.h:
@@ -32,6 +33,22 @@ opt_inet.h:
opt_inet6.h:
echo "#define INET6 1" > ${.TARGET}
.endif
+
+.if ${NFS_ROOT} > 0
+opt_nfsroot.h:
+ echo "#define NFS_ROOT 1" > ${.TARGET}
+.endif
+.else
+OPT_NFS_ROOT!= cat ${KERNBUILDDIR}/opt_nfsroot.h
+.if empty(OPT_NFS_ROOT)
+NFS_ROOT= 0
+.else
+NFS_ROOT= 1
+.endif
+.endif
+
+.if ${NFS_ROOT} > 0
+SRCS+= nfs_diskless.c
.endif
.include <bsd.kmod.mk>
OpenPOWER on IntegriCloud