git: ce7756fdca1f - main - release: make dependencies, not recursive make

From: Colin Percival <cperciva_at_FreeBSD.org>
Date: Thu, 09 May 2024 07:56:00 UTC
The branch main has been updated by cperciva:

URL: https://cgit.FreeBSD.org/src/commit/?id=ce7756fdca1f0a89a74bc406cd3d3ac1d1be1ffb

commit ce7756fdca1f0a89a74bc406cd3d3ac1d1be1ffb
Author:     Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2024-05-09 07:52:25 +0000
Commit:     Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2024-05-09 07:52:25 +0000

    release: make dependencies, not recursive make
    
    For historical reasons, the vm-release and cloudware-release targets
    were written as recursive makes of ${VMTARGETS} and ${CLOUDTARGETS};
    this worked fine until we started running `make release -jN` and
    had both VM and cloud targets depending on ${QEMUTGT}, at which
    point things exploded when we tried to build the port twice at the
    same time.
    
    Switch vm-release and cloudware-release to have make dependencies on
    their individual components; this way a single make process runs and
    is aware of the duplicate dependency (and only runs it once).
    
    MFC after:      5 days
---
 release/Makefile.vm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/release/Makefile.vm b/release/Makefile.vm
index 1124680e3191..548b4c1cca3b 100644
--- a/release/Makefile.vm
+++ b/release/Makefile.vm
@@ -223,14 +223,16 @@ vm-install:
 		${DESTDIR}/vmimages/CHECKSUM.SHA256
 .endif
 
-vm-release:
 .if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
-	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${VMTARGETS}
+vm-release:	${VMTARGETS}
+.else
+vm-release:
 .endif
 
-cloudware-release:
 .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE)
-	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${CLOUDTARGETS}
+cloudware-release:	${CLOUDTARGETS}
+.else
+cloudware-release:
 .endif
 
 .include "${.CURDIR}/Makefile.azure"