From patchwork Fri Jun 23 18:41:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 25679 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 5ABE82BF1; Fri, 23 Jun 2017 20:59:16 +0200 (CEST) Received: from mx0a-000f0801.pphosted.com (mx0b-000f0801.pphosted.com [67.231.152.113]) by dpdk.org (Postfix) with ESMTP id D56091C0B for ; Fri, 23 Jun 2017 20:59:14 +0200 (CEST) Received: from pps.filterd (m0000700.ppops.net [127.0.0.1]) by mx0b-000f0801.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v5NIrxvo020239; Fri, 23 Jun 2017 11:59:14 -0700 Received: from brmwp-exmb12.corp.brocade.com ([208.47.132.227]) by mx0b-000f0801.pphosted.com with ESMTP id 2b92wnh578-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 23 Jun 2017 11:59:13 -0700 Received: from EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) by BRMWP-EXMB12.corp.brocade.com (172.16.59.130) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Fri, 23 Jun 2017 12:58:51 -0600 Received: from BRA-6G85P12.brocade.com (10.252.50.36) by EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Fri, 23 Jun 2017 20:47:33 +0200 From: To: CC: Luca Boccassi Date: Fri, 23 Jun 2017 19:41:53 +0100 Message-ID: <20170623184153.24488-9-lboccass@brocade.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170623184153.24488-1-lboccass@brocade.com> References: <20170623181616.16981-1-lboccass@brocade.com> <20170623184153.24488-1-lboccass@brocade.com> MIME-Version: 1.0 X-Originating-IP: [10.252.50.36] X-ClientProxiedBy: hq1wp-excas12.corp.brocade.com (10.70.38.22) To EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-06-23_12:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1706230315 Subject: [dpdk-dev] [PATCH v3 8/8] mk: always rebuild in the same order 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" From: Luca Boccassi In order to achieve reproducible builds, always check dependencies in the same order. Signed-off-by: Luca Boccassi --- mk/internal/rte.compile-pre.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mk/internal/rte.compile-pre.mk b/mk/internal/rte.compile-pre.mk index da8dda498..5d519100c 100644 --- a/mk/internal/rte.compile-pre.mk +++ b/mk/internal/rte.compile-pre.mk @@ -108,13 +108,13 @@ C_TO_O_DO = @set -e; \ compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1))) # return a non-empty string if the dst file does not exist -file_missing = $(call compare,$(wildcard $@),$@) +file_missing = $(call compare,$(sort $(wildcard $@)),$@) # return a non-empty string if cmdline changed cmdline_changed = $(call compare,$(strip $(cmd_$@)),$(strip $(1))) # return a non-empty string if a dependency file does not exist -depfile_missing = $(call compare,$(wildcard $(dep_$@)),$(dep_$@)) +depfile_missing = $(call compare,$(sort $(wildcard $(dep_$@))),$(dep_$@)) # return an empty string if no prereq is newer than target # - $^ -> names of all the prerequisites @@ -123,7 +123,7 @@ depfile_missing = $(call compare,$(wildcard $(dep_$@)),$(dep_$@)) # exist (filter-out removes existing ones from the list) # - $? -> names of all the prerequisites newer than target depfile_newer = $(strip $(filter-out FORCE,$? \ - $(filter-out $(wildcard $^),$^))) + $(filter-out $(sort $(wildcard $^)),$^))) # return 1 if parameter is a non-empty string, else 0 boolean = $(if $1,1,0) @@ -134,7 +134,7 @@ boolean = $(if $1,1,0) # user (by default it is empty) # .SECONDEXPANSION: -%.o: %.c $$(wildcard $$(dep_$$@)) $$(DEP_$$(@)) FORCE +%.o: %.c $$(sort $$(wildcard $$(dep_$$@))) $$(DEP_$$(@)) FORCE @[ -d $(dir $@) ] || mkdir -p $(dir $@) $(if $(D),\ @echo -n "$< -> $@ " ; \