Date: Mon, 26 Aug 2002 21:58:04 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: JT Williams Message-Id: <3405-Mon26Aug2002215804+0300-eliz@is.elta.co.il> X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 1.8.9 CC: djgpp AT delorie DOT com In-reply-to: <20020826173633.GB23913@kendall.sfbr.org> (message from JT Williams on Mon, 26 Aug 2002 12:36:33 -0500) Subject: Re: file names in Makefile References: <20020826173633 DOT GB23913 AT kendall DOT sfbr DOT org> 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 Precedence: bulk > Date: Mon, 26 Aug 2002 12:36:33 -0500 > From: JT Williams > > SRC += '2001;6(2):126--135.pdf' > > all: $(SRC) > pdf2ps $^ > > > If I try to quote my way around this, I get a message like this: > > % make > make: *** No rule to make target `'2001', needed by `all'. Stop. > > If I backslash the semicolon and/or parentheses, I get this: > > % make > Makefile:4: *** target pattern contains no `%'. Stop. You need to quote the colon as well: SRC += 2001\;6(2)\:126--135.pdf This works for me, except that the backslash which quotes the colon is not removed. I suspect that's a DJGPP-specific bug (due to drive letters in file names which need special handling), and that on a Unix box you will not see that problem. Could you please see whether Make indeed has a bug there, and perhaps suggest a way to fix that? In any case, the Make escape character is a backslash and nothing else. Single and double quotes work only in commands (as opposed to rules), and that's because they are handled by the shell, not by Make. I also believe that you don't need to escape the parentheses.