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
.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):
.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