MAKEFLAGS += --no-builtin-rules --no-builtin-variables --warn-undefined-variables .DEFAULT_GOAL := all .DELETE_ON_ERROR: .SUFFIXES: SHELL := bash .SHELLFLAGS := -e -o pipefail -c escape = $(subst ','\'',$(1)) define noexpand ifeq ($$(origin $(1)),environment) $(1) := $$(value $(1)) endif ifeq ($$(origin $(1)),environment override) $(1) := $$(value $(1)) endif ifeq ($$(origin $(1)),command line) override $(1) := $$(value $(1)) endif endef limit ?= all $(eval $(call noexpand,limit)) .PHONY: all all: run .PHONY: run run: ifdef CI ansible-playbook --inventory inventory.ini --limit '$(call escape,$(limit))' --private-key .ansible-key maintenance.yml else ansible-playbook --inventory inventory.ini --limit '$(call escape,$(limit))' maintenance.yml endif