summaryrefslogtreecommitdiff
path: root/v4l/Makefile
AgeCommit message (Collapse)Author
2007-06-01Improve compatibility handlingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB tree keeps backward compatibility with vanilla 2.6.x kernels. However, if some API changes happens on 2.6.x.y, this wouldn't be handled. This patch improves the compatibility capabilities of the tree by allowing customized scripts to be added on make_config_compat.pl. So, when generating config-compat.h, some compat checks can be done against the kernel tree. The practical effect is allowing compilation on 2.6.17.x trees, used by several distros, where some changes on netdevice.h affects dvb-net, stopping its compilation. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-01Reverting last changeset. There were two different patches merged togetherMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-01saa7134-tvaudio: kthread conversionMauro Carvalho Chehab
From: Christoph Hellwig <hch@lst.de> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Acked-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-07build: speed up link creationTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Everytime a build is started, the build system creates links to every single source file from the v4l directory. This patch changes the command used, to one that is about 15x faster. When building just one file, the creating the links could take the majority of the total build time. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-02-27build: Have "make clean" delete Module.symversTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> If Module.symvers is kept around, modpost will think symbols from previous builds are still defined when in the current build they are not. This leads to undefined symbol warnings getting masked. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-02-26Add ivtv driver for the Conexant cx23416/cx23415 MPEG encoder/decoderHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It took three core maintainers, over four years of work, eight new i2c modules, eleven new V4L2 ioctls, three new DVB video ioctls, a Sliced VBI API, a new MPEG encoder API, an enhanced DVB video MPEG decoding API, major YUV/OSD contributions from Ian and John, web/wiki/svn/trac support from Axel Thimm, (hardware) support from Hauppauge, support and assistance from the v4l-dvb people and the many, many users of ivtv to finally make it possible to merge this driver into the kernel. Thank you all! Signed-off-by: Kevin Thayer <nufan_wfk@yahoo.com> Signed-off-by: Chris Kennedy <c@groovy.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: John P Harvey <john.p.harvey@btinternet.com> Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
2007-02-19compat: Add -include linux/version.h to cflagsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add -include linux/version.h to the cflags. Now code can have backward compatibility test without including compat.h first. Linux headers included from compat.h are removed, so that code will get the same headers when compiling in v4l-dvb as it does in the kernel. Many drivers have compat.h moved to the end of their include list, as this lets compat.h do things it can't do at the beginning. Such as test of something is defined to include compat code, or to put a wrapper around a function without changing the function's name. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-01-30include config-compat.h with gcc -include commandTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The kernel's config settings from autoconf.h are overridden by the file config-compat.h, which is included from compat.h. Code compiled before compat.h is included will see the kernel's settings, while code compiled after will see v4l-dvb's version of the settings. This has caused hard to track down bugs on more than one occasion. Always including compat.h first will not work, as some of the compatibility code requires that certain kernel headers be included first in order to work correctly. This patch makes config-compat.h be included second (after the kernel's autoconf.h) for every file by using a gcc "-include" command line option, the same way the kernel autoconf.h file is included. This should eliminate the problem of config-compat.h not being included in the right spot. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-12-21Support kernels where make menuconfig doesn't need lxdialogTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> make menuconfig used to need to build two kernel configuration programs, mconf and lxdialog. In 2.6.19-rc1, this was changed so there no longer was a separate lxdialog binary, it was integrated into mconf. This adapts the v4l-dvb Makefile to check for lxdialog/Makefile, if it's not present then no lxdialog binary needs to be built. The rules and dependencies on lxdialog will be omitted from the v4l-dvb Makefile in that case. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-11-29Fix broken "make gconfig" commandMichael Krufky
From: Darren Salt <linux@youmustbejoking.demon.co.uk> Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-11-19Use linux/autoconf.h instead of linux/config.hTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> linux/config.h has been deprecated for some time and is now gone. Switch to using linux/autoconf.h, which is where the config defines have been since at least 2.4 anyway. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-10-17use www.ivtvdriver.org for v4l-dvb + ivtv virtual mergeMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> ivtvdriver.org is no longer working... but www.ivtvdriver.org still works. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-09-03Keep rules in v4l/Makefile from confusing kernelTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> v4l/Makefile not only calls the kernel Makefile to do the module building, but it is in turn included by the kernel Makefile. This means _all_ the rules in v4l/Makefile get used by the kernel Makefile when it tries to build the modules. Some of these rules, for files like .config, Kconfig, .version, confuse the kernel building process. The kernel make thinks, "I need to remake _my_ Kconfig file because my .version file is out of date." But that rule was never supposed to be used by the kernel, it is just for v4l! This is fixed by putting $(obj) in front of all these files' rules. That way the kernel will never think the rules refer to its files and try to use them. Really, this whole business of having the kernel Makefile include v4l/Makefile is rather complex. It might be a good idea to create v4l/Kbuild, which the kernel will use in preference to v4l/Makefile, so that we don't have to worry about v4l/Makefile getting used in two different contexts. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-09-01Fix compilation of modules that need OSS headersTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Create a symlink, v4l/oss, that points back to the v4l directory. This way code that includes "oss/something.h" will find the header files it wants (which has been linked to from v4l). The link will be created only if it doesn't exist and deleted by distclean. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-08-31Handle updating .config and Kconfig betterTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Both .config and Kconfig are created at the same time by the same program, make_kconfig.pl. make does not understand the concept of a program which creates two targets and cannot handle this properly. Everything works with this patch, but in some cases make -j will run make_kconfig.pl twice at the same time. This works, one script will just overwrite the output of the other, but it looks bad. Without make -j, everything works as it should and make_kconfig.pl isn't run more than it needs to be. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-08-31Remove links dependency from targets that don't need itTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> links is a phony target, so it is always remade. The config targets don't need the source links, so there is no need for them to have links as a depenedency. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-08-31Re-write make_makefile.pl, re-work v4l/MakefileTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The make_makefile.pl script is re-written. The old one was nasty. This one will correctly handle Makefile lines that are continued with a backslash. It will also generate a dependency list of the Makefile used to create Makefile.media. This way if any change, Makefile.media will be automatically re-made by make. The whole business where make_makefile.pl would call make_kconfig.pl is removed. The underlying logic of the main Makefile is completely changed. Make has a feature where it will make sure any included files are up-to-date, and then restart itself if any were updated. We now take advantage of this feature. Detect when make is building only targets which do not need include files like .myconfig or Makefile.media, and don't include them in those cases. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-08-31Create dependencies for Kconfig fileTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add the ability to the make_kconfig.pl script to create a file named ".kconfig.dep" which can be included in a Makefile and defines the dependencies of the v4l/Kconfig file. That is, all the individual Kconfig files that were used to make it. Added a rule to v4l/Makefile to remake Kconfig when needed, and include .kconfig.deps to get Kconfig's dependencies. Adjust the config targets so that they depend on Kconfig, rather than including the commands to create Kconfig in the config targets' scripts. The config targets no longer depend on .version, as they don't need it themselves. Rather, it's Kconfig that needs .version, so it's made one of Kconfig's dependencies. Add Kconfig as a dependency to .myconfig, it should be there since the make_myconfig.pl script uses Kconfig. Now if you change any of the Kconfig files, the v4l/Kconfig file will automatically get remade. This will in turn cause .myconfig to be re-made, and any new options will appear in .myconfig (turned off). Ideally this should trigger some kind of oldconfig system to update .config. Fix the .version rule so that instead of re-creating .version every time, it is only created when it didn't already exist. Since Kconfig depends on .version, it was getting re-created every time too. If .version existed, it would just get re-created to the same thing anyway. Stop echoing the echo srcdir command itself and don't echo anything if SRCDIR is blank. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-08-31Allow compilation of the audio driversMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Now, make will compile also the audio drivers at the tree. By default, they will not be installed. A new option were added to install those files: make sound-install Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-02Added cross-dependecy check at the end of compilation cycleMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-15Make snapshot now working fine with hgMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This will allow generating periodic snapshots of the tree. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-23Break make release into several lines keeping it work with make 3.81Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Also, fixes a trouble with make 3.81 introduced by the latest patch. make 3.81 doesn't work fine with something like: 'foo'\ It should be, instead: 'foo' \ Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-23Have config-compat.h, undefine options turned offMauro Carvalho Chehab
From: Trent Piepho <xyzzy@speakeasy.org> Use a (make 3.81 safe!) in-line perl script to generate config-compat.h from .myconfig. The output will be more like the Kernel's output: Options set to 'm' will define CONFIG_WHATEVER_MODULE to 1, rather than define CONFIG_WHATEVER to m. Options set to 'y' to be defined to 1 instead of y. Options that are off will be #undef'ed, rather that omitted, so that they will override the settings from the kernel autoconf.h file. The last change will fix a problem where certain options, like CinergyT2 tuning and AV7110 firmware, wouldn't work properly if they were on in the kernel but off for v4l-dvb Hg. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-22The new POSIX backslash behavior on GNU make 3.81 breaks make releaseMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> On make 3.81, backslash isn't removed anymore when inside of a single quotted string. This makes make release to fail, since perl won't understand the backslash. This patch just make all script into one line. Bad to understand, but, at least, it will work fine with both GNU make 3.80 and make 3.81. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-21Some cleanups at the release scriptMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-21Some improvements at the building systemMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Building system now looks kernel config.h and autoconf.h files, seeking for the compiled options at kernel. If something is missing, it will disable compilation for that driver, printing a warning message. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-21merge: masterMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-21Fixes circular dependencies at building systemMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> There were a circular dependency at scripts/make_makefile.pl that were affecting mostly building with GNU make 3.81. Also, scripts/make_noconfig.pl is, in fact, building .myconfig file, so, better to name it as make_myconfig.pl. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-20Adjust distclean target to clean a few more filesMauro Carvalho Chehab
From: Trent Piepho <xyzzy@speakeasy.org> distclean was not cleaning the v4l/.myconfig file, or the symlinks made for the lxdialog program. This caused problems especially if you were switching between different kernel versions for testing. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-17Fix problems with AV7110 firmware buildingMauro Carvalho Chehab
From: Trent Piepho <xyzzy@speakeasy.org> Fix missing $() on variable name in dvb/ttpci/Makefile, prevented AV7110 firmware from building. Remove unnecessary and problematic defines in cflags from v4l/Makefile, they conflict with the kernel's autoconf.h and are are overridden by v4l/config-compat.h anyway. Fix AV7110 firmware dependencies so that parallel builds work correctly. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-08insmod.sh were replaced by a perl script (rmmod.pl)Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> insmod.sh were a hack, were somebody should check all dependencies for each module. Several dependencies were mising, and, to keep it updated for 178 modules is really hard. rmmod.pl is a "smart" script: it does: 1) Check, for each found module on v4l, the correct order for each module; 2) Check any dependencies for out-of-tree modules; 3) rmmod/insmod at the correct order; 4) It have a table with the suggested debug parameter for each module. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-04New system for building kernel's config programsMauro Carvalho Chehab
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>
2006-05-08fix warning: extra tokens at end of #undef directiveMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-05-07fix ability to pass compile-time build options when building from the hg repoMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> When building in-kernel, compile-time build options are passed into the compiler using '#include <linux/config.h>' . This file #include's <linux/autoconf.h> , which is created on the fly by the kbuild system. However, this does not work correctly when building from the mercurial repository, since the kernel is built indepentently of v4l/.myconfig This creates a "config-compat.h", which will be #include'd by compat.h and will emulate <linux/config.h> for the local build. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-04-28Improved make release method to allow compiling against an arbitrary dirMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Now, with make DIR=<foo>, it is possible to compile V4L/DVB with a non-installed dir. This will allow better checking on compatibility issues (especially for -git tree) Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-27Fixed a bug at make menuconfigMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-27Fix building when no .version is foundMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Makefile.media requires first .version. Fixed. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-27move install / rminstall invocation rules to v4l/MakefileMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This patch moves the 'make install' and 'make rminstall' rules into the central Makefile. This allows for us to assign dependencies to these rules, so that modules built as a reult of a tree-merge don't have to be installed separately. Now, instead of doing 'make install && make ivtv-install', the simple command, 'make install' will call the sub-install rules and take care of the entire task. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-04-26The latest patch partially reverted some changes. fixing it.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-26Cleaned an obsoleted ruleMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-26Some improvements at MakefileMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Included a INSTALL file make help shows the INSTALL file added make release to force compiling against a specified version Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-26Added some tests at build system to avoid rebuilding kernel stuffMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Now, make will first check for the presense of *conf and lxconfig. if already found at kernel tree, it will use without recompiling. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-26merge: mkrufky build treeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-25Improves V4L/DVB in-tree buildingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Now, make_kconfig.sh will check for boolean/tristate config vars and handle it properly. Also, make allyesconfig/allmodconfig will use make_kconfig.sh to generate .myconfig instead of conf -m. This way, make all will not require priviledges at kernel tree. write access to kernel tree is still required for make menuconfig/ make xconfig/make qconfig. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-25remove redundant EXTRA_CFLAGS setting in Makefile for CONFIG_VIDEO_ADV_DEBUGMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The EXTRA_CFLAGS complile-time options are determined by kbuild. CONFIG_VIDEO_ADV_DEBUG is set in drivers/media/video/[Makefile|Kconfig]. Setting this flag in the local Makefile is redundant. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-04-25remove redundant EXTRA_CFLAGS from local Makefile for pvrusb2Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The EXTRA_CFLAGS complile-time options for pvrusb2 are determined by kbuild, and are set in drivers/media/video/pvrusb2/[Makefile|Kconfig]. Setting these flags in the local Makefile is redundant. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-04-25remove forced dvb frontend module dependencies left around from old build methodMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-04-22Adds capability to build conf/mconf/qconf/lxdialog at kernel treeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch adds v4l makefile capabilities to build kernel config required files to allow make menuconfig/xconfig/gconfig to work. After this patch, menu support is more smooth. Of course, root privileges are required to build those stuff. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-12fix ivtv virtual merge build and installMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The merged ivtv build functionality was lost in the new build configuration. This patch restores the build and install functionality for both ivtv and cx88-ivtv. make ivtv enable merged ivtv build make cx88-ivtv enable cx88-ivtv emulation mode for cx88-blackbird make ivtv-up update ivtv sources using subversion make ivtv-install install modules make ivtv-rminstall remove modules Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-04-09From: Mauro Carvalho Chehab <mchehab@infradead.org>Mauro Carvalho Chehab
Now, "make clean" only removes the intermediate files and keeps the .config avoiding need to reconfigure all stuff. To cleanup all config, "make distclean" is provided. Thanks-to: C.Y.M <syphir@syphir.sytes.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>