bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #65276] SECONDEXPANSION doesn't work correctly with escaped spaces


From: anonymous
Subject: [bug #65276] SECONDEXPANSION doesn't work correctly with escaped spaces
Date: Thu, 8 Feb 2024 13:44:26 -0500 (EST)

URL:
  <https://savannah.gnu.org/bugs/?65276>

                 Summary: SECONDEXPANSION doesn't work correctly with escaped
spaces
                   Group: make
               Submitter: None
               Submitted: Thu 08 Feb 2024 06:44:26 PM UTC
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: 4.3
        Operating System: POSIX-Based
           Fixed Release: None
           Triage Status: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Thu 08 Feb 2024 06:44:26 PM UTC By: Anonymous
I attached a Makefile and t.cpp. Put these into a directory which has a space
in its name. Run make, notice that it works correctly.

Now, at line 14, change the order-only dependency to "| $$(ROOT)/build" (add a
$ in front). Delete the "build" directory, and try again make. This time make
will fail a "No rule to make target '<path>/sp bug/build/t.o' message.

If I use the -d switch to make, I see this:


Considering target file 'all'.
 File 'all' does not exist.
 Looking for an implicit rule for 'all'.
 No implicit rule found for 'all'.
  Considering target file '<path>/sp bug/build/t.o'.
   File '<path>/sp bug/build/t.o' does not exist.
   Looking for an implicit rule for '<path>/sp bug/build/t.o'.
   Trying pattern rule with stem 't'.
   Trying implicit prerequisite '<path>/sp\'.
   Trying pattern rule with stem 't'.
   Trying implicit prerequisite '<path>/sp\'.
   Looking for a rule with intermediate file '<path>/sp\'.
    Avoiding implicit rule recursion.
   No implicit rule found for '<path>/sp bug/build/t.o'.
   Finished prerequisites of target file '<path>/sp bug/build/t.o'.
  Must remake target '<path>/sp bug/build/t.o'.
make: *** No rule to make target '<path>/sp bug/build/t.o', needed by 'all'. 
Stop.


It seems that even though "sp\ bug" has the space escaped, it is still split
into two parts, "sp\" and "bug".






    _______________________________________________________
File Attachments:


-------------------------------------------------------
Name: Makefile  Size: 302B
<http://savannah.gnu.org/bugs/download.php?file_id=55677>
-------------------------------------------------------
Name: t.cpp  Size: 15B
<http://savannah.gnu.org/bugs/download.php?file_id=55678>

    AGPL NOTICE

These attachments are served by Savane. You can download the corresponding
source code of Savane at
https://git.savannah.nongnu.org/cgit/administration/savane.git/snapshot/savane-374ad428f2bd97d03e9733e262e1a321118d5556.tar.gz

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?65276>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

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