www.delorie.com/djgpp/bugs/show.cgi   search  
Bug 000113

When Created: 09/26/1996 04:01:20
Against DJGPP version: 2.00
By whom: ingos@eas.iis.fhg.de
Abstract: In some cases I need two or more spaces in the target-list
If I treat the makefile

---------------------
.SILENT

all: a /b

a /b:
	echo $@ done.
---------------------

then I get the following message:

make.exe: *** No rule to make target 'a', needed by 'all'. Stop.


If I write  t w o  spaces in the target list between 'a' and '/b'
like in the makefile

---------------------
.SILENT

all: a /b

a  /b:
	echo $@ done.
---------------------

then make works correct and I get the message

a done.
/b done.

Workaround added: 09/26/1996 04:11:47
By whom: ingos@eas.iis.fhg.de
The bug occurs because the second target '/b' starts with a slash.
If I write 'c:/b' instead of '/b' then one space between 'a' and
'c:/b' is enough.
So the following makefile will be treated correct:

--------------------
.SILENT

all: a c:/b

a c:/b:
	echo $@ done.
---------------------

Note: If the target list 'a /b' is generated by variable substitution
      and/or filter-commands then there is just one space between 'a'
      and '/b' and you are not able to influence this.

Note added: 12/29/1996 06:43:20
By whom: eliz@is.elta.co.il
This is the result of the same bug that screws up static pattern
rules.  The patch that should fix it is in bug 127, which see.

Closed on 04/13/1999 08:00:35: Bug in ported Make; fixed in Make 3.77.
By whom: eliz@is.elta.co.il



  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2010   by DJ Delorie     Updated Jul 2010