www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/08/27/12:38:57

X-Authentication-Warning: kendall.sfbr.org: jeffw set sender to jeffw AT darwin DOT sfbr DOT org using -f
Date: Tue, 27 Aug 2002 11:35:39 -0500
From: JT Williams <jeffw AT darwin DOT sfbr DOT org>
To: djgpp AT delorie DOT com
Cc: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
Subject: Re: file names in Makefile
Message-ID: <20020827163539.GA27849@kendall.sfbr.org>
Mail-Followup-To: djgpp AT delorie DOT com, Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
References: <20020826193515 DOT GB24199 AT kendall DOT sfbr DOT org> <Pine DOT SUN DOT 3 DOT 91 DOT 1020827074959 DOT 4522B-100000 AT is>
Mime-Version: 1.0
In-Reply-To: <Pine.SUN.3.91.1020827074959.4522B-100000@is>
User-Agent: Mutt/1.4i
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

-: Can you try the latest Make 3.79.1?  Did you use 3.78.1 in the DJGPP case 
-: as well?  If so, please try the latest binary in all cases, I think this 
-: particular issue got several bugfixes.

On Solaris now, with the latest binary, before trying djgpp:

% make --version
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for sparc-sun-solaris2.8
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
	Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-make AT gnu DOT org>.

% cat Makefile
# Makefile

SRC = 2001\;6(2)\:126--135.pdf

all:	$(SRC)
	test -f "$<" && echo yes

# end of Makefile

% touch '2001;6(2):126--135.pdf'

% make all
make: *** No rule to make target `2001;6(2)\:126--135.pdf', needed by `all'.  Stop.

The semicolon is properly escaped, but the `\' used to escape the colon
survives as part of the file name.  The file (with the backslash in the
name) does not exist, and `make' complains.  So now do this:

% touch '2001;6(2)\:126--135.pdf'

and `make' will find it:

% make
test -f "2001;6(2)\:126--135.pdf" && echo yes
yes

BTW, the colon must be escaped in the Makefile or `make'
interprets $(SRC) as a munged archive member reference, e.g.,

% make
Makefile:5: *** target pattern contains no `%'.  Stop.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019