From patchwork Fri Jun 23 18:33:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 25672 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 0F5F93772; Fri, 23 Jun 2017 20:34:47 +0200 (CEST) Received: from mx0a-000f0801.pphosted.com (mx0a-000f0801.pphosted.com [67.231.144.122]) by dpdk.org (Postfix) with ESMTP id 89142378E for ; Fri, 23 Jun 2017 20:34:45 +0200 (CEST) Received: from pps.filterd (m0000542.ppops.net [127.0.0.1]) by mx0a-000f0801.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v5NIT9cO026051; Fri, 23 Jun 2017 11:34:44 -0700 Received: from brmwp-exmb11.corp.brocade.com ([208.47.132.227]) by mx0a-000f0801.pphosted.com with ESMTP id 2b6u8x5th4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 23 Jun 2017 11:34:44 -0700 Received: from EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) by BRMWP-EXMB11.corp.brocade.com (172.16.59.77) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Fri, 23 Jun 2017 12:34:42 -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:34:39 +0200 From: To: CC: Luca Boccassi Date: Fri, 23 Jun 2017 19:33:55 +0100 Message-ID: <20170623183355.22581-3-lboccass@brocade.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170623183355.22581-1-lboccass@brocade.com> References: <20170623181616.16981-1-lboccass@brocade.com> <20170623183355.22581-1-lboccass@brocade.com> MIME-Version: 1.0 X-Originating-IP: [10.252.50.36] X-ClientProxiedBy: hq1wp-excas11.corp.brocade.com (10.70.36.102) 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-1706230308 Subject: [dpdk-dev] [PATCH v2 7/7] 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 "$< -> $@ " ; \