Subject: bug#7824: 1.11 doesn't add sources with nonstandard suffixes when making a binary

From: Юрий Пухальский <[email-masked]>
Date: Tue, 11 Jan 2011 23:43:07 +0300

2011/1/11 Ralf Wildenhues <[email-masked]>:
> Hello Юрий,
>
> * Юрий Пухальский wrote on Tue, Jan 11, 2011 at 03:48:08PM CET:
>> I've (finally) made it through two implicit rules, but i have a problem there.
>>
>> The makefile looks something like that:
>>
>> ------------------------
>> .SUFFIXES: .pc .lo .c
>> .pc.c:
>>       cp $< $@
>> .c.lo:
>>       cp $< $@
>> ------------------------
>>
>> Given that i have no .c and no .lo before invoking make, it works good
>> with gmake and aix make.
>> While on HP-UX it doesn't:
>
> Yep, that's because some non-GNU makes don't close suffix rules
> transitively.  You can either add explicit stub dependencies
>  foo.lo: foo.c
>  bar.lo: bar.c
They are too many... And this is a crud.
But as i read a standard, i understand, the rules must be transitive.
As there's stated that if there is no explicit rule, we use implicit,
thus in this case requiring to rebuild foo.c. Then we apply the same
logic and get to foo.pc to foo.c implicit rule, no?

>  ...
>
> or you can add a .pc.lo rule that contains the commands from both other
> rules.  Or require a decent make.  ;-)
That was what i started with:) But as there were problems i was
advised to use .pc.c rule...

> Cheers,
> Ralf

-- 
«The good thing about standards is there are so many to choose from.»