git: ce7756fdca1f - main - release: make dependencies, not recursive make
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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"