mk: add sensible default target with defconfig
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@intel.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com> Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
This commit is contained in:
parent
0de21567d2
commit
bce6c42c4a
@ -1,7 +1,10 @@
|
||||
Basic build
|
||||
make defconfig && make
|
||||
or
|
||||
make config T=x86_64-native-linuxapp-gcc && make
|
||||
Build commands
|
||||
config get configuration from target template (T=)
|
||||
defconfig auto-select target template based on arch, OS, etc.
|
||||
all same as build (default rule)
|
||||
build build in a configured directory
|
||||
clean remove files but keep configuration
|
||||
|
@ -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" \
|
||||
$(patsubst defconfig_%,%,$(notdir $(RTE_CONFIG_TEMPLATE)))
|
||||
endif
|
||||
|
||||
$(RTE_OUTPUT):
|
||||
|
@ -88,8 +88,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
|
||||
.PHONY: default
|
||||
default: all
|
||||
|
||||
.PHONY: config showconfigs showversion showversionum
|
||||
config showconfigs showversion showversionum:
|
||||
.PHONY: config defconfig showconfigs showversion showversionum
|
||||
config defconfig showconfigs showversion showversionum:
|
||||
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
|
||||
|
||||
.PHONY: cscope gtags tags etags
|
||||
|
Loading…
Reference in New Issue
Block a user