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"