On 11/4/07, Ralf Wildenhues <[EMAIL PROTECTED]> 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?