[vdr] New Makefile system

Lucian Muresan lucianm at users.sourceforge.net
Wed Mar 27 18:40:01 CET 2013


On 26.03.2013 17:19, Manuel Reimer wrote:
> Lucian Muresan wrote:
>> So it does on Gentoo, but the problem was with various plugin makefiles
>> actually, which claimed to be "new style" but for whatever reason the
>> persons who adapted them to the new style removed including $(PLGCFG) or
>> circumvented it by mistake.
> 
> *Wrong way* to fix this! If the "extension patch" requires plugins to
> get the DEFINES, then it should patch the VDR Makefile to forcefully add
> them to vdr.pc, so Plugin-Makefiles get them even if no "PLGCFG" is used.

The Gentoo Gentoo VDR maintainer eventually fixed it in _some_ way
achieving this (don't think there is only *your* solution to the
problem, by fixing the makefile), namely have the DEFINES listed in the
flags in vdr.pc.

Your definition of *wrong way* holds only in the unfortunately now
already established scenario that everyone is free to use the template
plugin makefile generated by the newplugin script solely as an
orientation, and omit anything which doesn't *seem* to break things in
his own use case, and of course, the use case "make LCLBLD=1". So while
the new makefile system as a whole (with vdr.pc and so) _is indeed
better_ than the old one, it just still allows too many possibilities
for the plugin developer to break things for others [1], or even to get
himself into some trouble [2], or just be lazy and not provide complete
install targets [3].

So I just want to fight this fake belief which some people (I do not
mean Klaus by that, who did not make this up by himself, but responded
to and consulted people) try to establish, that the new makefile system
is near to perfect and covers everything. I'm also not with those people
who denigrate it entirely, just wanted to say it has some flaws, it
should be allowed to do so without being slapped by every second reply,
and can only re-iterate that I'm sorry I did not have the time to tell
my opinion earlier.

Best regards, looking forward for the 2.1 series...
Lucian


[1] the already discussed DEFINES situation;

[2] for example, an empty LIBS variable, also used in the correct order
(after OBJS) in the final link statement, just for the case that a
plugin have use them, it could have spared some authors of putting it in
wrong order and then wonder about unresolved symbols;

[3] completely missing usage of RESDIR which also can be read out of
vdr.pc and any sample commented out target using it, that way many
plugin authors continue just to ignore it even if their plugin actually
comes with lots of non-program files we all call resources, which have
to be installed under a certain pattern, only modifiable by the RESDIR
variable. Could continue with CACHEDIR, but that applies to less
plugins... You will say this is up to packagers, but actually since
there are these modifiable variables, and also some files have to comply
to a certain directory pattern, this can be well prepared by the plugin
author, it's only about his plugin, and the packagers just have to
divert those variables specific to their distribution and the plugin
would still work without further modifications, and not fight with doing
missing targets for so many plugins...




More information about the vdr mailing list