[dpdk-dev,2/4] mk: do not build tests by default
Checks
Commit Message
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)
Now "make test" builds all tests and runs unit test (test).
Because of 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"
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
GNUmakefile | 2 +-
mk/rte.sdkbuild.mk | 6 +++---
mk/rte.sdkdepdirs.mk | 2 +-
mk/rte.sdkroot.mk | 7 +++++++
4 files changed, 12 insertions(+), 5 deletions(-)
Comments
2017-02-15 15:26, Ferruh Yigit:
> +.PHONY: test-buid
> +test-build:
> + $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
> + $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk test
Why not rely on default rule below?
# all other build targets
%:
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk $@
@@ -40,6 +40,6 @@ export RTE_SDK
# directory list
#
-ROOTDIRS-y := buildtools lib drivers app test
+ROOTDIRS-y := buildtools lib drivers app
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) test,$(eval $(call depdirs_rule,$(d))))
drivers: | buildtools
#
@@ -73,8 +73,8 @@ clean: $(CLEANDIRS)
@echo Clean complete
.SECONDEXPANSION:
-.PHONY: $(ROOTDIRS-y)
-$(ROOTDIRS-y):
+.PHONY: $(ROOTDIRS-y) test
+$(ROOTDIRS-y) test:
@[ -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) test))
.PHONY: depdirs
depdirs: $(RTE_OUTPUT)/.depdirs
@@ -96,6 +96,13 @@ config showconfigs showversion showversionum:
test fast_test ring_test mempool_test perf_test coverage:
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
+test: test-build
+
+.PHONY: test-buid
+test-build:
+ $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
+ $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk test
+
.PHONY: install
install:
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk pre_install