diff options
author | rene <rene@FreeBSD.org> | 2013-10-31 19:34:46 +0800 |
---|---|---|
committer | rene <rene@FreeBSD.org> | 2013-10-31 19:34:46 +0800 |
commit | 70f0652ff148b4d3c7349945dca6724487b8b796 (patch) | |
tree | 0c8b91d026b7e7bf38868d6b7ff02544242b6a8f /Mk | |
parent | 537203c90564c78825aef654d676e4c79bb1e4c0 (diff) | |
download | freebsd-ports-graphics-70f0652ff148b4d3c7349945dca6724487b8b796.tar.gz freebsd-ports-graphics-70f0652ff148b4d3c7349945dca6724487b8b796.tar.zst freebsd-ports-graphics-70f0652ff148b4d3c7349945dca6724487b8b796.zip |
Add a new USES for kernel module ports.
USES=kmod takes no arguments and:
- adds kld to CATEGORIES
- sets SSP_UNSAFE
- sets IGNORE if the kernel sources are not found
- defines KMODDIR to /boot/modules by default, add it to
PLIST_SUB and MAKE_ENV, and create it upon installation
- handles cross-referencing kernel modules upon installation and
deinstallation
Approved by: bapt
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/Uses/kmod.mk | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Mk/Uses/kmod.mk b/Mk/Uses/kmod.mk new file mode 100644 index 00000000000..b85513e921f --- /dev/null +++ b/Mk/Uses/kmod.mk @@ -0,0 +1,47 @@ +# $FreeBSD$ +# +# Handles dependency on kernel sources +# +# MAINTAINER: rene@FreeBSD.org +# +# Feature: kmod +# Usage: USES=kmod +# Valid ARGS: none +# +.if !defined(_INCLUDE_USES_KMOD_MK) +_INCLUDE_USES_KMOD_MK= yes + +.if defined(kmod_ARGS) +IGNORE= USES=kmod takes no arguments +.endif + +.if !exists(${SRC_BASE}/sys/Makefile) +IGNORE= requires kernel source files in ${SRC_BASE} +.endif + +CATEGORIES+= kld + +SSP_UNSAFE= kernel module does not support SSP + +KMODDIR?= /boot/modules +PLIST_SUB+= KMODDIR="${KMODDIR:C,^/,,}" +MAKE_ENV+= KMODDIR="${KMODDIR}" SYSDIR="${SRC_BASE}/sys" + +pre-install: kmod-pre-install +kmod-pre-install: +.if defined(NO_STAGE) + ${MKDIR} ${KMODDIR} +.else + ${MKDIR} ${STAGEDIR}${KMODDIR} +.endif + +post-install: kmod-post-install +kmod-post-install: + ${ECHO_CMD} "@exec /usr/sbin/kldxref ${KMODDIR}" >> ${TMPPLIST} + ${ECHO_CMD} "@unexec /usr/sbin/kldxref ${KMODDIR}" >> ${TMPPLIST} + ${ECHO_CMD} "@dirrmtry ${KMODDIR}" >> ${TMPPLIST} +.if defined(NO_STAGE) + /usr/sbin/kldxref ${KMODDIR} +.endif + +.endif |