diff options
author | Jonathan Bauer | 2017-04-11 18:46:54 +0200 |
---|---|---|
committer | Jonathan Bauer | 2017-04-11 18:46:54 +0200 |
commit | dc2de921c387edf0c215b33109f0b6a255f753fd (patch) | |
tree | bb20b7e5ad8cba3aad721e304a0b562c9b8bfc17 /Makefile | |
parent | [ubuntu] support root password via ROOTPW env (diff) | |
download | packer-templates-dc2de921c387edf0c215b33109f0b6a255f753fd.tar.gz packer-templates-dc2de921c387edf0c215b33109f0b6a255f753fd.tar.xz packer-templates-dc2de921c387edf0c215b33109f0b6a255f753fd.zip |
introduce Makefile to simplify building templates
updated ubuntu/centos templates to fixed output names,
moved manifest.json to builder's subfolder,
updated README.md to reflect the changes
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..012ccbb --- /dev/null +++ b/Makefile @@ -0,0 +1,38 @@ +# Simple Makefile to build packer templates +# TODO: +# - allow overriding packer variables +# - check for hypervisors (and invalidate targets) +# - provisioning logic +BUILDERS = qemu vmware-iso virtualbox-iso +TEMPLATES := $(basename $(filter-out base.json,$(wildcard *.json))) +TARGETS := $(foreach builder, $(BUILDERS), $(foreach template, $(TEMPLATES), $(builder)/$(template))) +PACKER_OPTS := -var-file=base.json + +.PHONY: all list clean +all: list + +$(TARGETS): +ifndef ROOTPW + $(error ROOTPW is not set) +endif + + $(info Building '$(@F)' with '$(@D)') + packer build -only=$(@D) \ + $(PACKER_OPTS) \ + -var='vm_name=$(@F)' \ + $(@F).json + +list: + $(info Possible targets:) + @(for F in $(TARGETS); do echo -e "\t$$F" ; done) + +clean: + $(foreach builder,$(BUILDERS),rm -rf $(builder)/;) + +# convenience do-nothing targets for auto-complete +qemu/ubuntu-16.04-amd64: +qemu/centos-7.3-x86_64: +virtualbox-iso/ubuntu-16.04-amd64: +virtualbox-iso/centos-7.3-x86_64: +vmware-iso/ubuntu-16.04-amd64: +vmware-iso/centos-7.3-x86_64: |