bad interaction with /usr/bin/make

Denis Excoffier
Sat Feb 28 05:40:00 GMT 2015


This is a standard makefile, except that hello.c
is taken from a special directory:

% cat Makefile
all : hello
hello : hello.o
	gcc -o $@ $+
hello.o : /usr/mydata/hello.c
	gcc -o $@ -c $<
clean :
	-rm -f hello hello.exe hello.o

The file hello.c contains exactly what you expect
that it should contain and the ./hello runs OK.

Now, suppose that you mount (through /etc/fstab) some
drive under some subfolder of /usr/mydata, eg

R:/svnRepository /usr/mydata/svn ntfs cygexec,noacl

You can try the Makefile, it still works (as expected).

Now you come home and the R: drive does not exist
any more. Believe it or not (but you can try), the
Makefile does not work any more and produces:

make: *** INTERNAL: readdir: No such file or directory.  Stop.

You can observe that the /usr/mydata/hello.c still exists,
unchanged, and that the mount has nothing to do with
/usr/mydata, only with /usr/mydata/svn, which is unknown
in the Makefile.

Do you think that Cygwin has something to do with this or
is it exclusively /usr/bin/make's business?


Denis Excoffier.

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list