Re: Long filenames in DOS/Windows and Unix/Linux

Liste des GroupesRevenir à cu programmer 
Sujet : Re: Long filenames in DOS/Windows and Unix/Linux
De : 643-408-1753 (at) *nospam* kylheku.com (Kaz Kylheku)
Groupes : comp.unix.programmer
Date : 04. Sep 2024, 15:30:06
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20240904071628.892@kylheku.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
User-Agent : slrn/pre1.0.4-9 (Linux)
On 2024-09-04, Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Tue, 03 Sep 2024 16:38:06 -0700, Keith Thompson wrote:
The make utility has no support for paths with spaces.
 
Looks like you're right.
>
I have some Makefiles with spaces in the dependency names, of the form:
>
    target\ name\ with\ space : source\ name\ with\ space
>
I'd be interested in knowing how you do that.
>
$ cat Makefile
foo\ bar: foo\ bar.c
$ make
cc     foo bar.c   -o foo bar
cc: fatal error: input file ‘foo’ is the same as output file
compilation terminated.
make: *** [<builtin>: foo bar] Error 1

If you write your own rule in which $@ is quoted as '$@', it will
work, provided it doesn't contain ' characters.

It looks like there is limited support in GNU Make for backslash
escapes: they can be used on the prerequisite and target names
in a rule.

Elsewhere, other than backslash-newline continuations, backslashes
are literal.

So we can do:

  FOOBAR := foo\ bar   # literal backslash here

  $(FOOBAR) : ...   # backslash from variable interpolates here

Once the backslash is interpolated into the rule head, it becomes
active, so a single target "foo bar" is specified.

  (Unfortunately, what GNU Make should be arguably be doing here is not
  just treating foo\ bar as the single target foo bar but also
  preserving the backslash so that the item is foo\ bar. Then it would
  be possible for the implicit rule to work, because $@ would produce
  foo\ bar which would be passed on to the shell, where the backslash
  would do its job. One slight problem with that, though, is that the
  interpreter for processing recipes is configurable; it doesn't have
  to be a POSIX-like shell.)

Anyway, the FOOBAR variable is understood to contain two words, {foo\}
and {bar}. If we do a patsubst on it, it will match separately against
the two. Or foreach will iterate over two items.  None of the text
processing stuff in GNU Make will recognize the backslash escape
as preventing word splitting.

Nontrivial Makefiles almost always work with lists, like at the
very least OBJS, SRCS and whatnot.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Date Sujet#  Auteur
31 Aug 24 * Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)61Kenny McCormack
31 Aug 24 +* Re: Long filenames in DOS/Windows and Unix/Linux11Richard Kettlewell
31 Aug 24 i+- Re: Long filenames in DOS/Windows and Unix/Linux1Muttley
1 Sep 24 i`* Re: Long filenames in DOS/Windows and Unix/Linux9Lawrence D'Oliveiro
1 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux7Lawrence D'Oliveiro
1 Sep 24 i i+- Re: Long filenames in DOS/Windows and Unix/Linux1Nuno Silva
1 Sep 24 i i+- Re: Long filenames in DOS/Windows and Unix/Linux1Helmut Waitzmann
1 Sep 24 i i+- Putting arbitrary characters into the shell command line (was: Long filenames in DOS/Windows and Unix/Linux)1Helmut Waitzmann
3 Sep 24 i i+* Re: Long filenames in DOS/Windows and Unix/Linux2Wayne
3 Sep 24 i ii`- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
8 Sep 24 i i`- Re: Long filenames in DOS/Windows and Unix/Linux1Janis Papanagnou
1 Sep 24 i `- Arbitrary characters in filenames (was: Long filenames in DOS/Windows and Unix/Linux)1Helmut Waitzmann
31 Aug 24 +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)48Muttley
3 Sep 24 i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)47John Ames
3 Sep 24 i +- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Lew Pitcher
3 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)4Kenny McCormack
4 Sep 24 i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to3Muttley
4 Sep 24 i i `* User surveys (Was: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to)2Kenny McCormack
4 Sep 24 i i  `- Re: User surveys (Was: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to)1Muttley
3 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)40Kaz Kylheku
3 Sep 24 i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)39John Ames
3 Sep 24 i i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)37Kaz Kylheku
3 Sep 24 i i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)36John Ames
3 Sep 24 i i i +- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Lawrence D'Oliveiro
3 Sep 24 i i i `* Re: Long filenames in DOS/Windows and Unix/Linux34Keith Thompson
3 Sep 24 i i i  +* Re: Long filenames in DOS/Windows and Unix/Linux16Lawrence D'Oliveiro
4 Sep 24 i i i  i`* Re: Long filenames in DOS/Windows and Unix/Linux15Keith Thompson
4 Sep 24 i i i  i +* Re: Long filenames in DOS/Windows and Unix/Linux13Lawrence D'Oliveiro
4 Sep 24 i i i  i i+* Re: Long filenames in DOS/Windows and Unix/Linux4Keith Thompson
4 Sep 24 i i i  i ii`* Re: Long filenames in DOS/Windows and Unix/Linux3Lawrence D'Oliveiro
4 Sep 24 i i i  i ii `* Re: Long filenames in DOS/Windows and Unix/Linux2Keith Thompson
4 Sep 24 i i i  i ii  `- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
4 Sep 24 i i i  i i`* Re: Long filenames in DOS/Windows and Unix/Linux8Ralf Fassel
4 Sep 24 i i i  i i `* Re: Long filenames in DOS/Windows and Unix/Linux7Keith Thompson
4 Sep 24 i i i  i i  `* Re: Long filenames in DOS/Windows and Unix/Linux6Nuno Silva
4 Sep 24 i i i  i i   `* Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)5Kenny McCormack
4 Sep 24 i i i  i i    `* Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)4Lew Pitcher
4 Sep 24 i i i  i i     +- Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)1Lawrence D'Oliveiro
5 Sep 24 i i i  i i     `* Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)2Kaz Kylheku
5 Sep 24 i i i  i i      `- Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)1Lew Pitcher
4 Sep 24 i i i  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Tim Rentsch
4 Sep 24 i i i  +* Re: Long filenames in DOS/Windows and Unix/Linux11Kaz Kylheku
4 Sep 24 i i i  i+* Re: Long filenames in DOS/Windows and Unix/Linux8Keith Thompson
4 Sep 24 i i i  ii`* Re: Long filenames in DOS/Windows and Unix/Linux7Lawrence D'Oliveiro
4 Sep 24 i i i  ii `* Re: Long filenames in DOS/Windows and Unix/Linux6Keith Thompson
4 Sep 24 i i i  ii  +* Re: Long filenames in DOS/Windows and Unix/Linux4Lawrence D'Oliveiro
4 Sep 24 i i i  ii  i`* Re: Long filenames in DOS/Windows and Unix/Linux3Keith Thompson
4 Sep 24 i i i  ii  i +- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
4 Sep 24 i i i  ii  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Nuno Silva
4 Sep 24 i i i  ii  `- Re: Long filenames in DOS/Windows and Unix/Linux1Kaz Kylheku
4 Sep 24 i i i  i`* Re: Long filenames in DOS/Windows and Unix/Linux2John Ames
4 Sep 24 i i i  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Muttley
4 Sep 24 i i i  `* Re: Long filenames in DOS/Windows and Unix/Linux6Richard Kettlewell
5 Sep 24 i i i   `* Re: Long filenames in DOS/Windows and Unix/Linux5Ralf Fassel
5 Sep 24 i i i    +* Re: Long filenames in DOS/Windows and Unix/Linux3Richard Kettlewell
7 Sep 24 i i i    i`* Re: Long filenames in DOS/Windows and Unix/Linux2candycanearter07
7 Sep 24 i i i    i `- Word splitting oddities (Was: Long filenames in DOS/Windows and Unix/Linux)1Kenny McCormack
10 Sep 24 i i i    `- Re: Long filenames in DOS/Windows and Unix/Linux1Janis Papanagnou
10 Sep 24 i i `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Janis Papanagnou
4 Sep 24 i `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to1Muttley
1 Sep 24 `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Marcel Mueller

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal