From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f52.google.com (mail-wg0-f52.google.com [74.125.82.52]) by dpdk.org (Postfix) with ESMTP id B552EB0BF for ; Tue, 10 Jun 2014 16:39:46 +0200 (CEST) Received: by mail-wg0-f52.google.com with SMTP id b13so2799378wgh.35 for ; Tue, 10 Jun 2014 07:40:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=JHnCezSuWOBECn6eFvGP/h22qy9kglI62uK73kzC85E=; b=CBk9HagKjL+RlzZHY7U+jXhBIfTSGXaZedL4+HyXDCLFbL9KZfEk6UGMzEqBtNCv2B BYuwBdNRlQ63+PIhZUkoaiqb7tq7W58WdfoBv2udaeNzwQAxRtGPko9xeWY77XnexiIH uq/vvUg41uc8gGsuC02yVB1PyhiKeBXfhUwSyo0iFtXjnpw0Od6anl1zezhvp0KSf7zQ Zrc8FiWR8L9w4VKmZN1Fyh5q2Xv5qP7q4JGOy9wo7pJO9dPhSZK+pTs5pI4QkxBZDWdS FGEjTbDuuXa+pDYgwON3jEdQS8hhmYX1qZnvT9C5G/JViCMHSGpVYB50sCimUPqgpEKZ utNg== X-Gm-Message-State: ALoCoQlY4sOLQx1A4/cgO5B7+pfrsBHjp2TpeeGqTh85ne39/72EzT5pzz/uB4/dk4pU537vQgPz X-Received: by 10.194.157.68 with SMTP id wk4mr42236675wjb.42.1402411201097; Tue, 10 Jun 2014 07:40:01 -0700 (PDT) Received: from XPS13.dev.6wind.com (6wind.net2.nerim.net. [213.41.180.237]) by mx.google.com with ESMTPSA id f7sm29897218wjy.24.2014.06.10.07.39.59 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 10 Jun 2014 07:40:00 -0700 (PDT) From: Thomas Monjalon To: dev@dpdk.org Date: Tue, 10 Jun 2014 16:39:52 +0200 Message-Id: <1402411192-29914-1-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1402408744-19661-1-git-send-email-thomas.monjalon@6wind.com> References: <1402408744-19661-1-git-send-email-thomas.monjalon@6wind.com> Subject: [dpdk-dev] [PATCH v3] mk: factorize config rules X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jun 2014 14:39:47 -0000 Error message for missing template is factorized in notemplate rule. RTE_OUTPUT directory is marked as order-only prerequisite. RTE_OUTPUT is always created after having been cleaned for rte_config.h. Signed-off-by: Thomas Monjalon --- mk/rte.sdkconfig.mk | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) change in v2: - keep RTE_OUTPUT creation for rte_config.h change in v3: - quiet mkdir diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk index 3124dce..14d8051 100644 --- a/mk/rte.sdkconfig.mk +++ b/mk/rte.sdkconfig.mk @@ -51,23 +51,28 @@ INSTALL_TARGETS := $(addsuffix _install,$(INSTALL_CONFIGS)) showconfigs: @$(foreach CONFIG, $(INSTALL_CONFIGS), echo $(CONFIG);) -.PHONY: config -ifeq ($(RTE_CONFIG_TEMPLATE),) -config: +.PHONY: notemplate +notemplate: @printf "No template specified. " @echo "Use T=template among the following list:" @$(MAKE) -rR showconfigs | sed 's,^, ,' + +.PHONY: config +ifeq ($(RTE_CONFIG_TEMPLATE),) +config: notemplate else config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile $(Q)$(MAKE) depdirs @echo "Configuration done" endif +$(RTE_OUTPUT): + $(Q)mkdir -p $@ + ifdef NODOTCONF $(RTE_OUTPUT)/.config: ; else -$(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE - @[ -d $(RTE_OUTPUT) ] || mkdir -p $(RTE_OUTPUT) +$(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE | $(RTE_OUTPUT) $(Q)if [ "$(RTE_CONFIG_TEMPLATE)" != "" -a -f "$(RTE_CONFIG_TEMPLATE)" ]; then \ $(CPP) -undef -P -x assembler-with-cpp \ -fdirectives-only -ffreestanding \ @@ -78,11 +83,7 @@ $(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE fi ; \ rm -f $(RTE_OUTPUT)/.config_tmp ; \ else \ - echo -n "No template specified. Use T=template " ; \ - echo "among the following list:" ; \ - for t in $(INSTALL_CONFIGS); do \ - echo " $$t" ; \ - done ; \ + $(MAKE) -rRf $(RTE_SDK)/mk/rte.sdkconfig.mk notemplate; \ fi endif @@ -92,8 +93,7 @@ SDK_RELPATH=$(shell $(RTE_SDK)/scripts/relpath.sh $(abspath $(RTE_SRCDIR)) \ $(abspath $(RTE_OUTPUT))) OUTPUT_RELPATH=$(shell $(RTE_SDK)/scripts/relpath.sh $(abspath $(RTE_OUTPUT)) \ $(abspath $(RTE_SRCDIR))) -$(RTE_OUTPUT)/Makefile: - @[ -d $(RTE_OUTPUT) ] || mkdir -p $(RTE_OUTPUT) +$(RTE_OUTPUT)/Makefile: | $(RTE_OUTPUT) $(Q)$(RTE_SDK)/scripts/gen-build-mk.sh $(SDK_RELPATH) $(OUTPUT_RELPATH) \ > $(RTE_OUTPUT)/Makefile @@ -103,7 +103,7 @@ $(RTE_OUTPUT)/include/rte_config.h: $(RTE_OUTPUT)/.config $(Q)rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \ $(RTE_OUTPUT)/hostapp $(RTE_OUTPUT)/lib \ $(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod $(RTE_OUTPUT)/build - @[ -d $(RTE_OUTPUT)/include ] || mkdir -p $(RTE_OUTPUT)/include + $(Q)mkdir -p $(RTE_OUTPUT)/include $(Q)$(RTE_SDK)/scripts/gen-config-h.sh $(RTE_OUTPUT)/.config \ > $(RTE_OUTPUT)/include/rte_config.h -- 2.0.0