[vdr] [PATCH v3] Gather necessary options for build in Make.global and include it.

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Sat Feb 6 13:17:25 CET 2010


On 29.01.2010 15:19, Paul Menzel wrote:
> Without this patch, if some options in `Makefile` were set outside `Makefile` and no `Make.config` existed with the necessary options, builds could fail. [1][2][3]
> 
> Therefore include strictly necessary options in `Make.global` and include this in all the Makefiles before `Make.config`.
> 
> [1] http://www.linuxtv.org/pipermail/vdr/2009-July/020977.html
> [2] http://www.linuxtv.org/pipermail/vdr/2009-December/021807.html
> [3] http://www.linuxtv.org/pipermail/vdr/2010-January/022235.html
> 
> v2: Use `include` instead of `-include` to get a warning/error if it is not present. [4]
> v3: Change according to Frank’s comments [5].
>  • Delete options set in `Make.global` from other Makefiles.
>  • Leave adding `-fPIC` to `C[XX]FLAGS` in `Make.config.template` as the flags get reset including `Make.config`.
>  • Modify `newplugin`.
> 
> [4] http://www.gnu.org/software/make/manual/make.html#Include
> [5] http://www.linuxtv.org/pipermail/vdr/2010-January/022243.html
> 
> Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
> ...
> --- a/PLUGINS/src/dvbsddevice/Makefile
> +++ b/PLUGINS/src/dvbsddevice/Makefile
> @@ -18,7 +18,11 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
>  ### The C++ compiler and options:
>  
>  CXX      ?= g++
> -CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
> +CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
> +
> +### Make sure that necessary options are included:
> +
> +include $(VDRDIR)/Make.global
> ...

This fails when doing

  make clean-plugins

make[1]: Entering directory `/home/kls/vdr/VDR/PLUGINS/src/dvbsddevice'
Makefile:25: /Make.global: No such file or directory
make[1]: *** No rule to make target `/Make.global'.  Stop.
make[1]: Leaving directory `/home/kls/vdr/VDR/PLUGINS/src/dvbsddevice'

Apparently $(VDRDIR) is not yet defined at that point.

> ... 
> diff --git a/newplugin b/newplugin
> index 52ef72e..6c9be35 100755
> --- a/newplugin
> +++ b/newplugin
> @@ -77,7 +77,11 @@ VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{
>  ### The C++ compiler and options:
>  
>  CXX      ?= g++
> -CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
> +CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
> +
> +### Make sure that necessary options are included:
> +
> +include $(VDRDIR)/Make.global

I assume this last line should read

+include \$(VDRDIR)/Make.global


Please provide a revised (and tested ;-) patch.

Klaus



More information about the vdr mailing list