Mail Archives: djgpp/1996/01/16/02:04:06
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 -