Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
AW: [cdt-dev] Project name spaces not allowed?

For a standard make tool this behavior is "correct". It is a known issue that the syntactic requirements for "make rules" do not comply with the rules for filename and path names on the host operating system. Make uses (white-)spaces as list separator.
In
 
all: My C Project
 
the standard make syntax parser recognizes a rule that describes that the target "all" depends on three sub-targets, namely "My", "C", and "Project"
 
A similar problems occurs when windows style absolute path names are involved in rules:
 
C:\temp\out.o: C:\temp\in1.c C:\temp\in2.c
 
Here the colon is the problem, since make uses it to separate the target from its dependencies. A dumb parser will recognize the first colon as separator and thus identify "C" as target and "\temp\out.o" as first dependency and then run into trouble with the next colon.....
 
We have this problem when using Cygwin.
 
Nils


Von: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] Im Auftrag von Michael Wrighton
Gesendet: Dienstag, 1. Mai 2007 13:52
An: CDT General developers list.
Betreff: [cdt-dev] Project name spaces not allowed?

I don’t know whether this is a bug or not but if a C project name contains spaces, the generated makefile produces something like:

 

# All Target

all: My C Project

 

The linker is then invoked 3 times. Is this right?

This is on latest HEAD.

 

Mike W


Back to the top