Date: Tue, 16 Jan 1996 08:51:14 +0200 (IST) From: Eli Zaretskii To: John Fortin 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.