diff options
author | des <des@FreeBSD.org> | 2016-01-26 08:49:44 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2016-01-26 08:49:44 +0000 |
commit | dd0e351e29873f5c23b6cb96d33ae891cf9a1b91 (patch) | |
tree | 3a799f0e67e11dff884a0b64f179f2e8de702a4c | |
parent | 353d701dcd841398ae1e66cb81d2d7f2ad335d6b (diff) | |
download | FreeBSD-src-dd0e351e29873f5c23b6cb96d33ae891cf9a1b91.zip FreeBSD-src-dd0e351e29873f5c23b6cb96d33ae891cf9a1b91.tar.gz |
MFH (r293033): ignore unload unless loaded + add a reload target
-rw-r--r-- | sys/conf/kmod.mk | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 58d1df9..6b81ec0 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -31,6 +31,9 @@ # MFILES Optionally a list of interfaces used by the module. # This file contains a default list of interfaces. # +# KMODISLOADED Command to check whether a kernel module is +# loaded [/sbin/kldstat -q -n] +# # PROG The name of the kernel module to build. # If not supplied, ${KMOD}.ko is used. # @@ -59,6 +62,9 @@ # unload: # Unload a module. # +# reload: +# Unload if loaded, then load. +# # backwards compat option for older systems. MACHINE_CPUARCH?=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/} @@ -66,6 +72,7 @@ MACHINE_CPUARCH?=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/: AWK?= awk KMODLOAD?= /sbin/kldload KMODUNLOAD?= /sbin/kldunload +KMODISLOADED?= /sbin/kldstat -q -n OBJCOPY?= objcopy .if defined(KMODDEPS) @@ -324,7 +331,11 @@ load: ${PROG} .if !target(unload) unload: - ${KMODUNLOAD} -v ${PROG} + if ${KMODISLOADED} ${PROG} ; then ${KMODUNLOAD} -v ${PROG} ; fi +.endif + +.if !target(reload) +reload: unload load .endif .if defined(KERNBUILDDIR) |