summaryrefslogtreecommitdiffstats
path: root/release/Makefile.vm
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2014-10-29 14:57:30 +0000
committergjb <gjb@FreeBSD.org>2014-10-29 14:57:30 +0000
commita44964f2220df0202e792c5f037dc4843dd1ce20 (patch)
tree2119f0e84ed1a204bb7f7b6c967ffcdf8453f18a /release/Makefile.vm
parent49bc9d1f7ffccd05cb04d7cb7b41a1ee2f39b46d (diff)
downloadFreeBSD-src-a44964f2220df0202e792c5f037dc4843dd1ce20.zip
FreeBSD-src-a44964f2220df0202e792c5f037dc4843dd1ce20.tar.gz
Move virtual machine / cloud provider targets and
options from release/Makefile to their own Makefile. Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'release/Makefile.vm')
-rw-r--r--release/Makefile.vm57
1 files changed, 57 insertions, 0 deletions
diff --git a/release/Makefile.vm b/release/Makefile.vm
new file mode 100644
index 0000000..1d1f642
--- /dev/null
+++ b/release/Makefile.vm
@@ -0,0 +1,57 @@
+#
+# $FreeBSD$
+#
+#
+# Makefile for building virtual machine and cloud provider disk images.
+#
+
+VMTARGETS= vm-base vm-image
+VMFORMATS?= vhd vmdk qcow2 raw
+VMSIZE?= 20G
+VMBASE?= vm
+AZURECONF?= ${.CURDIR}/tools/azure.conf
+
+.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
+CLEANDIRS+= ${VMTARGETS}
+CLEANFILES+= ${VMBASE}.img
+. for FORMAT in ${VMFORMATS}
+CLEANFILES+= ${VMBASE}.${FORMAT}
+. endfor
+.endif
+
+.if exists(${.CURDIR}/${TARGET}/mk-azure.sh)
+CLEANFILES+= ${OSRELEASE}.vhd \
+ ${OSRELEASE}.vhd.raw \
+ azure.img
+CLEANDIRS+= vm-azure
+.endif
+
+vm-base:
+.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
+. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh)
+ env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
+ ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \
+ ${VMBASE}.img ${WORLDDIR} ${.OBJDIR}/${.TARGET} ${VMSIZE}
+. endif
+.endif
+ touch ${.TARGET}
+
+vm-image: vm-base
+.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
+. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh)
+. for FORMAT in ${VMFORMATS}
+ env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
+ ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \
+ ${VMBASE}.img ${FORMAT} ${VMBASE}.${FORMAT}
+. endfor
+. endif
+.endif
+ touch ${.TARGET}
+
+vm-azure:
+.if exists(${.CURDIR}/${TARGET}/mk-azure.sh)
+ env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} AZURECONF=${AZURECONF} \
+ ${.CURDIR}/${TARGET}/mk-azure.sh ${.TARGET} azure.img \
+ ${WORLDDIR} ${.TARGET} ${VMSIZE} ${OSRELEASE}.vhd
+.endif
+ touch ${.TARGET}
OpenPOWER on IntegriCloud