Hi Miles, thanks for the explanation. I had never hear of the SHORTNAME attribute before, this is good to know.
nick On Thu, Oct 11, 2012 at 9:20 PM, Miles Bader <mi...@gnu.org> wrote: > Nicolas Bock <nicolasb...@gmail.com> writes: >> libsomething_la_CPPFLAGS = -I../../ > ... >> the naming changed from a.F90 -> libsomething_la-a.lo to a.F90 -> >> a.lo. Very strange. > > It's an annoying, but documented, effect of using per-library CFLAGS: > when you do that, automake decides that it must generate unique object > files for that library, and so uses the library name as a prefix for > the object file. This is presumably because it's _possible_ -- > although I think very rare -- to use the same source file in multiple > libraries, and with per-library flags, the resulting object files may > actually differ (whereas without per-library flags, they'd be the > same). > > [I wish automake would only use the prefixes in cases where a source > file is _actually_ used in multiple libraries; since I think it almost > never happens that people actually do this, that would mean almost no > object files would use the prefix. Maybe that's annoying to implement > though...] > > You _can_ change the name of the prefix used, by setting the > "SHORTNAME" attribute, e.g. > > libbozo_la_SHORTNAME = bozo > > -miles > > -- > Once, adj. Enough.