On Mon, 2018-07-16 at 15:30 +0800, Zorro Lang wrote: > > [root@fedoravm tmp]# ls -l > > total 4 > > -rw-r--r--. 1 root root 206 Jul 15 14:58 Makefile > > drwxr-xr-x. 1 root root 0 Jul 15 14:59 testdir > > [root@fedoravm tmp]# cat Makefile > > STRING1 = $(wildcard $(CURDIR)/[a-z]*/) > > STRING2 = $(wildcard ./[a-z]*/) > > default: > > @echo STRING1="$(STRING1)" > > @echo STRING2="$(STRING2)" > > [root@fedoravm tmp]# make > > STRING1=/root/tmp/testdir/ /root/tmp/Makefile > > STRING2=./testdir/ ./Makefile > > [root@fedoravm tmp]#
GNU make uses the system libc version of the glob(3) and fnmatch(3) functions to implement its wildcard function on any system which provides GNU libc. So, if there's a change which introduces a problem with wildcard it is more likely to be related to the GNU libc implementation of glob() or fnmatch(). Unless you've somehow compiled GNU make to use its internal version of GNU glob()/fnmatch() instead of the system version. I filed a bug about this with GNU libc a long time ago, and it was apparently fixed in GNU libc 2.19 in 2014. So, I'm not sure why you've just started seeing it now. https://sourceware.org/bugzilla/show_bug.cgi?id=10278 _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make