diff -aur make-3.81/read.c make.new/read.c
--- make-3.81/read.c	2006-03-17 22:24:20.000000000 +0800
+++ make.new/read.c	2007-11-12 09:44:55.000000000 +0800
@@ -3109,6 +3109,11 @@
 #endif /* !NO_ARCHIVES */
 		  {
 		    struct nameseq *elt = (struct nameseq *) xmalloc (size);
+                    size_t pathv_end = strlen (gl.gl_pathv[i]) - 1;
+                    /* Remove trailing slashes.
+                       It there are nothing but slashes, leave the first one,*/
+                    while (gl.gl_pathv[i][pathv_end] == '/' && pathv_end > 0)
+                        gl.gl_pathv[i][pathv_end--] = '\0';
                     if (size > sizeof (struct nameseq))
                       bzero (((char *) elt) + sizeof (struct nameseq),
                              size - sizeof (struct nameseq));
