diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-04 05:17:58 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-04 05:17:58 -0300 |
commit | 60f499c58b5e9b8f97444123f1860f727a72cee4 (patch) | |
tree | 213e8d44352f8e461d713a32e539e829940f039b /v4l/Makefile.kernel | |
parent | 093aa9a5ddcc2707db1816f8efe523a782d85e7e (diff) | |
download | mediapointer-dvb-s2-60f499c58b5e9b8f97444123f1860f727a72cee4.tar.gz mediapointer-dvb-s2-60f499c58b5e9b8f97444123f1860f727a72cee4.tar.bz2 |
New system for building kernel's config programs
From: Trent Piepho <xyzzy@speakeasy.org>
Since v4l-dvb now uses the kernel's config system, it needs certain kernel
binaries like qconf, mconf, and lxdialog to run the config targets. The
kernel's Makefile is not kind enough to give us a target to just build these
programs. What this patch does is introduce a new makefile,
Makefile.kernel, which includes the kernel's top-level Makefile. Then adds
some new "v4l-*" targets which just build the kernel config programs.
The main v4l Makefile is patched to add the necessary kernel conf programs
as dependencies to their respective config targets. Rules to build the
kernel conf programs are added which invoke a sub-make with the new
Makefile.kernel. These rules are only invoked when the kernel conf programs
needed don't yet exist. If they already exist, no write access to the
kernel source tree is needed.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'v4l/Makefile.kernel')
-rw-r--r-- | v4l/Makefile.kernel | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/v4l/Makefile.kernel b/v4l/Makefile.kernel new file mode 100644 index 000000000..b01c17f55 --- /dev/null +++ b/v4l/Makefile.kernel @@ -0,0 +1,46 @@ +# This Makefile is used to build sources that are part of the kernel tree. +# What we want are the various programs used by the kconfig system. We can't +# just directly call the top-level kernel Makefile, as it doesn't provide +# targets to only build the kconfig system. It provides targets to build +# the kconfig system *and then configure the kernel*. + +# What we do is include the top-level kernel Makefile here, to get all the +# variables and rules it defines, and then add our own targets to just build +# the kconfig system. You can think of this file as a modified version of the +# top-level kernel Makefile that has "kconfig build only" targets added to it. +# Each of these new targets has the prefix v4l- so it doesn't conflict with +# any targets in the kernel Makefile. + +# Like the kernel Makefile, this Makefile should have the cwd be the root +# of the kernel source. + +# These should be defined on the command line, to override the kernel Makefile +# config-targets := 1 +# mixed-targets := 0 +# dot-config := 0 + +include Makefile + +# Used by the config target +v4l-conf: scripts_basic + $(MAKE) $(build)=scripts/kconfig scripts/kconfig/conf + +# Used by the xconfig target +v4l-qconf: scripts_basic + $(MAKE) $(build)=scripts/kconfig qconf-target=1 scripts/kconfig/qconf + +# Used by the qconfig target +v4l-gconf: scripts_basic + $(MAKE) $(build)=scripts/kconfig gconf-target=1 scripts/kconfig/gconf + +# Used by the menuconfig target, also needs lxdialog +v4l-mconf: scripts_basic + $(MAKE) $(build)=scripts/kconfig scripts/kconfig/mconf + +# Rule used for kernel where lxdialog is in directory scripts/lxdialog +v4l-%/scripts/lxdialog/lxdialog: scripts_basic + $(MAKE) $(build)=scripts/lxdialog + +# Rule used for kernel where lxdialog is in directory scripts/kconfig/lxdialog +v4l-%/scripts/kconfig/lxdialog/lxdialog: scripts_basic + $(MAKE) $(build)=scripts/kconfig/lxdialog |