[dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig

Jerin Jacob jerin.jacob at caviumnetworks.com
Mon Jun 12 10:36:54 CEST 2017


-----Original Message-----
> Date: Wed, 7 Jun 2017 15:37:55 +0100
> From: David Hunt <david.hunt at intel.com>
> To: dev at dpdk.org
> CC: thomas at monjalon.net, shreyansh.jain at nxp.com, David Hunt
>  <david.hunt at intel.com>
> Subject: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with
>  defconfig
> X-Mailer: git-send-email 2.7.4
> 
> Users can now use 'make defconfig' to generate a configuration using
> the most appropriate defaults for the current machine.
> 
> <arch-machine-execenv-toolchain>
>   arch taken from uname -m
>   machine defaults to native
>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>   toolchain is taken from $CC -v to see which compiler to use
> 
> Signed-off-by: David Hunt <david.hunt at intel.com>
> Acked-by: Shreyansh Jain <shreyansh.jain at nxp.com>

Tested on a arm64 target:

Tested-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>

> ---
>  mk/rte.sdkconfig.mk | 28 +++++++++++++++++++++++++---
>  mk/rte.sdkroot.mk   |  4 ++--
>  2 files changed, 27 insertions(+), 5 deletions(-)
> 
> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
> index 1f2d6bd..fc03fe3 100644
> --- a/mk/rte.sdkconfig.mk
> +++ b/mk/rte.sdkconfig.mk
> @@ -60,16 +60,38 @@ showconfigs:
>  
>  .PHONY: notemplate
>  notemplate:
> -	@printf "No template specified. "
> -	@echo "Use T=template among the following list:"
> +	@printf "No template specified. Use 'make defconfig' or "
> +	@echo "use T=template from the following list:"
>  	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
>  
> +
> +.PHONY: defconfig
> +defconfig:
> +	@$(MAKE) config T=$(shell \
> +                uname -m | awk '{ \
> +                if ($$0 == "aarch64") { \
> +                        print "arm64-armv8a"} \
> +                else if ($$0 == "armv7l") { \
> +                        print "arm-armv7a"} \
> +                else if ($$0 == "ppc64") { \
> +                        print "ppc_64-power8"} \
> +                else { \
> +                        printf "%s-native", $$0} }')-$(shell \
> +                uname | awk '{ \
> +                if ($$0 == "Linux") { \
> +                        print "linuxapp"} \
> +                else { \
> +                        print "bsdapp"} }')-$(shell \
> +                ${CC} -v 2>&1 | \
> +                grep " version " | cut -d ' ' -f 1)
> +
>  .PHONY: config
>  ifeq ($(RTE_CONFIG_TEMPLATE),)
>  config: notemplate
>  else
>  config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
> -	@echo "Configuration done"
> +	@echo "Configuration done using "$(shell basename \
> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
>  endif
>  
>  $(RTE_OUTPUT):
> diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
> index 2843b7d..076a2d7 100644
> --- a/mk/rte.sdkroot.mk
> +++ b/mk/rte.sdkroot.mk
> @@ -88,8 +88,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
>  .PHONY: default
>  default: all
>  
> -.PHONY: config showconfigs showversion showversionum
> -config showconfigs showversion showversionum:
> +.PHONY: defconfig config showconfigs showversion showversionum
> +defconfig config showconfigs showversion showversionum:
>  	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
>  
>  .PHONY: cscope gtags tags etags
> -- 
> 2.7.4
> 


More information about the dev mailing list