[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #42270] Make needs to canonicalise paths
From: |
Robert Bogomip |
Subject: |
[bug #42270] Make needs to canonicalise paths |
Date: |
Fri, 02 May 2014 21:39:03 +0000 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:29.0) Gecko/20100101 Firefox/29.0 |
URL:
<http://savannah.gnu.org/bugs/?42270>
Summary: Make needs to canonicalise paths
Project: make
Submitted by: bobbogo
Submitted on: Fri 02 May 2014 09:39:02 PM GMT
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 4.0
Operating System: Any
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
Consider this makefile:
all:
abs := $(abspath AA)
${abs}: ; touch $@ # 1
AA: ; touch $@ #2
all: AA ${abs} ; : $@ done
We get
$ rm -f AA; make -Rr -f 1 -j
touch AA #2
touch /cygdrive/g/Code/x-platform/trunk/build/xplatform/AA # 1
: all done
Plainly _AA_ and _$(abspath AA)_ are the same file, but make doesn't think so.
Make seems just to use string matching (other relative paths to the same file
are seen as different files (_subdir/../A.. for instance)).
This is playing havoc with auto-generated dependencies, some of which are
built by make rules.
Tested on SuSE make 3.82 and cygwin 4.0.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?42270>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #42270] Make needs to canonicalise paths,
Robert Bogomip <=