Another fix needs to be backported to fully fix Savannah bug #30612 in order to handle white space. The following makefile (that is used by OpenEmbedded/Yocto for make version sanity checks) currently fails with make-3.82-r4: makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c) makefile_test_a.c: touch $@ makefile_test_b.c: touch $@ Reproducible: Always Steps to Reproduce: 1. make makefile_test.a 2. 3. Actual Results: make: *** No rule to make target `makefile_test.a()', needed by `makefile_test.a'. Stop. Expected Results: ar rv makefile_test.a makefile_test_a.c ar: creating makefile_test.a a - makefile_test_a.c ar rv makefile_test.a makefile_test_b.c a - makefile_test_b.c This has been fixed by commit b06b8c64a29a5ba3a8daecd829fa2f98d42cb285 upstream. See also http://list-archives.org/2013/06/24/openembedded-core-lists-openembedded-org/oe-core-patch-0-3-update-the-sanity-check-and-make/f/6330138221
Created attachment 364008 [details, diff] Fix white space handling in library references Partial backport of commit b06b8c64a29a5ba3a8daecd829fa2f98d42cb285 upstream which fixes the reported problem.
Does sys-devel/make-4.0 (currently not stable) have the same problem?
No idea. Check if commit b06b8c64a29a5ba3a8daecd829fa2f98d42cb285 is in 4.0. (I would think so.)
The patch made it into make-4.0. I'd say that justifies not adding the patch to older make versions.
There's already a partial fix for the Savannah bug 30612 reported as Gentoo bug #334889 but it still fails on white space. This prevents using Gentoo for OpenEmbedded/Yocto development (as its tool sanity check will complain). Forcing people to update to 4.0 for this trivial parser bug (which was fixed upstream more than two years ago) is likely to just cause further headaches.
This should be fixed with stable =sys-devel/make-4.0-r1