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
Approved by:	re (delphij)

(cherry picked from commit ce7756fdca1f0a89a74bc406cd3d3ac1d1be1ffb)
(cherry picked from commit e306ad1c19)
This commit is contained in:
Colin Percival 2024-05-09 00:52:25 -07:00
parent 0db0821fb8
commit 67f4116a10

View file

@ -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"