-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
67 lines (48 loc) · 1.25 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
SHELL=/bin/sh
TEXLIVE_YEAR ?= latest
TEXLIVE_REPO ?= http://mirrors.ctan.org/systems/texlive/tlnet/
UBUNTU_FLAVOR ?= focal
SCHEMES = ubuntu infraonly minimal basic small medium full
BUILDS_ALL = $(patsubst %,build-%,$(SCHEMES))
PUSHES_ALL = $(patsubst %,push-%,$(SCHEMES))
CLEANS_ALL = $(patsubst %,clean-%,$(SCHEMES))
TEST_ALL = $(patsubst %,test-%,$(SCHEMES))
# order of creation
# 0) ubuntu
# 1) infraonly
# 2) minimal
# 3) basic
# 4) small
# 5) medium
# 6) full
# ALL target
.PHONY: all
all: build push
# Build everything
.PHONY: build
build: $(BUILDS_ALL)
# Push everything
.PHONY: push
push: $(PUSHES_ALL)
# Clean up everything
.PHONY: clean
clean: $(CLEANS_ALL)
# Test everything
.PHONY: test
test: $(TEST_ALL)
# Generic targets
build-%:
TEXLIVE_YEAR="$(TEXLIVE_YEAR)" ./src/maker.sh build $*
push-%:
TEXLIVE_YEAR="$(TEXLIVE_YEAR)" ./src/maker.sh push $*
clean-%:
TEXLIVE_YEAR="$(TEXLIVE_YEAR)" ./src/maker.sh clean $*
test-%:
TEXLIVE_YEAR="$(TEXLIVE_YEAR)" ./src/test.sh $*
ubuntu: build-ubuntu push-ubuntu
infraonly: ubuntu build-infraonly push-infraonly
minimal: infraonly build-minimal push-minimal
basic: minimal build-basic push-basic
small: basic build-small push-small
medium: small build-medium push-medium
full: medium build-full push-full