automake
[Top][All Lists]
Advanced

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

Re: Conditional sources


From: NightStrike
Subject: Re: Conditional sources
Date: Mon, 5 Nov 2007 00:01:26 -0500

On 11/4/07, Ralf Wildenhues <address@hidden> wrote:
>
> Please learn about `subdir-objects', that helps.  It's indexed in the
> manual.

Ok, that has actually helped in multiple ways.  I am now using that
option, and it's good.  That gets me past one hurdle.  Now I am left
with the following:

First, if I do this:

crt64_SCRIPTS = libcrtdll.a
lib%.a: %.def
        $(DLLTOOL) $(DLLOPTS) --dllname $*.dll --def=$(top_srcdir)/$*.def

Then libcrtdll.a and crtdll.dll are not put into their respective
subdirectories.  I'm guessing I have to manually change the output
file location in the build command.


The more important issue is that though I can now easily have multiple
sources with the same name, I cannot so easily have multiple libraries
with the same name.  Consider this:

lib32dir=$(prefix)/lib32
lib64dir=$(prefix)/lib64

lib32_LIBRARIES = libuuid.a
libuuid_a_SOURCES = lib32/uuid.c

lib64_LIBRARIES = libuuid.a
libuuid_a_SOURCES = lib64/uuid.c


The result is that a 'make all' builds libuuid.a once using the lib32
source.  The second _SOURCES variable isn't even set at all -- it's
actually ignored, and the lib64/uuid.c file is nowhere in the
resulting makefile.  When I do a 'make install', however, the 32-bit
version of the file libuuid.a is installed into both /lib32 and
/lib64.

So.......................  any more ideas?  Is there a way to build
the 32-bit libuuid.a file in one directory and the 64-bit version in
another?  I am now using the subdir-objects option, but AFAICS, that
only applies to the intermediate objects -- in this case, uuid.o.  Is
there a way to make that apply to the library itself?




reply via email to

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