Hello, On Tue, Sep 27, 2005 at 05:23:43AM -0500, John Ratliff wrote: > I tested it in Linux with automake 1.9.6 and it still doesn't work.
indeed, I previously did some quick testing with rule .list-> .c, and it worked. But for rules .foo -> .o it really doesn't work. I wrote a patch which fixes this. It applies to CVS version, but also to 1.9.6, so you don't need to install the CVS versions. Actually, I guess that you can directly patch /usr/bin/automake. Please find the patch attached to this mail. (I haven't ran "make check" with it, sorry.) Does this work for you? > How do I get CVS Automake and Autoconf? It's not necessary any more, but just for your information: http://savannah.gnu.org/cvs/?group=autoconf http://sources.redhat.com/automake/ Have a nice day, Stepan Kasal
2005-09-27 Stepan Kasal <[EMAIL PROTECTED]> * automake.in (handle_single_transform): Direct suffix rule preserves the directory prefix, so the generated object name should contain it, too. --- automake.in 2005-09-17 15:05:39.000000000 +0200 +++ automake.in 2005-09-27 17:10:47.000000000 +0200 @@ -1755,6 +1755,10 @@ # This is probably the result of a direct suffix rule. # In this case we just accept the rewrite. $object = "$base$extension"; + if ($directory ne '') + { + $object = $directory . '/' . $object; + } $linker = ''; } else @@ -1824,7 +1828,7 @@ # For Java, the way we're handling it right now, a # `..' component doesn't make sense. - if ($lang->name eq 'java' && $object =~ /(\/|^)\.\.\//) + if ($lang && $lang->name eq 'java' && $object =~ /(\/|^)\.\.\//) { err_am "`$full' should not contain a `..' component"; }