busybox is made common

Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Pascal Brand <pascal.brand@st.com>
diff --git a/common.mk b/common.mk
index ef31a4b..d6cca85 100644
--- a/common.mk
+++ b/common.mk
@@ -15,6 +15,8 @@
 #
 
 LINUX_PATH			?= $(ROOT)/linux
+GEN_ROOTFS_PATH			?= $(ROOT)/gen_rootfs
+GEN_ROOTFS_FILELIST		?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
 OPTEE_OS_PATH			?= $(ROOT)/optee_os
 OPTEE_CLIENT_PATH		?= $(ROOT)/optee_client
 OPTEE_CLIENT_EXPORT		?= $(OPTEE_CLIENT_PATH)/out/export
@@ -33,6 +35,29 @@
 DEBUG ?= 0
 
 ################################################################################
+# Busybox
+################################################################################
+BUSYBOX_COMMON_TARGET		?= TOBEDEFINED
+BUSYBOX_CLEAN_COMMON_TARGET	?= TOBEDEFINED
+BUSYBOX_COMMON_CCDIR		?= TOBEDEFINED
+
+busybox-common: linux
+	cd $(GEN_ROOTFS_PATH) &&  \
+		CC_DIR=$(BUSYBOX_COMMON_CCDIR) \
+		PATH=${PATH}:$(LINUX_PATH)/usr \
+		$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh \
+			$(BUSYBOX_COMMON_TARGET)
+
+busybox-clean-common:
+	cd $(GEN_ROOTFS_PATH) && \
+	$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh  \
+		$(BUSYBOX_CLEAN_COMMON_TARGET)
+
+busybox-cleaner-common:
+	rm -rf $(GEN_ROOTFS_PATH)/build
+	rm -rf $(GEN_ROOTFS_PATH)/filelist-final.txt
+
+################################################################################
 # EDK2 / Tianocore
 ################################################################################
 # Make sure edksetup.sh only will be called once and that we don't rebuild
diff --git a/fvp.mk b/fvp.mk
index 13b1bc3..01f08f6 100644
--- a/fvp.mk
+++ b/fvp.mk
@@ -20,9 +20,6 @@
 EDK2_PATH		?= $(ROOT)/edk2
 EDK2_BIN		?= $(EDK2_PATH)/Build/ArmVExpress-FVP-AArch64/RELEASE_GCC49/FV/FVP_AARCH64_EFI.fd
 
-GEN_ROOTFS_PATH		?= $(ROOT)/gen_rootfs
-GEN_ROOTFS_FILELIST	?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
-
 FOUNDATION_PATH		?= $(ROOT)/Foundation_Platformpkg
 ifeq ($(wildcard $(FOUNDATION_PATH)),)
 $(error $(FOUNDATION_PATH) does not exist)
@@ -61,17 +58,15 @@
 ################################################################################
 # Busybox
 ################################################################################
-busybox:
-	@if [ ! -d "$(GEN_ROOTFS_PATH)/build" ]; then \
-		cd $(GEN_ROOTFS_PATH); \
-		CC_DIR=$(AARCH64_PATH) \
-		PATH=${PATH}:$(LINUX_PATH)/usr \
-		$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh fvp-aarch64; \
-	fi
+BUSYBOX_COMMON_TARGET = fvp-aarch64
+BUSYBOX_CLEAN_COMMON_TARGET = fvp-aarch64 clean
+BUSYBOX_COMMON_CCDIR = $(AARCH64_PATH)
 
-busybox-clean:
-	cd $(GEN_ROOTFS_PATH); \
-		$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh fvp-aarch64 clean
+busybox: busybox-common
+
+busybox-clean: busybox-clean-common
+
+busybox-cleaner: busybox-cleaner-common
 
 ################################################################################
 # EDK2 / Tianocore
diff --git a/hikey.mk b/hikey.mk
index 96a8be9..8affbae 100644
--- a/hikey.mk
+++ b/hikey.mk
@@ -32,12 +32,8 @@
 EDK2_BUILD			?= RELEASE
 endif
 
-LINUX_PATH 			?= $(ROOT)/linux
 LINUX_CONFIG_ADDLIST		?= $(LINUX_PATH)/kernel.config
 
-GEN_ROOTFS_PATH 		?= $(ROOT)/gen_rootfs
-GEN_ROOTFS_FILELIST 		?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
-
 MCUIMAGE_BIN			?=$(ROOT)/out/mcuimage.bin
 USBNETSH_PATH			?=$(ROOT)/out/usbnet.sh
 STRACE_PATH			?=$(ROOT)/strace
@@ -100,21 +96,16 @@
 
 ################################################################################
 # Busybox
-################################################################################
-busybox:
-	@if [ ! -d "$(GEN_ROOTFS_PATH)/build" ]; then \
-		cd $(GEN_ROOTFS_PATH); \
-		CC_DIR=$(AARCH64_PATH) \
-		$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh hikey nocpio; \
-	fi
+################################################################################*
+BUSYBOX_COMMON_TARGET = hikey nocpio
+BUSYBOX_CLEAN_COMMON_TARGET = hikey clean
+BUSYBOX_COMMON_CCDIR = $(AARCH64_PATH)
 
-busybox-clean:
-	cd $(GEN_ROOTFS_PATH); \
-	$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh hikey clean
+busybox: busybox-common
 
-busybox-cleaner:
-	rm -rf $(GEN_ROOTFS_PATH)/build
-	rm -rf $(GEN_ROOTFS_PATH)/filelist-final.txt
+busybox-clean: busybox-clean-common
+
+busybox-cleaner: busybox-cleaner-common
 
 ################################################################################
 # EDK2 / Tianocore
diff --git a/mediatek.mk b/mediatek.mk
index 124b41c..ea29664 100644
--- a/mediatek.mk
+++ b/mediatek.mk
@@ -14,10 +14,6 @@
 # Paths to git projects and various binaries
 ################################################################################
 LINUX_PATCH_PATH 		?= $(ROOT)/patches-upstream
-
-GEN_ROOTFS_PATH 		?= $(ROOT)/gen_rootfs
-GEN_ROOTFS_FILELIST		?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
-
 MTK_TOOLS_PATH 			?= $(ROOT)/mtk_tools
 
 ################################################################################
@@ -33,17 +29,15 @@
 ################################################################################
 # Busybox
 ################################################################################
-busybox:
-	@if [ ! -d "$(GEN_ROOTFS_PATH)/build" ]; then \
-		cd $(GEN_ROOTFS_PATH); \
-		CC_DIR=$(AARCH64_PATH) \
-		PATH=${PATH}:$(LINUX_PATH)/usr \
-		$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh mt8173-evb; \
-	fi
+BUSYBOX_COMMON_TARGET = mt8173-evb
+BUSYBOX_CLEAN_COMMON_TARGET = mt8173-evb clean
+BUSYBOX_COMMON_CCDIR = $(AARCH64_PATH)
 
-busybox-clean:
-	cd $(GEN_ROOTFS_PATH); \
-		$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh mt8173-evb clean
+busybox: busybox-common
+
+busybox-clean: busybox-clean-common
+
+busybox-cleaner: busybox-cleaner-common
 
 ################################################################################
 # Linux kernel
diff --git a/qemu.mk b/qemu.mk
index 62da0f6..68e3bfb 100644
--- a/qemu.mk
+++ b/qemu.mk
@@ -20,9 +20,6 @@
 ################################################################################
 # Paths to git projects and various binaries
 ################################################################################
-GEN_ROOTFS_PATH			?= $(ROOT)/gen_rootfs
-GEN_ROOTFS_FILELIST		?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
-
 BIOS_QEMU_PATH			?= $(ROOT)/bios_qemu_tz_arm
 QEMU_PATH			?= $(ROOT)/qemu
 
@@ -69,18 +66,15 @@
 ################################################################################
 # Busybox
 ################################################################################
-busybox: linux
-	@if [ ! -d "$(GEN_ROOTFS_PATH)/build" ]; then \
-		cd $(GEN_ROOTFS_PATH); \
-			CC_DIR=$(AARCH32_PATH) \
-			PATH=${PATH}:$(LINUX_PATH)/usr \
-			$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh vexpress; \
-	fi
+BUSYBOX_COMMON_TARGET = vexpress
+BUSYBOX_CLEAN_COMMON_TARGET = vexpress clean
+BUSYBOX_COMMON_CCDIR = $(AARCH32_PATH)
 
-busybox-clean:
-	cd $(GEN_ROOTFS_PATH); \
-		$(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh vexpress clean
+busybox: busybox-common
 
+busybox-clean: busybox-clean-common
+
+busybox-cleaner: busybox-cleaner-common
 
 ################################################################################
 # Linux kernel