xref: /freebsd/release/Makefile.vm (revision 6513e474ac5b1450691119b31343805f1d1266fc)
1*6513e474SGlen Barber#
2*6513e474SGlen Barber# $FreeBSD$
3*6513e474SGlen Barber#
4*6513e474SGlen Barber#
5*6513e474SGlen Barber# Makefile for building virtual machine and cloud provider disk images.
6*6513e474SGlen Barber#
7*6513e474SGlen Barber
8*6513e474SGlen BarberVMTARGETS=	vm-base vm-image
9*6513e474SGlen BarberVMFORMATS?=	vhd vmdk qcow2 raw
10*6513e474SGlen BarberVMSIZE?=	20G
11*6513e474SGlen BarberVMBASE?=	vm
12*6513e474SGlen BarberAZURECONF?=	${.CURDIR}/tools/azure.conf
13*6513e474SGlen Barber
14*6513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
15*6513e474SGlen BarberCLEANDIRS+=	${VMTARGETS}
16*6513e474SGlen BarberCLEANFILES+=	${VMBASE}.img
17*6513e474SGlen Barber. for FORMAT in ${VMFORMATS}
18*6513e474SGlen BarberCLEANFILES+=	${VMBASE}.${FORMAT}
19*6513e474SGlen Barber. endfor
20*6513e474SGlen Barber.endif
21*6513e474SGlen Barber
22*6513e474SGlen Barber.if exists(${.CURDIR}/${TARGET}/mk-azure.sh)
23*6513e474SGlen BarberCLEANFILES+=	${OSRELEASE}.vhd \
24*6513e474SGlen Barber		${OSRELEASE}.vhd.raw \
25*6513e474SGlen Barber		azure.img
26*6513e474SGlen BarberCLEANDIRS+=	vm-azure
27*6513e474SGlen Barber.endif
28*6513e474SGlen Barber
29*6513e474SGlen Barbervm-base:
30*6513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
31*6513e474SGlen Barber. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh)
32*6513e474SGlen Barber	env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
33*6513e474SGlen Barber		${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \
34*6513e474SGlen Barber		${VMBASE}.img ${WORLDDIR} ${.OBJDIR}/${.TARGET} ${VMSIZE}
35*6513e474SGlen Barber. endif
36*6513e474SGlen Barber.endif
37*6513e474SGlen Barber	touch ${.TARGET}
38*6513e474SGlen Barber
39*6513e474SGlen Barbervm-image: vm-base
40*6513e474SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
41*6513e474SGlen Barber. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh)
42*6513e474SGlen Barber.  for FORMAT in ${VMFORMATS}
43*6513e474SGlen Barber	env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
44*6513e474SGlen Barber		${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \
45*6513e474SGlen Barber		${VMBASE}.img ${FORMAT} ${VMBASE}.${FORMAT}
46*6513e474SGlen Barber.  endfor
47*6513e474SGlen Barber. endif
48*6513e474SGlen Barber.endif
49*6513e474SGlen Barber	touch ${.TARGET}
50*6513e474SGlen Barber
51*6513e474SGlen Barbervm-azure:
52*6513e474SGlen Barber.if exists(${.CURDIR}/${TARGET}/mk-azure.sh)
53*6513e474SGlen Barber	env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} AZURECONF=${AZURECONF} \
54*6513e474SGlen Barber		${.CURDIR}/${TARGET}/mk-azure.sh ${.TARGET} azure.img \
55*6513e474SGlen Barber		${WORLDDIR} ${.TARGET} ${VMSIZE} ${OSRELEASE}.vhd
56*6513e474SGlen Barber.endif
57*6513e474SGlen Barber	touch ${.TARGET}
58