diff --git a/Makefile b/Makefile
index a777ce7..cd1bc6b 100644
--- a/Makefile
+++ b/Makefile
@@ -19,12 +19,19 @@
 
 # Variables
 VERSION                  ?= $(shell cat ./VERSION)
+CURRENT_UID              := $(shell id -u)
+CURRENT_GID              := $(shell id -g)
+MKFILE_PATH              := $(abspath $(lastword $(MAKEFILE_LIST)))
+CURRENT_DIR              := $(patsubst %/,%,$(dir $(MKFILE_PATH)))
+LOCAL_APPS               := local-apps
 
 # Docker related
 DOCKER_REGISTRY          ?=
 DOCKER_REPOSITORY        ?=
 DOCKER_BUILD_ARGS        ?=
 DOCKER_TAG               ?= ${VERSION}
+DOCKER_MVN_TAG           := 3.6.3-openjdk-11-slim
+DOCKER_MVN_IMAGE         := maven:${DOCKER_MVN_TAG}
 
 # Docker labels. Only set ref and commit date if committed
 DOCKER_LABEL_VCS_URL     ?= $(shell git remote get-url $(shell git remote))
@@ -37,14 +44,78 @@
   DOCKER_LABEL_VCS_REF = $(shell git rev-parse HEAD)+dirty
 endif
 
-# TOST related
-ONOS_IMAGENAME    := ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}tost-onos:${DOCKER_TAG}
-ONOS_BRANCH       ?=
-ONOS_REVIEW       ?=
-ONOS_ROOT         := $(shell pwd)/onos
-ONOS_PROFILE      := "tost"
+# ONOS related
+ONOS_VERSION                 ?= $(shell cat ./ONOS_VERSION)
+ONOS_DOCKER_TAG              ?= ${ONOS_VERSION}
+ONOS_IMAGENAME               := ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}tost-onos:${ONOS_DOCKER_TAG}
+ONOS_BRANCH                  ?=
+ONOS_REVIEW                  ?=
+export ONOS_ROOT             := $(shell pwd)/onos
+ONOS_PROFILE                 := "tost"
+KARAF_VERSION                := 4.2.9
 
-.PHONY: docker-build
+# TOST related
+TOST_IMAGENAME               := ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}tost:${DOCKER_TAG}
+
+# Trellis-Control related
+TRELLIS_CONTROL_BRANCH       ?=
+TRELLIS_CONTROL_REVIEW       ?=
+TRELLIS_CONTROL_MVN          ?=
+TRELLIS_CONTROL_ROOT         := $(shell pwd)/trellis-control
+TRELLIS_CONTROL_GROUPID      := org.onosproject
+TRELLIS_CONTROL_ARTIFACTID   := segmentrouting-oar
+TRELLIS_CONTROL_ARTIFACT     := ${TRELLIS_CONTROL_GROUPID}:${TRELLIS_CONTROL_ARTIFACTID}
+TRELLIS_CONTROL_VERSION      := 3.0.0-SNAPSHOT
+
+# Trellis-T3 related
+TRELLIS_T3_BRANCH            ?=
+TRELLIS_T3_REVIEW            ?=
+TRELLIS_T3_MVN               ?=
+TRELLIS_T3_ROOT              := $(shell pwd)/trellis-t3
+TRELLIS_T3_GROUPID           := org.onosproject
+TRELLIS_T3_ARTIFACTID        := t3-app
+TRELLIS_T3_ARTIFACT          := ${TRELLIS_T3_GROUPID}:${TRELLIS_T3_ARTIFACTID}
+TRELLIS_T3_VERSION           := 3.0.0-SNAPSHOT
+
+# Fabric-Tofino related
+FABRIC_TOFINO_BRANCH         ?=
+FABRIC_TOFINO_REVIEW         ?=
+FABRIC_TOFINO_MVN            ?=
+FABRIC_TOFINO_ROOT           := $(shell pwd)/fabric-tofino
+FABRIC_TOFINO_GROUPID        := org.opencord
+FABRIC_TOFINO_ARTIFACTID     := fabric-tofino
+FABRIC_TOFINO_ARTIFACT       := ${FABRIC_TOFINO_GROUPID}:${FABRIC_TOFINO_ARTIFACTID}
+FABRIC_TOFINO_VERSION        := 1.1.1-SNAPSHOT
+FABRIC_TOFINO_TARGETS        := clean fabric-spgw
+export SDE_DOCKER_IMG        := opennetworking/bf-sde:9.0.0-p4c
+export P4CFLAGS              := "-DS1U_SGW_PREFIX='(8w192++8w0++8w0++8w0)' -DS1U_SGW_PREFIX_LEN=8"
+
+# Up4 related
+UP4_BRANCH                   ?=
+OMECPROJECT_API              ?=
+UP4_ROOT                     := $(shell pwd)/up4
+UP4_ARTIFACTID               := up4-app
+UP4_VERSION                  := 1.0.0-SNAPSHOT
+UP4_TARGETS                  := _prepare_app_build
+ifeq ($(OMECPROJECT_API),)
+  UP4_REPO = https://github.com/omec-project/up4.git
+else
+  UP4_REPO = https://omecproject:${OMECPROJECT_API}@github.com/omec-project/up4.git
+endif
+
+# Kafka-onos related
+KAFKA_ONOS_BRANCH            ?=
+KAKFA_ONOS_REVIEW            ?=
+KAFKA_ONOS_MVN               ?=
+KAFKA_ONOS_ROOT              := $(shell pwd)/kafka-onos
+KAFKA_ONOS_GROUPID           := org.opencord
+KAFKA_ONOS_ARTIFACTID        := kafka
+KAFKA_ONOS_ARTIFACT          := ${KAFKA_ONOS_GROUPID}:${KAFKA_ONOS_ARTIFACTID}
+KAFKA_ONOS_VERSION           := 2.4.0-SNAPSHOT
+
+.PHONY:
+
+.SILENT: up4
 
 # This should to be the first and default target in this Makefile
 help: ## : Print this help
@@ -55,21 +126,215 @@
 	| sort | awk 'BEGIN {FS=":.* ## "}; {printf "%-25s %s\n", $$1, $$2};'
 	@echo
 	@echo "Environment variables:"
-	@echo "ONOS_BRANCH		  : Use the following branch to build the image"
-	@echo "ONOS_REVIEW		  : Use the following review to build the image"
+	@echo "ONOS_BRANCH              : Define to use the following branch to build the image"
+	@echo "ONOS_REVIEW              : Define to use the following review to build the image"
+	@echo "TRELLIS_CONTROL_BRANCH   : Define to use the following branch to build the image"
+	@echo "TRELLIS_CONTROL_REVIEW   : Define to use the following review to build the image"
+	@echo "TRELLIS_CONTROL_MVN      : Define to download the app using mvn"
+	@echo "TRELLIS_T3_BRANCH        : Define to use the following branch to build the image"
+	@echo "TRELLIS_T3_REVIEW        : Define to use the following review to build the image"
+	@echo "TRELLIS_T3_MVN           : Define to download the app using mvn"
+	@echo "FABRIC_TOFINO_BRANCH     : Define to use the following branch to build the image"
+	@echo "FABRIC_TOFINO_REVIEW     : Define to use the following review to build the image"
+	@echo "FABRIC_TOFINO_MVN        : Define to download the app using mvn"
+	@echo "UP4_BRANCH               : Define to use the following branch to build the image"
+	@echo "KAFKA_ONOS_BRANCH        : Define to use the following branch to build the image"
+	@echo "KAFKA_ONOS_REVIEW        : Define to use the following review to build the image"
+	@echo "KAFKA_ONOS_MVN           : Define to download the app using mvn"
 	@echo ""
-	@echo "'onos' clones onos if does not exist in the workspace."
+	@echo "'onos' clones onos if it does not exist in the workspace."
 	@echo "Uses current workspace unless above vars are defined."
 	@echo ""
+	@echo "'trellis-control' clones trellis-control if it does not exist in the workspace."
+	@echo "Uses current workspace unless above vars are defined."
+	@echo ""
+	@echo "'trellis-t3' clones trellis-t3 if it does not exist in the workspace."
+	@echo "Uses current workspace unless above vars are defined."
+	@echo ""
+	@echo "'fabric-tofino' clones fabric-tofino if it does not exist in the workspace."
+	@echo "Uses current workspace unless above vars are defined."
+	@echo ""
+	@echo "'up4' clones up4 if it does not exist in the workspace."
+	@echo "Uses current workspace unless above vars are defined."
+	@echo ""
+	@echo "'kafka-onos' clones kafka-onos if it does not exist in the workspace."
+	@echo "Uses current workspace unless above vars are"
+	@echo ""
 
 ## Make targets
 
+mvn_settings.xml: mvn_settings.sh ## : Builds mvn_settings file for proxy
+	@./$<
+
+local-apps: ## : Creates the folder that will host the oar file
+	mkdir -p ${LOCAL_APPS}/
+
+trellis-control: ## : Checkout trellis-control code
+	# Clones trellis-control if it does not exist
+	if [ ! -d "trellis-control" ]; then \
+		git clone https://gerrit.onosproject.org/trellis-control; \
+	fi
+# Both are not supported
+ifdef TRELLIS_CONTROL_BRANCH
+ifdef TRELLIS_CONTROL_REVIEW
+	@echo "Too many parameters. You cannot specify branch and review."
+	exit 1
+else
+	cd ${TRELLIS_CONTROL_ROOT} && git checkout ${TRELLIS_CONTROL_BRANCH}
+endif
+else
+ifdef TRELLIS_CONTROL_REVIEW
+	cd ${TRELLIS_CONTROL_ROOT} && git review -d ${TRELLIS_CONTROL_REVIEW}
+endif
+endif
+
+trellis-control-build: mvn_settings.xml local-apps trellis-control  ## : Builds trellis-control using local app or mvn
+	# Settings are needed by both build processes - contains proxy settings and extra
+	cp mvn_settings.xml ${TRELLIS_CONTROL_ROOT}/
+ifdef TRELLIS_CONTROL_MVN
+	# Dependencies are needed only by the mvn copy - contains repo settings
+	cp dependencies.xml ${TRELLIS_CONTROL_ROOT}/
+	# Mounting the current dir allows to cache the .m2 folder that is persisted and leveraged by subsequent builds
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/trellis-control ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn dependency:copy -Dartifact=${TRELLIS_CONTROL_ARTIFACT}:${TRELLIS_CONTROL_VERSION}:oar \
+		-DoutputDirectory=oar/target -Dmdep.useBaseVersion=true \
+		-Dmdep.overWriteReleases=true -Dmdep.overWriteSnapshots=true -f dependencies.xml \
+		-s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+else
+	# Having the same mount file allows to reduce build time.
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/trellis-control ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn clean install -s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+endif
+	# Final step requires to move the oar to the folder used by the tost docker file
+	cp ${TRELLIS_CONTROL_ROOT}/oar/target/${TRELLIS_CONTROL_ARTIFACTID}-${TRELLIS_CONTROL_VERSION}.oar ${LOCAL_APPS}/
+
+trellis-t3: ## : Checkout trellis-t3 code
+	if [ ! -d "trellis-t3" ]; then \
+		git clone https://gerrit.onosproject.org/trellis-t3; \
+	fi
+ifdef TRELLIS_T3_BRANCH
+ifdef TRELLIS_T3_REVIEW
+	@echo "Too many parameters. You cannot specify branch and review."
+	exit 1
+else
+	cd ${TRELLIS_T3_ROOT} && git checkout ${TRELLIS_T3_BRANCH}
+endif
+else
+ifdef TRELLIS_T3_REVIEW
+	cd ${TRELLIS_T3_ROOT} && git review -d ${TRELLIS_T3_REVIEW}
+endif
+endif
+
+trellis-t3-build: mvn_settings.xml local-apps trellis-t3  ## : Builds trellis-t3 using local app or mvn
+	cp mvn_settings.xml ${TRELLIS_T3_ROOT}/
+ifdef TRELLIS_T3_MVN
+	cp dependencies.xml ${TRELLIS_T3_ROOT}/
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/trellis-t3 ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn dependency:copy -Dartifact=${TRELLIS_T3_ARTIFACT}:${TRELLIS_T3_VERSION}:oar \
+		-DoutputDirectory=app/target -Dmdep.useBaseVersion=true \
+		-Dmdep.overWriteReleases=true -Dmdep.overWriteSnapshots=true -f dependencies.xml \
+		-s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+else
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/trellis-t3 ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn clean install -s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+endif
+	cp ${TRELLIS_T3_ROOT}/app/target/${TRELLIS_T3_ARTIFACTID}-${TRELLIS_T3_VERSION}.oar ${LOCAL_APPS}/
+
+fabric-tofino: ## : Checkout fabric-tofino code
+	if [ ! -d "fabric-tofino" ]; then \
+		git clone https://gerrit.opencord.org/fabric-tofino; \
+	fi
+ifdef FABRIC_TOFINO_BRANCH
+ifdef FABRIC_TOFINO_REVIEW
+	@echo "Too many parameters. You cannot specify branch and review."
+	exit 1
+else
+	cd ${FABRIC_TOFINO_ROOT} && git checkout ${FABRIC_TOFINO_BRANCH}
+endif
+else
+ifdef FABRIC_TOFINO_REVIEW
+	cd ${FABRIC_TOFINO_ROOT} && git review -d ${FABRIC_TOFINO_REVIEW}
+endif
+endif
+
+fabric-tofino-build: mvn_settings.xml local-apps fabric-tofino  ## : Builds fabric-tofino using local app or mvn
+	cp mvn_settings.xml ${FABRIC_TOFINO_ROOT}/
+ifdef FABRIC_TOFINO_MVN
+	cp dependencies.xml ${FABRIC_TOFINO_ROOT}/
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/fabric-tofino ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn dependency:copy -Dartifact=${FABRIC_TOFINO_ARTIFACT}:${FABRIC_TOFINO_VERSION}:oar \
+		-DoutputDirectory=target -Dmdep.useBaseVersion=true \
+		-Dmdep.overWriteReleases=true -Dmdep.overWriteSnapshots=true -f dependencies.xml \
+		-s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+else
+	# This workaround is temporary - typically we need to build only the pipeconf
+	cd ${FABRIC_TOFINO_ROOT} && make ${FABRIC_TOFINO_TARGETS}
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/fabric-tofino ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn clean install -s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+endif
+	cp ${FABRIC_TOFINO_ROOT}/target/${FABRIC_TOFINO_ARTIFACTID}-${FABRIC_TOFINO_VERSION}.oar ${LOCAL_APPS}/
+
+up4: ## : Checkout up4 code
+	if [ ! -d "up4" ]; then \
+		git clone ${UP4_REPO}; \
+	fi
+ifdef UP4_BRANCH
+	cd ${UP4_ROOT} && git checkout ${UP4_BRANCH}
+endif
+
+up4-build: mvn_settings.xml local-apps up4  ## : Builds up4 using local app or mvn
+	cp mvn_settings.xml ${UP4_ROOT}/app
+	# Copy the p4 reources inside the app before the actual build
+	cd ${UP4_ROOT} && make ${UP4_TARGETS}
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/up4/app ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn clean install -s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+	cp ${UP4_ROOT}/app/app/target/${UP4_ARTIFACTID}-${UP4_VERSION}.oar ${LOCAL_APPS}/
+
+kafka-onos: ## : Checkout kafka-onos code
+	if [ ! -d "kafka-onos" ]; then \
+		git clone https://gerrit.opencord.org/kafka-onos; \
+	fi
+ifdef KAFKA_ONOS_BRANCH
+ifdef KAFKA_ONOS_REVIEW
+	@echo "Too many parameters. You cannot specify branch and review."
+	exit 1
+else
+	cd ${KAFKA_ONOS_ROOT} && git checkout ${KAFKA_ONOS_BRANCH}
+endif
+else
+ifdef KAFKA_ONOS_REVIEW
+	cd ${KAFKA_ONOS_ROOT} && git review -d ${KAFKA_ONOS_REVIEW}
+endif
+endif
+
+kafka-onos-build: mvn_settings.xml local-apps kafka-onos  ## : Builds kafka-onos using local app or mvn
+	cp mvn_settings.xml ${KAFKA_ONOS_ROOT}/
+ifdef KAFKA_ONOS_MVN
+	cp dependencies.xml ${KAFKA_ONOS_ROOT}/
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/kafka-onos ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn dependency:copy -Dartifact=${KAFKA_ONOS_ARTIFACT}:${KAFKA_ONOS_VERSION}:oar \
+		-DoutputDirectory=target -Dmdep.useBaseVersion=true \
+		-Dmdep.overWriteReleases=true -Dmdep.overWriteSnapshots=true -f dependencies.xml \
+		-s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+else
+	docker run -t --rm -v ${CURRENT_DIR}:/root -w /root/kafka-onos ${DOCKER_MVN_IMAGE} \
+		bash -c "mvn clean install -s mvn_settings.xml; \
+		chown -R ${CURRENT_UID}:${CURRENT_GID} /root"
+endif
+	cp ${KAFKA_ONOS_ROOT}/target/${KAFKA_ONOS_ARTIFACTID}-${KAFKA_ONOS_VERSION}.oar ${LOCAL_APPS}/
+
 onos: ## : Checkout onos code
-	# Clone onos if it does not exist
 	if [ ! -d "onos" ]; then \
 		git clone https://gerrit.onosproject.org/onos; \
 	fi
-# Both are not supported
 ifdef ONOS_BRANCH
 ifdef ONOS_REVIEW
 	@echo "Too many parameters. You cannot specify branch and review."
@@ -90,22 +355,39 @@
 	docker build . -t ${ONOS_IMAGENAME} \
 	--build-arg PROFILE=${ONOS_PROFILE}
 
+tost-build: ## : Builds the tost docker image
+	docker build $(DOCKER_BUILD_ARGS) \
+    -t ${TOST_IMAGENAME} \
+    --build-arg LOCAL_APPS=${LOCAL_APPS} \
+    --build-arg KARAF_VERSION=${KARAF_VERSION} \
+    --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_onosproject_vcs_commit_date="${DOCKER_LABEL_COMMIT_DATE}" \
+    -f Dockerfile.tost .
+
 onos-push: ## : Pushes the tost-onos docker image to an external repository
 	docker push ${ONOS_IMAGENAME}
 
-tost-build: ## : Builds the tost docker image
-	# TBD
-
-tost-push: ## : Pushes the tost-onos docker image to an external repository
-	# TBD
+tost-push: ## : Pushes the tost docker image to an external repository
+	docker push ${TOST_IMAGENAME}
 
 # Used for CI job
-docker-build: onos-build tost-build ## : Builds the tost-onos and tost images
+docker-build: onos trellis-control-build trellis-t3-build kafka-onos-build fabric-tofino-build up4-build tost-build ## : Builds the tost image
 
 # User for CD job
-docker-push: onos-push tost-push ## : Pushes the tost-onos and tost images
+docker-push: tost-push ## : Pushes the tost image
 
-clean: ## : Deletes any locally copied files or artificats
-	rm -rf onos
+clean: ## : Deletes any locally copied files or artifacts
+	rm -rf ${ONOS_ROOT}
+	rm -rf ${TRELLIS_CONTROL_ROOT}
+	rm -rf ${TRELLIS_T3_ROOT}
+	rm -rf ${FABRIC_TOFINO_ROOT}
+	rm -rf ${UP4_ROOT}
+	rm -rf ${KAFKA_ONOS_ROOT}
+	rm -rf ${LOCAL_APPS}
+	rm -rf .m2
+	rm -rf mvn_settings.xml
 
 # end file
