| Mike Marchetti | 13d76c8 | 2018-09-19 15:00:36 -0400 | [diff] [blame] | 1 | TOPDIR=$(shell readlink -f .|sed -e 's/\/docker\/.*//') |
| 2 | MKINCLUDE=$(TOPDIR)/docker/mk |
| 3 | MKBUILD=$(TOPDIR)/docker/build |
| 4 | |
| 5 | all: build |
| 6 | |
| 7 | TAG ?= latest |
| 8 | |
| 9 | REPOSITORY_BASE ?= http://osm-download.etsi.org/repository/osm/debian |
| 10 | RELEASE ?= ReleaseFOUR-daily |
| 11 | REPOSITORY_KEY ?= OSM%20ETSI%20Release%20Key.gpg |
| 12 | REPOSITORY ?= testing |
| 13 | NO_CACHE ?= --no-cache |
| 14 | |
| 15 | LOWER_MDG = $(shell echo $(MDG) | tr '[:upper:]' '[:lower:]') |
| 16 | |
| Mike Marchetti | 9cf4156 | 2018-10-01 12:37:59 -0400 | [diff] [blame] | 17 | CONTAINER_NAME ?= $(LOWER_MDG) |
| 18 | |
| Mike Marchetti | 13d76c8 | 2018-09-19 15:00:36 -0400 | [diff] [blame] | 19 | CMD_DOCKER_ARGS ?= -q |
| 20 | DOCKER_ARGS = $(CMD_DOCKER_ARGS) |
| 21 | |
| Mike Marchetti | 9cf4156 | 2018-10-01 12:37:59 -0400 | [diff] [blame] | 22 | DEPS := MON IM LCM RO common osmclient devops NBI policy-module Keystone |
| Mike Marchetti | 13d76c8 | 2018-09-19 15:00:36 -0400 | [diff] [blame] | 23 | |
| 24 | DEPS_TARGETS = $(addprefix $(MKBUILD)/.dep_, $(DEPS)) |
| 25 | |
| 26 | Q=@ |
| 27 | |
| 28 | $(MKBUILD): |
| 29 | $Qmkdir -p $(MKBUILD) |
| 30 | |
| Mike Marchetti | 9cf4156 | 2018-10-01 12:37:59 -0400 | [diff] [blame] | 31 | $(MKBUILD)/.dep_policy-module: |
| 32 | $Q$(MKINCLUDE)/get_version.sh -r $(REPOSITORY) -R $(RELEASE) -k $(REPOSITORY_KEY) -u $(REPOSITORY_BASE) -m POL -p policy-module > $@ |
| 33 | |
| Mike Marchetti | 13d76c8 | 2018-09-19 15:00:36 -0400 | [diff] [blame] | 34 | $(MKBUILD)/.dep_%: |
| Mike Marchetti | f3186d5 | 2018-09-19 17:04:53 -0400 | [diff] [blame] | 35 | $Q$(MKINCLUDE)/get_version.sh -r $(REPOSITORY) -R $(RELEASE) -k $(REPOSITORY_KEY) -u $(REPOSITORY_BASE) -m $* > $@ |
| Mike Marchetti | 13d76c8 | 2018-09-19 15:00:36 -0400 | [diff] [blame] | 36 | |
| 37 | build: $(MKBUILD) $(DEPS_TARGETS) |
| 38 | $Qdocker build -t osm/$(LOWER_MDG):$(TAG) \ |
| 39 | --build-arg RELEASE=$(RELEASE) \ |
| 40 | --build-arg REPOSITORY=$(REPOSITORY) \ |
| 41 | --build-arg REPOSITORY_KEY=$(REPOSITORY_KEY) \ |
| 42 | --build-arg REPOSITORY_BASE=$(REPOSITORY_BASE) \ |
| 43 | --build-arg MON_VERSION==$(shell cat $(MKBUILD)/.dep_MON) \ |
| 44 | --build-arg IM_VERSION==$(shell cat $(MKBUILD)/.dep_IM) \ |
| 45 | --build-arg RO_VERSION==$(shell cat $(MKBUILD)/.dep_RO) \ |
| 46 | --build-arg LCM_VERSION==$(shell cat $(MKBUILD)/.dep_LCM) \ |
| 47 | --build-arg COMMON_VERSION==$(shell cat $(MKBUILD)/.dep_common) \ |
| 48 | --build-arg OSMCLIENT_VERSION==$(shell cat $(MKBUILD)/.dep_osmclient) \ |
| 49 | --build-arg NBI_VERSION==$(shell cat $(MKBUILD)/.dep_NBI) \ |
| Mike Marchetti | 9cf4156 | 2018-10-01 12:37:59 -0400 | [diff] [blame] | 50 | --build-arg POL_VERSION==$(shell cat $(MKBUILD)/.dep_policy-module) \ |
| Mike Marchetti | e31371a | 2018-09-21 16:56:54 -0400 | [diff] [blame] | 51 | --build-arg DEVOPS_VERSION==$(shell cat $(MKBUILD)/.dep_devops) \ |
| Mike Marchetti | 89f2f42 | 2018-09-26 09:58:55 -0400 | [diff] [blame] | 52 | --build-arg LWUI_VERSION==$(shell date +%s) \ |
| Mike Marchetti | 13d76c8 | 2018-09-19 15:00:36 -0400 | [diff] [blame] | 53 | $(DOCKER_ARGS) . |
| 54 | |
| 55 | clean: |
| 56 | rm -f $(MKBUILD)/.dep* |
| 57 | |
| 58 | tag: |
| Mike Marchetti | c21682c | 2018-10-15 09:40:57 -0400 | [diff] [blame] | 59 | docker tag osm/$(CONTAINER_NAME):$(INPUT_TAG) opensourcemano/$(LOWER_MDG):$(TAG) |
| 60 | |
| 61 | push: tag |
| 62 | docker push opensourcemano/$(LOWER_MDG):$(TAG) |