Allow to list configs in config/ directory with a simple make rule.

The rule showconfigs is reused in config error.
In the same time, "echo -n" is replaced by the more portable "printf".

Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
---
 mk/rte.sdkconfig.mk |   12 +++++++-----
 mk/rte.sdkroot.mk   |    4 ++--
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index ed81c47..2c071a2 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -36,14 +36,16 @@ INSTALL_CONFIGS := $(filter-out %~,\
        $(wildcard $(RTE_SRCDIR)/config/defconfig_*)))
 INSTALL_TARGETS := $(addsuffix _install,$(INSTALL_CONFIGS))

+.PHONY: showconfigs
+showconfigs:
+       @$(foreach CONFIG, $(INSTALL_CONFIGS), echo $(CONFIG);)
+
 .PHONY: config
 ifeq ($(RTE_CONFIG_TEMPLATE),)
 config:
-       @echo -n "No template specified. Use T=template " ; \
-       echo "among the following list:" ; \
-       for t in $(INSTALL_CONFIGS); do \
-               echo "  $$t" ; \
-       done
+       @printf "No template specified. "
+       @echo "Use T=template among the following list:"
+       @$(MAKE) -rR showconfigs | sed 's,^,  ,'
 else
 config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
        $(Q)$(MAKE) depdirs
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index f555e33..6bbbd54 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -87,8 +87,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 .PHONY: default
 default: all

-.PHONY: config
-config:
+.PHONY: config showconfigs
+config showconfigs:
        $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@

 .PHONY: test fast_test ring_test mempool_test
-- 
1.7.10.4

Reply via email to