Subject: bug#16375: closed (Re: bug#16375: subdir-objects breaks build which specifies sources relative to $(top_srcdir))

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 21 Apr 2014 10:34:07 +0000

Your bug report

#16375: subdir-objects breaks build which specifies sources relative to $(top_srcdir)

which was filed against the automake package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
16375: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16375
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#16375: subdir-objects breaks build which specifies sources relative to $(top_srcdir)
From: Stefano Lattarini <[email-masked]>
To: Diab Jerius <[email-masked]>
Cc: [email-masked]
Date: Mon, 21 Apr 2014 11:33:27 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

[+cc [email-masked]]

References:
  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16375
  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15919
  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15293

Known bugs sadly -- all duplicates of http://debbugs.gnu.org/13928

See also recent thread on the automake list (with sad updates
regarding the current Automake development status):
http://lists.gnu.org/archive/html/automake/2014-04/msg00002.html

Closing these bug as a duplicate.  Feel free to continue the
discussion in the http://debbugs.gnu.org/13928 thread.  And
if anyone manages to come up with a patch, I will certainly
make time to review it.

Thanks, and sorry for the lack of progress,
  Stefano

Subject: subdir-objects breaks build which specifies sources relative to $(top_srcdir)
From: Diab Jerius <[email-masked]>
To: [email-masked]
Date: Mon, 6 Jan 2014 16:20:22 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

automake 1.14.1
autoconf 2.69

I have a project which has the unique feature of specifying all source
paths relative to $(top_srcdir), e.g.:

libdebug_la_SOURCES    =  $(top_srcdir)/debug.c

(The actual project is a recursive build with multiple nested source
directories, with paths like

   libYYY_la_SOURCES   = $(top_srcdir)/YYY/source.

 but this small sample elicits the undesired behavior described below.)

Without subdir-objects, automake complains about requiring
subdir-objects, but the project is built correctly.

With subdir-objects,  automake & autoconf conspire to generate code
which results in config.status creating a directory literally called
'$(top_srcdir)/.deps', and make dieing with the error

% make
Makefile:372: .deps/debug.Plo: No such file or directory
make: *** No rule to make target `.deps/debug.Plo'.  Stop.

In the complete project (which is recursive) each directory gets it's
own version of the '$(top_srcdir)' directory, .e.g, in
lists/Makefile.am,

  liblists_la_SOURCES = $(top_srcdir)/lists/foo.c

results in the creation of

  lists/$(top_srcdir)/lists/.deps

It is perhaps out of the ordinary to specify sources this way for a
recursive make, but it does actually work (and I'd like to be able to
continue with that idiom, as I have other tools which parse
Makefile.am and require this setup to work).

I've attached a tar file of the stripped down project with the results
of running

autoreconf -i >& autoreconf.log
./configure >& configure.log

Thanks!

Diab