www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/01/16/02:04:06

Date: Tue, 16 Jan 1996 08:51:14 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: John Fortin <fortin44 AT eelab DOT newpaltz DOT edu>
Cc: djgpp AT delorie DOT com
Subject: Re: Make error...Help

On Mon, 15 Jan 1996, John Fortin wrote:

> When I try to make the attached makefile I get the following error
> 
> makefile.dj:13: ***Target pattern contains no '%'. Stop

The problem is in the following line:

> DJGPP = d:\djgpp

It makes lines like the following:

> enumw_dj.exe: $(DJGPP)\rsxwdk\rsxw32.exe

become like this:

> enumw_dj.exe: d:\djgpp\rsxwdk\rsxw32.exe

Now, you are probably using Make 3.71 (from DJGPP v1.12 distribution), 
and that version doesn't support colons in target/dependency relations.  
The DJGPP port of Make 3.73 (from v2.0beta4) *does* support them, so get 
that port if you absolutely need the drive letters in your Makefiles.  Or 
don't use drive letters at all, if you can.

Also, don't use backslashes in your Makefile, use forward slashes 
instead.  GNU Make has several built-in filename functions which only 
work correctly on forward slashes notation.  If you do use backslashes, 
they must be escaped by another backslash, like this:

> enumw_dj.exe: $(DJGPP)\\rsxwdk\\rsxw32.exe

A `\' is an escape character in GNU Make, so a single backslash is simply
removed from the text, and what Make sees after reading your Makefile is
this: 

> enumw_dj.exe: $(DJGPP)rsxwdkrsxw32.exe

Probably not what you meant.

- Raw text -


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