Merge "Adding Beijing Documentation"
[oom.git] / kubernetes / Makefile
1 PARENT_CHART := onap
2 COMMON_CHARTS_DIR := common
3 SETUP_CHARTS_DIR := setup
4 #Order is important
5 SHARED_CHARTS := common setup mysql dgbuilder
6 # FIXME OOM-765
7 ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
8 OUTPUT_DIR := $(ROOT_DIR)/dist
9 PACKAGE_DIR := $(OUTPUT_DIR)/packages
10 SECRET_DIR := $(OUTPUT_DIR)/secrets
11
12 EXCLUDES := $(COMMON_CHARTS_DIR) config oneclick readiness test dist helm $(PARENT_CHART) dcae
13 EXCLUDES := $(SHARED_CHARTS) config oneclick readiness test dist $(PARENT_CHART) dcae
14 HELM_CHARTS := $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.))) $(PARENT_CHART)
15
16 .PHONY: $(EXCLUDES) $(HELM_CHARTS)
17
18 all: $(COMMON_CHARTS_DIR) $(HELM_CHARTS)
19
20 common:
21 all: $(SHARED_CHARTS) $(HELM_CHARTS)
22
23 $(SHARED_CHARTS):
24         @echo "\n[$@]"
25         @make package-$@
26
27 $(HELM_CHARTS):
28         @echo "\n[$@]"
29         @make package-$@
30
31 make-%:
32         @if [ -f $*/Makefile ]; then make -C $*; fi
33
34 dep-%: make-%
35         @if [ -f $*/requirements.yaml ]; then helm dep up $*; fi
36
37 lint-%: dep-%
38         @if [ -f $*/Chart.yaml ]; then helm lint $*; fi
39
40 package-%: lint-%
41         @mkdir -p $(PACKAGE_DIR)
42         @if [ -f $*/Chart.yaml ]; then helm package -d $(PACKAGE_DIR) $*; fi
43
44 clean:
45         @rm -f */requirements.lock
46         @rm -f *tgz */charts/*tgz
47         @rm -rf $(PACKAGE_DIR)
48 %:
49         @: