Page MenuHomeFreeBSD

D14143.id38708.diff
No OneTemporary

D14143.id38708.diff

Index: sys/conf/kern.post.mk
===================================================================
--- sys/conf/kern.post.mk
+++ sys/conf/kern.post.mk
@@ -63,23 +63,30 @@
${MAKEOBJDIRPREFIX}${SRC_BASE}/include/osreldate.h
.endif
# Keep the related ports builds in the obj directory so that they are only rebuilt once per kernel build
-WRKDIRPREFIX?= ${.OBJDIR}
+WRKDIRPREFIX?= ${.OBJDIR}
+STAGEDSHAREDIR?= ${.OBJDIR}/share.ports
+STAGEDSHAREMK= ${STAGEDSHAREDIR}/mk
PORTSMODULESENV=\
env \
-u CC \
-u CXX \
-u CPP \
- -u MAKESYSPATH \
- MAKEFLAGS="${MAKEFLAGS:M*:tW:S/^-m /-m_/g:S/ -m / -m_/g:tw:N-m_*}" \
- SYSDIR=${SYSDIR} \
+ -u MK_AUTO_OBJ \
+ -u MAKEOBJDIR \
+ MAKESYSPATH=${STAGEDSHAREMK} \
+ MAKEFLAGS="${MAKEFLAGS:M*:tW:S/^-m /-m_/g:S/ -m / -m_/g:tw:N-m_*:NMK_AUTO_OBJ=*}" \
PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \
SRC_BASE=${SRC_BASE} \
OSVERSION=${OSRELDATE} \
WRKDIRPREFIX=${WRKDIRPREFIX}
+${STAGEDSHAREMK}:
+ mkdir -p ${.TARGET}
+ ${MAKE} BINDIR=${STAGEDSHAREDIR} -C ${SRC_BASE}/share/mk install
+
# The WRKDIR needs to be cleaned before building, and trying to change the target
# with a :C pattern below results in install -> instclean
-all:
+all: ${STAGEDSHAREMK}
.for __i in ${PORTS_MODULES}
@${ECHO} "===> Ports module ${__i} (all)"
cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B clean build
@@ -87,7 +94,7 @@
.for __target in install reinstall clean
${__target}: ports-${__target}
-ports-${__target}:
+ports-${__target}: ${STAGEDSHAREMK}
.for __i in ${PORTS_MODULES}
@${ECHO} "===> Ports module ${__i} (${__target})"
cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B ${__target:C/(re)?install/deinstall reinstall/}

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 18, 3:17 PM (9 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27711065
Default Alt Text
D14143.id38708.diff (1 KB)

Event Timeline