summaryrefslogtreecommitdiff
path: root/INSTALL
blob: 0b2f4c0bcefad34db512658f50aea0a45d338ac9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
Mauro Carvalho Chehab                                   2006 Apr 26

V4L/DVB building procedures are based at the use of Makefile rules.
Those rules are close to the ones at Linux Kernel, to allow an easier
usage.

=======================================================================
Quick building procedure is:
	make all
======================================================================

For those who may want more than just build all stuff there are some
other interesting parameters to make:

======================
Normal building rules:
all		- build all modules

clean		- Cleans compiled files from the tree,
		  but keeping the latest
		  used configuration and kernel version

distclean	- Cleans compiled files from the tree,
		  latest used configuration and kernel
		  version.

default		- Continues building the latest module selection
		  This is the behavior when just typed:
			make

install		- Installs all modules at kernel's default dir
		  for V4L/DVB. Requires root access.

man_install	- Install V4L2 API man pages.

rminstall	- cleans previous installations of V4L/DVB modules

sound-install	- installs the sound modules related to V4L/DVB
		  tree.

======================
Firmware rules:

firmware	- Create the firmware files that are enclosed at the
		  tree.
		  Notice: Only a very few firmwares are currently here

firmware_install- Install firmware files under /lib/firmware

======================
Documentation rules:
v4l2-spec	- Creates V4L2 API specification

dvb-spec	- Creates DVB API specification

spec		- Creates both V4L and DVB API specification

man		- Creates V4L2 API man pages

=======================
Module selection rules:
(Those may require write access to kernel tree)

allmodconfig	- Called by make all. Selects all modules that are known
		  to compile against the kernel version used.

xconfig		- Generate a xconfig menu. Requires full
		  kernel source, since it depends on kernel's
		  qconf stript;

gconfig		- Generate a qt menu. Requires full
		  kernel source, since it depends on kernel's
		  gconf stript;

config		- Generate a text-mode menu. Requires full
		  kernel source, since it depends on kernel's
		  conf stript;

menuconfig	- Generate a ncurses menu. Requires full
		  kernel source, since it depends on kernel's
		  mconf and lxconfig stripts;

release		- Allows changing kernel version.
		  Typical usage is:
			make release VER=2.6.12-18mdk
			(to force compiling to 2.6.12-18mdk)
			(This will work only if
			 /lib/modules/2.6.12-18mdk/build/
			 points to that kernel version)
		  Or
			make release DIR=~/linux-git
			(to force using kernel at a specific dir)
		  To use current kernel version instead:
			make release

======================
Module handling rules:
(require root access)

insmod		- inserts all modules from V4L/DVB tree

rmmod		- removes all modules from V4L/DVB tree

reload		- removes then reinserts all modules

===================
Tree merging rules:

ivtv		- enable merged ivtv build, using the latest ivtv sources
		  from ivtvdriver.org (requires subversion)

cx88-ivtv	- enable cx88-blackbird ivtv API emulation

ivtv-update	- update ivtv sources from ivtvdriver.org

==========================================
Patch preparation and tree handling rules:
(used by developers)

kernel-links	- Generate links to V4L/DVB at kernel tree.
		  Requires write access to kernel tree.

cardlist	- Updates Documentation/video4linux/CARDLIST.*

update		- updates the tree from master repository

commit		- commits the change, asking for a commit msg

push		- sends outgoing stuff to master repository

checkemacs	- checks codingstyle and reports to emacs
		  using "make checkemacs" at emacs compile menu,
		  will report the lines with errors inside emacs.

checkpatch	- checks codingstyle and reports using the same
		  format as c. This way, c error parsers will
		  handle it.

checkterse	- checks codingstyle and reports using terse
		  syntax, used on several compilaton tools.

mismatch	- checks for linker section mismatch. In other words,
		  check if some driver has functions not properly
		  declared with __init/__exit, and similar tags.
		  It will also be more pedantic by dealing with
		  compilation warnings as if they are errors.