-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
59 lines (51 loc) · 1.57 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
TMPL = capp-installer-template
ARCHIVE = src.tar.xz
INSTALLER = $(patsubst %-template,%,$(TMPL))
SOURCES = \
capp \
verify_dca.py \
get_deploy_keys
DIRS = \
proxy \
dca
DOCKER_GEN_FILES = \
docker-gen/docker-gen \
docker-gen/LICENSE
GEN_FILES = \
proxy/gen/docker-gen \
proxy/gen/LICENSE \
proxy/le/docker-gen
ALL_SOURCES = $(shell for dir in $(DIRS); do find $$dir -type f -not -name '.*'; done) $(SOURCES) $(GEN_FILES)
# Show all available targets
help:
@for target in $$(grep '^\.PHONY:' Makefile|cut -d: -f2); do \
msg=$$(grep -B1 "^$$target:" Makefile|grep '^#'|cut -c3-); \
echo "$$target:$$msg"; \
done | column -s: -t
# Create the installer
installer: $(INSTALLER)
$(INSTALLER): $(TMPL) $(ARCHIVE)
@CAPP_VER=$$(sed -rn '/^__version__ =/{s/.*\((.+), (.+), (.+)\)/\1.\2.\3/;p}' capp); \
(sed -r "s/^CAPP_VER=.*/CAPP_VER=$$CAPP_VER/" $(TMPL); base64 $(ARCHIVE)) > $@
@chmod +x $@
docker-gen/docker-gen: docker-gen/version docker-gen/build docker-gen/security-updates
@./docker-gen/build
docker-gen/LICENSE: docker-gen/docker-gen
proxy/gen/docker-gen: docker-gen/docker-gen
@cp $< $@
proxy/gen/LICENSE: docker-gen/LICENSE
@cp $< $@
proxy/gen/nginx.tmpl: proxy/gen/get-nginx-tmpl
@./$<
proxy/le/docker-gen: docker-gen/docker-gen
@cp $< $@
$(ARCHIVE): $(ALL_SOURCES)
@tar caf $@ $(DIRS) $(SOURCES)
# Remove generated files
clean:
@rm $(DOCKER_GEN_FILES) $(GEN_FILES) $(ARCHIVE) 2>/dev/null || true
@rm -r __pycache__ 2>/dev/null || true
# Remove all created files
dist-clean: clean
@rm $(INSTALLER) 2>/dev/null || true
.PHONY: help installer clean dist-clean