From 146a4ea6fecd2d5be2e566ef537fe4b324bd1264 Mon Sep 17 00:00:00 2001 From: Manuel Messner Date: Fri, 16 Feb 2018 15:25:58 +0100 Subject: Makefile: refactor search for available builders --- Makefile | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index f94635c..b6d4cb8 100644 --- a/Makefile +++ b/Makefile @@ -7,20 +7,24 @@ ANSIBLE_DIR ?= ansible-roles HASHER ?= sha256sum +SHELL := /usr/bin/env bash +ARCH := $(shell uname -m | sed 's/i686/i386/') -# check which hypervisors are available -ifndef BUILDER - ifeq ($(shell which qemu-system-$(shell uname -m | sed 's/i686/i386/') 2>&1 > /dev/null && echo $$?), 0) - AVAILABLE_BUILDERS += qemu - endif +BUILDER_QEMU_EXE := qemu-system-$(ARCH) +BUILDER_QEMU_NAME := qemu - ifeq ($(shell which virtualbox 2>&1 > /dev/null && echo $$?), 0) - AVAILABLE_BUILDERS += virtualbox-iso - endif +BUILDER_VMWARE_EXE := vmware +BUILDER_VMWARE_NAME := vmware-iso - ifeq ($(shell which vmplayer 2>&1 > /dev/null && echo $$?), 0) - AVAILABLE_BUILDERS += vmware-iso - endif +BUILDER_VIRTUALBOX_EXE := virtualbox +BUILDER_VIRTUALBOX_NAME := virtualbox-iso + +BUILDERS := QEMU VMWARE VIRTUALBOX + +ifndef BUILDER + $(foreach cur, $(BUILDERS),\ + $(if $(shell command -v $(BUILDER_$(cur)_EXE)),\ + $(eval AVAILABLE_BUILDERS += $(BUILDER_$(cur)_NAME)))) BUILDER := $(firstword $(AVAILABLE_BUILDERS)) endif -- cgit v1.2.3-55-g7522