-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
47 lines (37 loc) · 1.2 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
## Makefile for ISC lab VMs
##
FRAMEWORK_DIR ?= ./framework
include $(FRAMEWORK_DIR)/framework.mk
include $(FRAMEWORK_DIR)/lib/inc_all.mk
# set default goals
DEFAULT_GOAL = labvm
INIT_GOAL = labvm
SUDO ?= sudo
# Fresh Ubuntu Server base VM
$(call vm_new_base_ubuntu,base)
base-ver = 22
labvm-ver = $(ISC_LABVM_VERSION)
labvm-prefix = ISC_$(labvm-ver)
# VM with ISC lab customizations
$(call vm_new_layer_full_featured,labvm)
labvm-name = $(labvm-prefix)
labvm-src-from = base
labvm-script-prepare = isc-prepare.sh
labvm-copy-scripts += $(abspath ./labvm/scripts)/
labvm-extra-rules += $(vm_zerofree_rule)
# Export to VirtualBox & VMware
localvm-name = $(labvm-prefix)_Local
localvm-type = vm-combo
localvm-vmname = ISC $(labvm-ver) VM
localvm-src-from = labvm
localvm-extra-rules += $(vm_zerofree_rule)
# Cloud-init image
$(call vm_new_layer_cloud,cloud)
cloud-name = $(labvm-prefix)_cloud
cloud-src-from = labvm
cloud-copy-scripts += $(abspath ./cloud/scripts)/
cloud-extra-envs = "ISC_CLOUD_ADMIN_PASSWORD=$(ISC_CLOUD_ADMIN_PASSWORD)",
cloud-extra-rules += $(vm_zerofree_rule)
# list with all VMs to generate rules for (note: use dependency ordering!)
build-vms = base labvm localvm cloud
$(call vm_eval_all_rules)