[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Target pattern contains no % in make 3.80?

From: Paul D. Smith
Subject: Re: Target pattern contains no % in make 3.80?
Date: Sun, 21 Aug 2005 17:58:00 -0400

Please always remember to tell us which operating system you're using.

%% "Angel Tsankov" <address@hidden> writes:

  at> *** target pattern contains no `%'.  Stop.

  at> What is this supposed to mean?! I.e. why does a target patter have
  at> to contain a '%'?

Please see the GNU make manual chapter "Errors Generated by Make" where
you will find a (more) full explanation of the messages printed by make.
Here's what it says about this error:

  `missing target pattern.  Stop.'
  `multiple target patterns.  Stop.'
  `target pattern contains no `%'.  Stop.'
  `mixed implicit and static pattern rules.  Stop.'
       These are generated for malformed static pattern rules.  The first
       means there's no pattern in the target section of the rule; the
       second means there are multiple patterns in the target section;
       the third means the target doesn't contain a pattern character
       (`%'); and the fourth means that all three parts of the static
       pattern rule contain pattern characters (`%')-only the first two
       parts should.  *Note Syntax of Static Pattern Rules: Static Usage.

One thing not mentioned here is that this can be caused by drive
specifiers on Windows systems; that is if your command line looks like:

    c:/foo : d:/bar

then make can get very confused due to the extra ":".  Technically ":"
is not an allowed character in a filename in a makefile.  The
DOS/Windows/OS2 ports of GNU make have code which tries to detect
whether the ":" is there because of a drive specifier and handle it
properly.  If you think this is not working correctly please contact the
address@hidden mailing list (which is specifically for issues with
DOS/Windows/OS2 ports of GNU make) and provide full details.

  at> BTW, version 3.81beta3 built for Windows does not report such an 
  at> error. Which make is wrong?

Since you haven't shown us the line of the makefile that generates the
message, there's no way to tell.

 Paul D. Smith <address@hidden>          Find some GNU make tips at:            
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist

reply via email to

[Prev in Thread] Current Thread [Next in Thread]