automake
[Top][All Lists]
Advanced

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

Re: some object files in a separate directory?


From: Ralf Corsepius
Subject: Re: some object files in a separate directory?
Date: 28 Jan 2003 14:01:19 +0100

Am Die, 2003-01-28 um 13.22 schrieb Markus Werle:
> Hi!
> 
> In my Makefile.am I have e.g. the following lines
> 
> COMMON_SOURCES = src/lib/common.C
> 
> foo_SOURCES = ${COMMON_SOURCES} src/foo/main.C
> bar_SOURCES = ${COMMON_SOURCES} src/bar/main.C
> 
> So I have a name clash for main.o, which makes automake unhappy.
Yes, you have source tree layout problem ;)

> The only resolution I found was to prefix the bar object files
> using the following  trick
> 
> bar_CXXFLAGS = $(AM_CXXFLAGS)
> 
> the problem with this approach is that now common.C
> will get built twice (which is not what I want here).
One work-around: Make a static lib from it.

> I could for sure put common.C into a shared lib and link to that one,
> but I dislike that solution for several other reasons.
A static lib would be sufficient.

> I would prefer to have the possibility to tell
> automake to put foo_OBJECTS into a separate directory,
> perhaps like this:
>
> foo_OBJDIR = foo_obj
> 
> Is this feature already available?
Not quite, but 
AM_INIT_AUTOMAKE([subdir-objects])
might be helpful.

Another work-around would be to implement a deep Makefile.am-hierarchy,
with two independent Makefile.ams, one for foo and one for bar.

[Now you've got a glimpse of an idea, why I don't share the "Deep
Makefiles are evil"-idea, many persons on this list hang on to.]

Ralf






reply via email to

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