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 12*d08ce983SGlen Barber 13*d08ce983SGlen BarberCLOUDWARE?= AZURE 14*d08ce983SGlen BarberAZURE_FORMAT= vhd 15*d08ce983SGlen Barber 16*d08ce983SGlen Barber.if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) 17*d08ce983SGlen Barber. for _CW in ${CLOUDWARE} 18*d08ce983SGlen BarberCLOUDTARGETS+= vm-${_CW:tl} 19*d08ce983SGlen BarberCLEANDIRS+= vm-${_CW:tl} 20*d08ce983SGlen BarberCLEANFILES+= ${_CW:tl}.img \ 21*d08ce983SGlen Barber ${_CW:tl}.${${_CW:tu}_FORMAT} \ 22*d08ce983SGlen Barber ${_CW:tl}.${${_CW:tu}_FORMAT}.raw 23*d08ce983SGlen Barber. if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF) 24*d08ce983SGlen Barber${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf 25*d08ce983SGlen Barber. endif 26*d08ce983SGlen Barber. endfor 27*d08ce983SGlen Barber.endif 286513e474SGlen Barber 296513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 306513e474SGlen BarberCLEANDIRS+= ${VMTARGETS} 316513e474SGlen BarberCLEANFILES+= ${VMBASE}.img 326513e474SGlen Barber. for FORMAT in ${VMFORMATS} 336513e474SGlen BarberCLEANFILES+= ${VMBASE}.${FORMAT} 346513e474SGlen Barber. endfor 356513e474SGlen Barber.endif 366513e474SGlen Barber 376513e474SGlen Barbervm-base: 386513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 396513e474SGlen Barber. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh) 406513e474SGlen Barber env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ 416513e474SGlen Barber ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \ 426513e474SGlen Barber ${VMBASE}.img ${WORLDDIR} ${.OBJDIR}/${.TARGET} ${VMSIZE} 436513e474SGlen Barber. endif 446513e474SGlen Barber.endif 456513e474SGlen Barber touch ${.TARGET} 466513e474SGlen Barber 476513e474SGlen Barbervm-image: vm-base 486513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 496513e474SGlen Barber. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh) 506513e474SGlen Barber. for FORMAT in ${VMFORMATS} 516513e474SGlen Barber env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ 526513e474SGlen Barber ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \ 536513e474SGlen Barber ${VMBASE}.img ${FORMAT} ${VMBASE}.${FORMAT} 546513e474SGlen Barber. endfor 556513e474SGlen Barber. endif 566513e474SGlen Barber.endif 576513e474SGlen Barber touch ${.TARGET} 586513e474SGlen Barber 596513e474SGlen Barbervm-azure: 606513e474SGlen Barber.if exists(${.CURDIR}/${TARGET}/mk-azure.sh) 616513e474SGlen Barber env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} AZURECONF=${AZURECONF} \ 626513e474SGlen Barber ${.CURDIR}/${TARGET}/mk-azure.sh ${.TARGET} azure.img \ 636513e474SGlen Barber ${WORLDDIR} ${.TARGET} ${VMSIZE} ${OSRELEASE}.vhd 646513e474SGlen Barber.endif 656513e474SGlen Barber touch ${.TARGET} 66