Mellanox PMDs must be rebuilt if a Verbs update would cause the autoconf
file to differ.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
---
 drivers/net/mlx4/Makefile | 13 +++++++++++--
 drivers/net/mlx5/Makefile | 13 +++++++++++--
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index 6ec33a6..ca6e483 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -99,7 +99,9 @@ ifndef V
 AUTOCONF_OUTPUT := >/dev/null
 endif

-mlx4_autoconf.h: $(RTE_SDK)/scripts/auto-config-h.sh
+mlx4_autoconf.h.new: FORCE
+
+mlx4_autoconf.h.new: $(RTE_SDK)/scripts/auto-config-h.sh
        $Q $(RM) -f -- '$@'
        $Q sh -- '$<' '$@' \
                RSS_SUPPORT \
@@ -119,9 +121,16 @@ mlx4_autoconf.h: $(RTE_SDK)/scripts/auto-config-h.sh
                enum IBV_EXP_QP_BURST_CREATE_DISABLE_ETH_LOOPBACK \
                $(AUTOCONF_OUTPUT)

+# Create mlx4_autoconf.h or update it in case it differs from the new one.
+
+mlx4_autoconf.h: mlx4_autoconf.h.new
+       $Q [ -f '$@' ] && \
+               cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
+               mv '$<' '$@'
+
 mlx4.o: mlx4_autoconf.h

 clean_mlx4: FORCE
-       $Q rm -f -- mlx4_autoconf.h
+       $Q rm -f -- mlx4_autoconf.h mlx4_autoconf.h.new

 clean: clean_mlx4
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
index a25649b..81061fe 100644
--- a/drivers/net/mlx5/Makefile
+++ b/drivers/net/mlx5/Makefile
@@ -107,7 +107,9 @@ ifndef V
 AUTOCONF_OUTPUT := >/dev/null
 endif

-mlx5_autoconf.h: $(RTE_SDK)/scripts/auto-config-h.sh
+mlx5_autoconf.h.new: FORCE
+
+mlx5_autoconf.h.new: $(RTE_SDK)/scripts/auto-config-h.sh
        $Q $(RM) -f -- '$@'
        $Q sh -- '$<' '$@' \
                HAVE_EXP_QUERY_DEVICE \
@@ -148,9 +150,16 @@ mlx5_autoconf.h: $(RTE_SDK)/scripts/auto-config-h.sh
                enum IBV_EXP_RECEIVE_WQ_CVLAN_INSERTION \
                $(AUTOCONF_OUTPUT)

+# Create mlx5_autoconf.h or update it in case it differs from the new one.
+
+mlx5_autoconf.h: mlx5_autoconf.h.new
+       $Q [ -f '$@' ] && \
+               cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
+               mv '$<' '$@'
+
 $(SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD):.c=.o): mlx5_autoconf.h

 clean_mlx5: FORCE
-       $Q rm -f -- mlx5_autoconf.h
+       $Q rm -f -- mlx5_autoconf.h mlx5_autoconf.h.new

 clean: clean_mlx5
-- 
2.1.4

Reply via email to