From patchwork Thu Feb 16 14:57:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 20497 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 0CC2E69C5; Thu, 16 Feb 2017 15:58:00 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 33217591E for ; Thu, 16 Feb 2017 15:57:54 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Feb 2017 06:57:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,169,1484035200"; d="scan'208";a="46156309" Received: from sivswdev02.ir.intel.com ([10.237.217.46]) by orsmga002.jf.intel.com with ESMTP; 16 Feb 2017 06:57:52 -0800 From: Ferruh Yigit To: Thomas Monjalon Cc: dev@dpdk.org, Ferruh Yigit , Bruce Richardson , John McNamara , Keith Wiles Date: Thu, 16 Feb 2017 14:57:43 +0000 Message-Id: <20170216145746.28610-2-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20170216145746.28610-1-ferruh.yigit@intel.com> References: <20170215152632.25081-1-ferruh.yigit@intel.com> <20170216145746.28610-1-ferruh.yigit@intel.com> Subject: [dpdk-dev] [PATCH v2 2/5] 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Bruce Richardson --- GNUmakefile | 3 ++- mk/rte.sdkbuild.mk | 9 ++++++--- mk/rte.sdkdepdirs.mk | 2 +- mk/rte.sdkroot.mk | 3 +++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index b1a5b76..45b7fbb 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -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 diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk index db6b983..02ff35b 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) $(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 diff --git a/mk/rte.sdkdepdirs.mk b/mk/rte.sdkdepdirs.mk index 38fd863..1d4b12f 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) $(ROOTDIRS-))) .PHONY: depdirs depdirs: $(RTE_OUTPUT)/.depdirs diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index 04ad523..1bc0f94 100644 --- a/mk/rte.sdkroot.mk +++ b/mk/rte.sdkroot.mk @@ -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