build: replace phony target with .ok file 49/38349/3
authorJieqiang Wang <jieqiang.wang@arm.com>
Fri, 24 Feb 2023 08:40:58 +0000 (16:40 +0800)
committerDamjan Marion <dmarion@0xa5.net>
Mon, 6 Mar 2023 14:24:57 +0000 (14:24 +0000)
When VPP builds its external packages from source, it will download the
package, patch it, configure it, build and install it. For DPDK, it will
depend on rdma-core if mlx4/mlx5 PMD is enabled. So phony target
dpdk-config needs to have the prerequisites of rdma-core-install and
ipsec-mb-install(x86 only), which are both phony targets. This leads to
redundant behavior of recipes executing twice in dpdk-config.
Replace the phony target with hidden file *.install.ok to avoid that.

Type: improvement
Signed-off-by: Lijian Zhang <lijian.zhang@arm.com>
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
Change-Id: Ibf3b766ab7a4ccfcbffe08f6cdb90da72ca1ce29

build/external/packages.mk

index b969d8f..eba7022 100644 (file)
@@ -102,7 +102,7 @@ endef
 endif
 
 ifneq ($(filter $1,$(VPP_SKIP_EXTERNAL)), $1)
-$(B)/.$1.config.ok: $(B)/.$1.patch.ok $(addsuffix -install,$($1_depends))
+$(B)/.$1.config.ok: $(B)/.$1.patch.ok $(addprefix $(B)/.,$(addsuffix .install.ok,$($1_depends)))
        $$(call h1,"configuring $1 $($1_version) - log: $$($1_config_log)")
        @mkdir -p $$($1_build_dir)
        $$(call $1_config_cmds)