16513e474SGlen Barber# 26513e474SGlen Barber# $FreeBSD$ 36513e474SGlen Barber# 46513e474SGlen Barber# 56513e474SGlen Barber# Makefile for building virtual machine and cloud provider disk images. 66513e474SGlen Barber# 76513e474SGlen Barber 86513e474SGlen BarberVMTARGETS= vm-base vm-image 96513e474SGlen BarberVMFORMATS?= vhd vmdk qcow2 raw 106513e474SGlen BarberVMSIZE?= 20G 116513e474SGlen BarberVMBASE?= vm 12d08ce983SGlen Barber 13d08ce983SGlen BarberCLOUDWARE?= AZURE 14*f27438c7SGlen BarberAZURE_FORMAT= vhdf 15d08ce983SGlen Barber 16d08ce983SGlen Barber.if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) 17d08ce983SGlen Barber. for _CW in ${CLOUDWARE} 18d08ce983SGlen BarberCLOUDTARGETS+= vm-${_CW:tl} 19d08ce983SGlen BarberCLEANDIRS+= vm-${_CW:tl} 20d08ce983SGlen BarberCLEANFILES+= ${_CW:tl}.img \ 21d08ce983SGlen Barber ${_CW:tl}.${${_CW:tu}_FORMAT} \ 22d08ce983SGlen Barber ${_CW:tl}.${${_CW:tu}_FORMAT}.raw 23*f27438c7SGlen Barber${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT} 24d08ce983SGlen Barber. if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF) 25d08ce983SGlen Barber${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf 26d08ce983SGlen Barber. endif 27d08ce983SGlen Barber. endfor 28d08ce983SGlen Barber.endif 296513e474SGlen Barber 306513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 316513e474SGlen BarberCLEANDIRS+= ${VMTARGETS} 326513e474SGlen BarberCLEANFILES+= ${VMBASE}.img 336513e474SGlen Barber. for FORMAT in ${VMFORMATS} 346513e474SGlen BarberCLEANFILES+= ${VMBASE}.${FORMAT} 356513e474SGlen Barber. endfor 366513e474SGlen Barber.endif 376513e474SGlen Barber 386513e474SGlen Barbervm-base: 396513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 406513e474SGlen Barber. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh) 416513e474SGlen Barber env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ 426513e474SGlen Barber ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \ 436513e474SGlen Barber ${VMBASE}.img ${WORLDDIR} ${.OBJDIR}/${.TARGET} ${VMSIZE} 446513e474SGlen Barber. endif 456513e474SGlen Barber.endif 466513e474SGlen Barber touch ${.TARGET} 476513e474SGlen Barber 486513e474SGlen Barbervm-image: vm-base 496513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 506513e474SGlen Barber. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh) 516513e474SGlen Barber. for FORMAT in ${VMFORMATS} 526513e474SGlen Barber env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ 536513e474SGlen Barber ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \ 546513e474SGlen Barber ${VMBASE}.img ${FORMAT} ${VMBASE}.${FORMAT} 556513e474SGlen Barber. endfor 566513e474SGlen Barber. endif 576513e474SGlen Barber.endif 586513e474SGlen Barber touch ${.TARGET} 596513e474SGlen Barber 606513e474SGlen Barbervm-azure: 616513e474SGlen Barber.if exists(${.CURDIR}/${TARGET}/mk-azure.sh) 626513e474SGlen Barber env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} AZURECONF=${AZURECONF} \ 63*f27438c7SGlen Barber AZURE_FORMAT=${AZURE_FORMAT} \ 646513e474SGlen Barber ${.CURDIR}/${TARGET}/mk-azure.sh ${.TARGET} azure.img \ 65*f27438c7SGlen Barber ${WORLDDIR} ${.TARGET} ${VMSIZE} ${AZUREIMAGE} 666513e474SGlen Barber.endif 676513e474SGlen Barber touch ${.TARGET} 68