-----Original Message----- > Date: Wed, 7 Jun 2017 15:37:55 +0100 > From: David Hunt <david.h...@intel.com> > To: dev@dpdk.org > CC: tho...@monjalon.net, shreyansh.j...@nxp.com, David Hunt > <david.h...@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.h...@intel.com> > Acked-by: Shreyansh Jain <shreyansh.j...@nxp.com>
Tested on a arm64 target: Tested-by: Jerin Jacob <jerin.ja...@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 >