summaryrefslogtreecommitdiff
path: root/Makefile
blob: f40121df204823f0dca192b5fc6fec3342dc7ea1 (plain)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!make

# if not set, set defaults 
PARALLEL_BUILDS ?= 0
PACKER_LOG ?= 0
# always use DISPLAY :99
DISPLAY=:99
#export DISPLAY
# include .env vars
-include .env
# export all
export

.PHONY: help build init upgrade clean x11

help:
	@echo "make working:"
	@echo "- will use local.pkrvars.hcl if exists or vyos.pkrvars.hcl"
	@echo "- will load .env if file exists"

	@echo "make usage:"
	@echo "  make build - build image with 'packer build'"
	@echo "  make init  - init 'packer init'"
	@echo "  make upgrade  - init 'packer init -upgrade'"
	@echo "  make clean - remove output files"
	@echo "  make x11server - start Xvfb X11 server on DISPLAY=:99. Require apt install xvfb"


# ifneq ("$(wildcard .env)","") 
# include .env
# export
# endif



build:
# if exist local.pkrvars.hcl load it
ifneq ($(wildcard local.pkrvars.hcl),) 
	packer build \
	-var-file=local.pkrvars.hcl \
	-parallel-builds=$(PARALLEL_BUILDS) \
	 vyos.pkr.hcl 
else
	packer build \
	-var-file=vyos.pkrvars.hcl \
	 -parallel-builds=$(PARALLEL_BUILDS) \
	vyos.pkr.hcl
endif

init:
	packer init vyos.pkr.hcl 

upgrade:
	packer init -upgrade vyos.pkr.hcl

clean:
	rm -rf output-*

# you need to run this first to use headless=false
x11server:
	Xvfb :99 -screen 0 1024x768x16 &
	export DISPLAY=:99