bug-make
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]