automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Automake 1.14 and subdir-objects


From: David Beer
Subject: Re: Automake 1.14 and subdir-objects
Date: Thu, 31 Jul 2014 14:32:25 -0600

Gavin,

Thanks for your reply. Here's a more specific breakdown of what the project
does:

src/a/Makefile.am:

a_SOURCES = bob.c tom.c

src/b/Makefile.am:

b_SOURCES = mary.c ../a/tom.c

The purpose was so that tom.c would be recompiled with a different
preprocessor switch. There were only a few files that failed for this case,
so I was able to work around this. The other case:

# this is a unit test directory for mary.c
src/b/mary/Makefile.am:

mary_SOURCES = test_mary.c ../../mary.c

We simply include this so that we don't have to have a copy of mary.c in
the unit test directory, but this now fails with a message like:

Makefile:738: ../../.deps/mary.Plo: No such file or directory
make[5]: *** No rule to make target `../../.deps/mary.Plo'.  Stop.

Upon looking in that directory, there is a mary.Po and not a mary.Plo. I
don't know why that is or what that means - I guess these specify
dependencies or something like that. In this case, we have a unit test
directory for each file in the project and duplicating every file in the
project seems undesirable. Prior to 1.14 I didn't have to set
subdir-objects for this to build, so it just worked and it set in the
Makefile.in files you'd see things like:

# prior
am_mary_la_OBJECTS = test_mary.o mary.o
mary_la_OBJECTS = test_mary.c ../../mary.c

# 1.14 with subdir-objects
am_mary_la_OBJECTS = test_mary.o ../../mary.o
mary_la_OBJECTS = test_mary.c ../../mary.c

Please let me know if there's any clarification I can provide, and once
again, I appreciate the help.



On Thu, Jul 31, 2014 at 4:05 AM, Gavin Smith <address@hidden>
wrote:

> On Thu, Jul 24, 2014 at 9:09 PM, David Beer <address@hidden>
> wrote:
> > All,
> >
> > I am currently trying to get our project completely compatible with
> > automake 1.14. We have multiple places where we compile a source file
> from
> > another of the project's subdirectories in a given subdirectory. The two
> > main use cases are:
> >
> > 1. To recompile a source file with different preprocessor variables
> > 2. To execute the unit tests (we use the check framework).
> >
> Do you mean you are using the same subdirectory as the build directory
> for several different source directories (in a parallel build)? That
> sounds unusual. If you mean that you are running configure several
> times on the same source directory for different build directories (to
> test different variables, options), there won't be files from other
> builds in each build directory, and shouldn't have the problems you
> mentioned. Maybe if you described a simple project (e.g. show the
> contents of the files) that worked in earlier versions but not in
> automake 1.14, it would be easier to see if you were going about it in
> the right way.
>



-- 
David Beer | Senior Software Engineer
Adaptive Computing


reply via email to

[Prev in Thread] Current Thread [Next in Thread]