From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ferruh.yigit@intel.com>
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by dpdk.org (Postfix) with ESMTP id 0D1252C54
 for <dev@dpdk.org>; Wed, 15 Feb 2017 16:26:38 +0100 (CET)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 15 Feb 2017 07:26:38 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.35,166,1484035200"; d="scan'208";a="821243309"
Received: from sivswdev02.ir.intel.com ([10.237.217.46])
 by FMSMGA003.fm.intel.com with ESMTP; 15 Feb 2017 07:26:36 -0800
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Thomas Monjalon <thomas.monjalon@6wind.com>
Cc: dev@dpdk.org, Ferruh Yigit <ferruh.yigit@intel.com>,
 Bruce Richardson <bruce.richardson@intel.com>,
 John McNamara <john.mcnamara@intel.com>,
 Keith Wiles <keith.wiles@intel.com>
Date: Wed, 15 Feb 2017 15:26:30 +0000
Message-Id: <20170215152632.25081-2-ferruh.yigit@intel.com>
X-Mailer: git-send-email 2.8.4
In-Reply-To: <20170215152632.25081-1-ferruh.yigit@intel.com>
References: <20170214151326.7554-1-ferruh.yigit@intel.com>
 <20170215152632.25081-1-ferruh.yigit@intel.com>
Subject: [dpdk-dev] [PATCH 2/4] mk: do not build tests by default
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Feb 2017 15:26:39 -0000

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(-)

diff --git a/GNUmakefile b/GNUmakefile
index b1a5b76..00fe0db 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -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
diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk
index db6b983..21e0a47 100644
--- a/mk/rte.sdkbuild.mk
+++ b/mk/rte.sdkbuild.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
diff --git a/mk/rte.sdkdepdirs.mk b/mk/rte.sdkdepdirs.mk
index 38fd863..f82db69 100644
--- a/mk/rte.sdkdepdirs.mk
+++ b/mk/rte.sdkdepdirs.mk
@@ -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
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 04ad523..9c23987 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -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
-- 
2.9.3