Dear Makers, I thought that it is a bug in the recent make since I've first encountered this situation while fixing RC bug in Debian distro (make of version 3.80+3.81.rc2-1) but it is also present on slightly older system running 3.80-9.
To make it short -- here is an example ( taken from my bug report http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=351646 ) > cat Makefile SO=1 T=2 VER=$(SO).$(T) lib%.so:lib%.so.$(SO) ln -snf $$(basename $<) $@ lib%.so.$(SO):lib%.so.$(VER) ln -snf $$(basename $<) $@ a/b/c/lib%.so.1.2: a/b/c/libz%.so cat $< >| $@ > rm a/b/c/* -f > /var/tmp/test# echo 1 > a/b/c/libzz.so.1.2 > /var/tmp/test# make a/b/c/libz.so make: *** No rule to make target `a/b/c/libz.so'. Stop. > /var/tmp/test# make a/b/c/libz.so.1.2 ln -snf $(basename a/b/c/libzz.so.1.2) a/b/c/libzz.so.1 ln -snf $(basename a/b/c/libzz.so.1) a/b/c/libzz.so cat a/b/c/libzz.so >| a/b/c/libz.so.1.2 rm a/b/c/libzz.so a/b/c/libzz.so.1 > /var/tmp/test# make a/b/c/libz.so ln -snf $(basename a/b/c/libz.so.1.2) a/b/c/libz.so.1 ln -snf $(basename a/b/c/libz.so.1) a/b/c/libz.so rm a/b/c/libz.so.1 As you can see, make could not figure out full graph of implicit rules on how to derive libz.so from libzz.so.1.2. Please advise -- is it me not fully understanding something or there is something to fix? Please CC in replies - I am not on any list -- Yaroslav Halchenko Research Assistant, Psychology Department, Rutgers-Newark Office: (973) 353-5440x263 | FWD: 82823 | Fax: (973) 353-1171 101 Warren Str, Smith Hall, Rm 4-105, Newark NJ 07105 Student Ph.D. @ CS Dept. NJIT
pgpTqNLFD5Ka9.pgp
Description: PGP signature
_______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make