URL: <http://savannah.gnu.org/bugs/?40344>
Summary: Can't handle Windows long path names Project: make Submitted by: glandium Submitted on: Tue 22 Oct 2013 04:49:10 AM 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: MS Windows Fixed Release: None Triage Status: None _______________________________________________________ Details: (Reported by Vladimir Vukicevic on the mozilla bug tracker) make 4.0 can't handle long path names, which need some special magic under windows -- you need to use the unicode versions of the IO functions, and prepend paths with the \\?\ UNC prefix. (Note that also turns off automatic / -> \ conversion.) So, \\?\C:\foo\bar\baz instead of C:/foo/bar/baz or similar. STR: $ cd c:/tmp # or wherever $ mkdir -p this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5 $ cd !$ $ echo hello > this-is-a-long-filename.txt $ cat > Makefile <<EOF all: success success: ../../../../../../this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5/this-is-a-long-filename.txt cp $< $@ EOF $ make make: *** No rule to make target '../../../../../../this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5/this-is-a-long-filename.txt', needed by 'success'. Stop. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?40344> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make