Build/Makefile question

Ian Lance Taylor iant@google.com
Mon Oct 29 17:34:00 GMT 2012


On Mon, Oct 29, 2012 at 10:24 AM, Caroline Tice <cmtice@google.com> wrote:
>
> Actually, I did have to edit the Makefile.in slightly.  When I
> generate it with automake, it automatically adds the lines:
>
> libvtv_init_la_LIBADD =
> libvtv_init_la_SOURCES = libvtv_init.c
> libvtv_init_la_OBJECTS = libvtv_init.lo
> libvtv_stubs_la_LIBADD =
> libvtv_stubs_la_SOURCES = libvtv_stubs.c
> libvtv_stubs_la_OBJECTS = libvtv_stubs.lo
>
> as well as the lines:
>
> SOURCES = $(libsupc___la_SOURCES) $(libsupc__convenience_la_SOURCES) \
>         libvtv_init.c libvtv_stubs.c
>
>
>
> I don't know where it's getting those source file names, but they're
> wrong.  I went in and removed the "lib" prefix from them, but I hadn't
> noticed that it had made them ".c" files instead of ".cc" files.  If
> you know how to fix the .am file so that it doesn't generate these
> bogus & wrong source files in the .in file, I would appreciate your
> sharing with me...


Hmmm, never, ever, edit the Makefile.in file.  And if you do edit it,
for goodness sakes tell us.  But never edit it in the first place.

> libvtv_init_la_SOURCES = libvtv_init.c

automake came up with that because it is the default SOURCES for a
library.  It means that you didn't define the required SOURCES
variable.  You can see the name of that SOURCE variable from the line
that automake introduced: it's libvt_init_la_SOURCES.

Ian



More information about the Libstdc++ mailing list