Separate dockerfiles for more efficient build

Change-Id: I526f4317ada36d1ac24d904d3ffb873611c0225c
diff --git a/Makefile b/Makefile
index 11e9f1d..3d7f3bf 100644
--- a/Makefile
+++ b/Makefile
@@ -15,15 +15,18 @@
 #
 
 VERSION                  ?= $(shell cat ./VERSION)
-ENB_NAME                 ?= lte-softmodem
+BASE_NAME                ?= oai-base
 UE_NAME                  ?= lte-uesoftmodem
+ENB_NAME                 ?= lte-softmodem
 
-DOCKER_TAG               ?= ${VERSION}
+# Tag is fixed to OAI release version, v1.0.0, regardless of VERSION file
+DOCKER_TAG               ?= 1.0.0
 DOCKER_REGISTRY          ?=
 DOCKER_REPOSITORY        ?=
 DOCKER_BUILD_ARGS        ?=
-ENB_IMAGENAME            ?= ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}${ENB_NAME}:${DOCKER_TAG}
+BASE_IMAGENAME           ?= ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}${BASE_NAME}:${DOCKER_TAG}
 UE_IMAGENAME             ?= ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}${UE_NAME}:${DOCKER_TAG}
+ENB_IMAGENAME            ?= ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}${ENB_NAME}:${DOCKER_TAG}
 
 ## Docker labels. Only set ref and commit date if committed
 DOCKER_LABEL_VCS_URL     ?= $(shell git remote get-url $(shell git remote))
@@ -34,8 +37,9 @@
 # https://docs.docker.com/engine/reference/commandline/build/#specifying-target-build-stage---target
 docker-build:
 	docker build $(DOCKER_BUILD_ARGS) \
-		--target ${ENB_NAME} \
-		--tag ${ENB_IMAGENAME} \
+		--target ${BASE_NAME} \
+		--tag ${BASE_IMAGENAME} \
+		--file Dockerfile.base \
 		--build-arg org_label_schema_version="${VERSION}" \
 		--build-arg org_label_schema_vcs_url="${DOCKER_LABEL_VCS_URL}" \
 		--build-arg org_label_schema_vcs_ref="${DOCKER_LABEL_VCS_REF}" \
@@ -45,6 +49,19 @@
 	docker build $(DOCKER_BUILD_ARGS) \
 		--target ${UE_NAME} \
 		--tag ${UE_IMAGENAME} \
+		--file Dockerfile.ue \
+		--build-arg build_base=${BASE_IMAGENAME} \
+		--build-arg org_label_schema_version="${VERSION}" \
+		--build-arg org_label_schema_vcs_url="${DOCKER_LABEL_VCS_URL}" \
+		--build-arg org_label_schema_vcs_ref="${DOCKER_LABEL_VCS_REF}" \
+		--build-arg org_label_schema_build_date="${DOCKER_LABEL_BUILD_DATE}" \
+		--build-arg org_opencord_vcs_commit_date="${DOCKER_LABEL_COMMIT_DATE}" \
+                .
+	docker build $(DOCKER_BUILD_ARGS) \
+		--target ${ENB_NAME} \
+		--tag ${ENB_IMAGENAME} \
+		--file Dockerfile.enb \
+		--build-arg build_base=${BASE_IMAGENAME} \
 		--build-arg org_label_schema_version="${VERSION}" \
 		--build-arg org_label_schema_vcs_url="${DOCKER_LABEL_VCS_URL}" \
 		--build-arg org_label_schema_vcs_ref="${DOCKER_LABEL_VCS_REF}" \
@@ -53,8 +70,9 @@
 		.
 
 docker-push:
-	docker push ${ENB_IMAGENAME}
+	docker push ${BASE_IMAGENAME}
 	docker push ${UE_IMAGENAME}
+	docker push ${ENB_IMAGENAME}
 
 test: docker-build