mk: do not build tests by default
Don't build tests with default "make" command. Require explicit command to build tests because not everybody interested in running unit tests. Following changes done in make rules: "make test-build" <--- Added "make test" <--- Updated functionality (build + run basic tests) Now "make test" builds all tests and runs unit test (test). Thanks to dependency resolving, it is possible to call "make test" directly after config, "make test" will compile dependent components (lib and drivers, but not apps). And a new "make test-build" make rule added which will build tests but not run unit test. "make test-build" has same dependency resolving features with "make test" To include "test" folder into makesystem, existing ROOTDIRS- variable is used instead of hardcoding folder name into makefiles, current usage of ROOTDIRS* variables are: ROOTDIRS-y <-- root level folders prepared and compiled by default ROOTDIRS- <-- root level folders prepared but not compiled by default The preparation is required for dependency resolving and cleaning. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
parent
7d3b1ec47f
commit
64592d97c1
@ -40,6 +40,7 @@ export RTE_SDK
|
||||
# directory list
|
||||
#
|
||||
|
||||
ROOTDIRS-y := buildtools lib drivers app test
|
||||
ROOTDIRS-y := buildtools lib drivers app
|
||||
ROOTDIRS- := test
|
||||
|
||||
include $(RTE_SDK)/mk/rte.sdkroot.mk
|
||||
|
@ -48,7 +48,7 @@ define depdirs_rule
|
||||
$(1): $(sort $(LOCAL_DEPDIRS-$(1)))
|
||||
endef
|
||||
|
||||
$(foreach d,$(ROOTDIRS-y),$(eval $(call depdirs_rule,$(d))))
|
||||
$(foreach d,$(ROOTDIRS-y) $(ROOTDIRS-),$(eval $(call depdirs_rule,$(d))))
|
||||
drivers: | buildtools
|
||||
|
||||
#
|
||||
@ -72,9 +72,12 @@ clean: $(CLEANDIRS)
|
||||
$(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean
|
||||
@echo Clean complete
|
||||
|
||||
.PHONY: test-build
|
||||
test-build: test
|
||||
|
||||
.SECONDEXPANSION:
|
||||
.PHONY: $(ROOTDIRS-y)
|
||||
$(ROOTDIRS-y):
|
||||
.PHONY: $(ROOTDIRS-y) $(ROOTDIRS-)
|
||||
$(ROOTDIRS-y) $(ROOTDIRS-):
|
||||
@[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@
|
||||
@echo "== Build $@"
|
||||
$(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all
|
||||
|
@ -36,7 +36,7 @@ ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
|
||||
$(error "need a make config first")
|
||||
endif
|
||||
|
||||
DEPDIR_FILES = $(addsuffix /.depdirs, $(addprefix $(BUILDDIR)/,$(ROOTDIRS-y)))
|
||||
DEPDIR_FILES = $(addsuffix /.depdirs, $(addprefix $(BUILDDIR)/,$(ROOTDIRS-y) $(ROOTDIRS-)))
|
||||
|
||||
.PHONY: depdirs
|
||||
depdirs: $(RTE_OUTPUT)/.depdirs
|
||||
|
@ -96,6 +96,9 @@ config showconfigs showversion showversionum:
|
||||
test fast_test ring_test mempool_test perf_test coverage:
|
||||
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
|
||||
|
||||
.PHONY: test-buid
|
||||
test: test-build
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk pre_install
|
||||
|
Loading…
Reference in New Issue
Block a user