Date: Wed, 8 Dec 1999 10:49:38 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: salkin AT mindspring DOT com cc: djgpp AT delorie DOT com Subject: Re: need workaround for make problem In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Tue, 7 Dec 1999 salkin AT mindspring DOT com wrote: > <--- demo makefile ----> > %.class: %.java > $(JAVAC) $< > > CLASSES= note.class > > all: $(CLASSES) > <--- end demo ---> > <--- error msg ---> > c:\....> make > make.exe: *** No rule to make target 'note.class', needed by 'all'. > <--- end error ---> You forgot to tell on what version of Windows did this happen. If it's NT, then the reason is that DJGPP programs cannot access long file names on NT, and so the pattern rule above doesn't fire because Make doesn't see a file note.java, only note~1.jav. If the problem happens on Windows 9X, where long file names *are* aupported, please invoke Make with the -d switch and examine the output looking for possible clues. If you cannot figure that out, post the entire output here. > The info pages with the djgpp suggest that this behavior should be > the same as cygwin gnu make or unix gnu make. In fact, the minor > version # of the djgpp make is slightly larger then that of the > cygwin (3.77 vs 3.75). Make 3.77 has several sugnificant changes in DOS/Windows support relative to 3.75. OTOH, Cygwin's Make 3.75 has some Cygwin-specific features that were never integrated into the official Make distribution. Go figure what that means... > Oh yes, almost forgot, I dd try the old-style .java.class rule and > it failed as well. :( Of course. These two are equivalent.