Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 May 2022 07:06:29 +0300
From:      Rozhuk Ivan <rozhuk.im@gmail.com>
To:        Tatsuki Makino <tatsuki_makino@hotmail.com>
Cc:        freebsd-ports@freebsd.org, manu@FreeBSD.org, pkubaj@FreeBSD.org
Subject:   Re: graphics/gpu-firmware-kmod and PORTS_MODULES - how to!?
Message-ID:  <20220528070629.38697ff3@rimwks.local>
In-Reply-To: <PSAPR03MB563989DDA599C4385983791AFADB9@PSAPR03MB5639.apcprd03.prod.outlook.com>
References:  <20220528032824.11638f38@rimwks.local> <PSAPR03MB563989DDA599C4385983791AFADB9@PSAPR03MB5639.apcprd03.prod.outlook.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 28 May 2022 09:59:23 +0900
Tatsuki Makino <tatsuki_makino@hotmail.com> wrote:

> diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
> index cce9fcfd1c6..f6217d38bb8 100644
> --- a/sys/conf/kern.post.mk
> +++ b/sys/conf/kern.post.mk
> @@ -95,7 +95,12 @@ PORTSMODULESENV=\
>  all:
>  .for __i in ${PORTS_MODULES}
>  	@${ECHO} "===> Ports module ${__i} (all)"
> -	cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV}
> ${MAKE} -B clean build
> +	__i="${__i}" ;\
> +	if [ "$${__i%@*}" = "$${__i}" ] ; then\
> +	cd $${PORTSDIR:-/usr/ports}/$${__i}; ${PORTSMODULESENV}
> ${MAKE} -B clean build ;\
> +	else\
> +	cd $${PORTSDIR:-/usr/ports}/$${__i%@*}; ${PORTSMODULESENV}
> ${MAKE} -B "FLAVOR=$${__i##*@}" clean build ;\
> +	fi
>  .endfor
> 
>  .for __target in install reinstall clean


Short form using bmake features is:

@@ -133,7 +157,8 @@ PORTSMODULESENV=\
 all:
 .for __i in ${PORTS_MODULES}
 	@${ECHO} "===> Ports module ${__i} (all)"
-	cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B clean build
+	${PORTSMODULESENV} ${MAKE} -C "${PORTSDIR}/${__i:C/@.*//g}" \
+	    ${__i:M*@*:C/.*@/FLAVOR=/g} clean build
 .endfor
 
 .for __target in install reinstall clean
@@ -141,7 +166,9 @@ ${__target}: ports-${__target}
 ports-${__target}:
 .for __i in ${PORTS_MODULES}
 	@${ECHO} "===> Ports module ${__i} (${__target})"
-	cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B ${__target:C/(re)?install/deinstall reinstall/}
+	${PORTSMODULESENV} ${MAKE} -C "${PORTSDIR}/${__i:C/@.*//g}" \
+	    ${__i:M*@*:C/.*@/FLAVOR=/g} \
+	    ${__target:C/(re)?install/deinstall reinstall/}
 .endfor
 .endfor
 .endif




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20220528070629.38697ff3>