I've been doing things with Make.config too, and would like it to be
available again. My plugins usually followed this pattern:
-include $(VDRDIR)/Make.global
-include $(VDRDIR)/Make.config
-include Make.config
so you always had the chance to have optional control without patching
makefiles.
The global Make.config had lines like this:
ifeq ($(PLUGIN),someplugin)
...
endif
to do build configuration for some plugins, or to force-off some
warnings or fix certain compile issues, or even add
distribution-specific quirks. (building for different debian releases
from same source)
So I'm in for a central method to do configuration, and not having to
patch every plugin makefile and distribute several local Make.config files.
Am 25.12.2012 21:07, schrieb Klaus Schmidinger:
On 25.12.2012 20:47, Reinhard Nissl wrote:
1.) there is a need for a common make configuration file for both VDR and plugins.
No, only for *plugins*!
VDR itself will have nothing to do with this file!
Should be ok to have an Make-plugin.config, as long as all vdr relevant
options from Make.config get passed on into vdr.pc and can be re-read by
the plugin. Directly accessing Make.config is way easier than
reconstructing it, though. Speaking of all, I wonder whether some plugin
out there used PREFIX or MANDIR, these are now off-limits.
Oh, and by the way, with introducing $(CWD) some previously relative
paths got hard coded, so moving these builds around or accessing them
from different mount points might now be broken. For example, my default
lib dir changed from ./PLUGINS/lib to
/usr/src/pc/vdr/vdr-1.7.34/PLUGINS/lib, which only makes sense within a
single virtual machine that cannot even run VDR at all. I'll have to add
some overrides for that.
Also, this needs some thoughts on compatibility, as I prefer to provide
ONE source code package, no matter what VDR version it is for. I won't
support X different plugin versions for Y different VDR versions. Don't
make me choose between dropping pre-1.7.34 or post-1.7.33, you might not
like the outcome. Right now, the old Makefiles luckily just do compile
after all.
I suggest to put the lines
PLGCFG ?= /etc/vdr/plugins.conf
-include $(PLGCFG)
into each plugin's Makefile and that's it.
Please, prettyprettyprettyplease NOT /etc. Source code should compile
from within its source folder, and not interfere with global
configuration. I don't want to sudo scripts that prepare sources for
compiling, and I want multiple source codes in parallel to build
independently, without swapping files in /etc each time.
Am 26.12.2012 15:54, schrieb Manuel Reimer:
then just add your options to your "Make.config" as you did in the
past, but prefix them with an "export ". Something like:
export PLUGIN_OPTION = "any_value"
This way the options reach the plugin Makefiles if you do your "make
plugins" as the global VDR Makefile exports the value.
Especially for development, make plugins is waaay to heavyweight. Until
now it was easily possible to enter the plugin source directory and just
do an make all. (for my plugins, even a simple make will do.)
Your suggestion depends on passing through VDR's makefile first to
realize these options.
Cheers,
Udo
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr