diff options
author | brooks <brooks@FreeBSD.org> | 2013-05-16 18:37:14 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2013-05-16 18:37:14 +0000 |
commit | 06619d19a735c828a610e9cdcfe2b6fdf3ac038b (patch) | |
tree | 1e88dcd258c92105caf34e1501b39f2313da5caf /Makefile.inc1 | |
parent | a3ca3565e218ee62d141cc6194cd8bfacf21aaaf (diff) | |
download | FreeBSD-src-06619d19a735c828a610e9cdcfe2b6fdf3ac038b.zip FreeBSD-src-06619d19a735c828a610e9cdcfe2b6fdf3ac038b.tar.gz |
Implement NO_ROOT support for distributekernel and packagekernel.
Diffstat (limited to 'Makefile.inc1')
-rw-r--r-- | Makefile.inc1 | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1 index cd84d1e..548d440 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1023,25 +1023,50 @@ distributekernel distributekernel.debug: @echo "ERROR: No kernel \"${KERNCONF}\" to install."; \ false .endif + mkdir -p ${DESTDIR}/${DISTDIR} +.if defined(NO_ROOT) + echo "#${MTREE_MAGIC}" > ${DESTDIR}/${DISTDIR}/kernel.premeta +.endif cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ - ${CROSSENV} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \ - DESTDIR=${DESTDIR}/${DISTDIR}/kernel \ + ${IMAKEENV} ${IMAKE_INSTALL:S/METALOG/kernel.premeta/} \ + ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \ + DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel \ ${.TARGET:S/distributekernel/install/} + sed -e 's|^./kernel|.|' ${DESTDIR}/${DISTDIR}/kernel.premeta > \ + ${DESTDIR}/${DISTDIR}/kernel.meta .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} +.if defined(NO_ROOT) + echo "#${MTREE_MAGIC}" > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta +.endif cd ${KRNLOBJDIR}/${_kernel}; \ - ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ + ${IMAKEENV} ${IMAKE_INSTALL:S/METALOG/kernel.${_kernel}.premeta/} \ + ${IMAKE_MTREE} PATH=${TMPPATH} ${MAKE} \ KERNEL=${INSTKERNNAME}.${_kernel} \ - DESTDIR=${DESTDIR}/${DISTDIR}/kernel.${_kernel} \ + DESTDIR=${INSTALL_DDIR:S://:/:g:C:/$::}/kernel.${_kernel} \ ${.TARGET:S/distributekernel/install/} + sed -e 's|^./kernel|.|' \ + ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta > \ + ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta .endfor packagekernel: +.if defined(NO_ROOT) + cd ${DESTDIR}/${DISTDIR}/kernel; \ + tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz \ + @${DESTDIR}/${DISTDIR}/kernel.meta +.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} + cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ + tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz \ + @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta +.endfor +.else cd ${DESTDIR}/${DISTDIR}/kernel; \ tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz . .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz . .endfor +.endif # # doxygen |