automake
[Top][All Lists]
Advanced

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

Re: Custom make rules yield ambiguous result


From: NightStrike
Subject: Re: Custom make rules yield ambiguous result
Date: Sat, 10 Apr 2010 17:49:14 -0400

On Sat, Apr 10, 2010 at 2:57 AM, Ralf Wildenhues <address@hidden> wrote:
> Hello,
>
> * NightStrike wrote on Sat, Apr 10, 2010 at 12:32:37AM CEST:
>> http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/trunk/mingw-w64-crt/Makefile.am?revision=2163&view=markup
>>
>> Down at lines 937 to 941, there are two sets of rules, one for 3
>> specific files and one for the rest of the libs we generate:
>>
>> lib64/libcrtdll.a lib64/libmsvcrt.a lib64/libmsvcr80.a: lib64/lib%.a: 
>> lib64/%.def
>>         $(DTDEF) $< --dllname $*.dll -m i386:x86-64 --as-flags=--64
>>
>> lib64/lib%.a: lib64/%.def
>>       $(DTDEF) $< -m i386:x86-64 --as-flags=--64
>>
>>
>> What I noticed is happening is that those three files, libcrtdll.a,
>> libmsvcrt.a, and libmsvcr80.a, are being built using the second rule
>> instead of the first, and so they don't contain the rather crucial
>> --dllname option.
>
> automake should be copying those rules into the resulting makefile
> without any change (except a @LIB32_TRUE@ prefix which expands to empty
> if the conditional is true).  So, the remaining issue should be purely
> between GNU make and the file.  Looking at the file closely shows that
> the first rule doesn't start its command with a TAB.
>
> Cheers,
> Ralf
>

Ralf, as always, you're a genius.  I replaced the spaces with a tab
for that line, and it all works as it should.  Reading up on it, I see
now that make requires the commands of a target to be indented with a
space.  I didn't realize that before.

As always, thank you kindly!




reply via email to

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