Stefan Johannesdal wrote:
New try. How about DESTKERNDIR (to go with DESTKERNNAME) and KERNPOSTFIX?

DESTKERNNAME only affects the name of the kernel and if you have different module options between different kernel configs you want to have something in common between the kernel name and the modules directory name -> KERNPOSTFIX.

DESTKERNDIR is a added directive and does not interfer with DESTDIR.

Small change regarding how the kernel directory is passed to the modules make environment. DESTDIR is completely untouched now.

--

Mvh  - Stefan -

--- kern.pre.mk.org     2008-09-15 22:09:03 +0200
+++ kern.pre.mk         2008-09-15 23:25:54 +0200
@@ -104,9 +104,12 @@
 SELECTEDKERNEL= ${KERNEL}.stripped
 .endif
 DESTKERNNAME?= ${KERNEL}
+.if !defined(DESTKERNDIR)
+  DESTKERNDIR=/boot
+.endif
 
 
-MKMODULESENV=  MAKEOBJDIRPREFIX=${.OBJDIR} BUILDING_WITH_KERNEL=${.OBJDIR}
+MKMODULESENV=  DESTKERNDIR=${DESTKERNDIR} KERNPOSTFIX=${KERNPOSTFIX} 
MAKEOBJDIRPREFIX=${.OBJDIR} BUILDING_WITH_KERNEL=${.OBJDIR}
 .if defined(MODULES_OVERRIDE)
 MKMODULESENV+= MODULES_OVERRIDE="${MODULES_OVERRIDE}"
 .endif
--- bsd.own.mk.org      2008-09-02 13:50:45 +0200
+++ bsd.own.mk          2008-09-15 22:21:42 +0200
@@ -151,7 +151,7 @@
 BINMODE?=      555
 NOBINMODE?=    444
 
-KMODDIR?=      /boot/modules
+KMODDIR?=      ${DESTKERNDIR}/modules${KERNPOSTFIX}
 KMODOWN?=      ${BINOWN}
 KMODGRP?=      ${BINGRP}
 KMODMODE?=     ${BINMODE}
--- kern.post.mk.org    2008-09-15 23:13:07 +0200
+++ kern.post.mk        2008-09-20 13:35:38 +0200
@@ -111,31 +111,31 @@
                echo "You must build a kernel first." ; \
                exit 1 ; \
        fi
-.  if exists(${DESTDIR}/boot/${DESTKERNNAME})
+.  if exists(${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX})
 .ifndef NOFSCHG
-       -chflags noschg ${DESTDIR}/boot/${DESTKERNNAME}
+       -chflags noschg ${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX}
 .endif
 .    ifdef NO_KERNEL_OLD_STRIP
-       cp -p ${DESTDIR}/boot/${DESTKERNNAME} 
${DESTDIR}/boot/${DESTKERNNAME}.old
+       cp -p ${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX} 
${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX}.old
 .    else
-       ${OBJCOPY} --strip-debug ${DESTDIR}/boot/${DESTKERNNAME} 
${DESTDIR}/boot/${DESTKERNNAME}.old
+       ${OBJCOPY} --strip-debug 
${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX} 
${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX}.old
 .    endif
 .  endif
 .ifdef NOFSCHG
        ${INSTALL} -m 555 -o root -g wheel \
-               ${SELECTEDKERNEL} ${DESTDIR}/boot/${DESTKERNNAME}
+               ${SELECTEDKERNEL} 
${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX}
 .else
        ${INSTALL} -m 555 -o root -g wheel -fschg \
-               ${SELECTEDKERNEL} ${DESTDIR}/boot/${DESTKERNNAME}
+               ${SELECTEDKERNEL} 
${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX}
 .endif
 
 kernel-reinstall: kernel-installable
 .ifdef NOFSCHG
        ${INSTALL} -m 555 -o root -g wheel \
-               ${SELECTEDKERNEL} ${DESTDIR}/boot/${DESTKERNNAME}
+               ${SELECTEDKERNEL} 
${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX}
 .else
        ${INSTALL} -m 555 -o root -g wheel -fschg \
-               ${SELECTEDKERNEL} ${DESTDIR}/boot/${DESTKERNNAME}
+               ${SELECTEDKERNEL} 
${DESTDIR}${DESTKERNDIR}/${DESTKERNNAME}${KERNPOSTFIX}
 .endif
 
 # Require DESTDIR to be manually specified when installing a
@@ -143,7 +143,7 @@
 #
 kernel-installable:
 .if ${P} == vkernel
-.if !defined(DESTDIR)
+.if ( !defined(DESTDIR) && ( !defined(DESTKERNDIR) || ${DESTKERNDIR} == /boot 
) )
        @echo "When installing a virtual kernel, DESTDIR must be manually 
specified"
        @exit 1
 .endif
@@ -199,24 +199,24 @@
 modules-install:
 .if !defined(NO_MODULES_OLD)
 .  ifdef NO_KERNEL_OLD_STRIP
-       set -- ${DESTDIR}/boot/modules/*; \
+       set -- ${DESTDIR}${DESTKERNDIR}/modules${KERNPOSTFIX}/*; \
        if [ -f "$$1" ]; then \
-               mkdir -p ${DESTDIR}/boot/modules.old; \
+               mkdir -p ${DESTDIR}${DESTKERNDIR}/modules${KERNPOSTFIX}.old; \
                for file; do \
-               cp -p $$file ${DESTDIR}/boot/modules.old; \
+               cp -p $$file 
${DESTDIR}${DESTKERNDIR}/modules${KERNPOSTFIX}.old; \
                done; \
        fi
 .  else
-       set -- ${DESTDIR}/boot/modules/*; \
+       set -- ${DESTDIR}${DESTKERNDIR}/modules${KERNPOSTFIX}/*; \
        if [ -f "$$1" ]; then \
-               mkdir -p ${DESTDIR}/boot/modules.old; \
+               mkdir -p ${DESTDIR}${DESTKERNDIR}/modules${KERNPOSTFIX}.old; \
                for file; do \
-               ${OBJCOPY} --strip-debug $$file 
${DESTDIR}/boot/modules.old/$${file##*/}; \
+               ${OBJCOPY} --strip-debug $$file 
${DESTDIR}${DESTKERNDIR}/modules${KERNPOSTFIX}.old/$${file##*/}; \
                done; \
        fi
 .  endif
 .endif
-       mkdir -p ${DESTDIR}/boot/modules # Ensure that the modules directory 
exists!
+       mkdir -p ${DESTDIR}${DESTKERNDIR}/modules${KERNPOSTFIX} # Ensure that 
the modules directory exists!
        cd $S ; env ${MKMODULESENV} ${MAKE} -f Makefile.modules install
 
 modules-reinstall:

Reply via email to