net/mlx: regenerate autoconf file automatically
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Fri, 10 Jun 2016 15:09:32 +0000 (17:09 +0200)
committerBruce Richardson <bruce.richardson@intel.com>
Mon, 20 Jun 2016 15:21:48 +0000 (17:21 +0200)
Mellanox PMDs must be rebuilt if a Verbs update would cause the autoconf
file to differ.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx4/Makefile
drivers/net/mlx5/Makefile

index 4d16343..efed953 100644 (file)
@@ -100,7 +100,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 \
@@ -120,9 +122,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
index a08515b..82558aa 100644 (file)
@@ -108,7 +108,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 \
@@ -149,9 +151,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