1#
2# Makefile for the video capture/playback device drivers.
3#
4# Note! Dependencies are done automagically by 'make dep', which also
5# removes any old dependencies. DON'T put your own dependencies here
6# unless it's something special (ie not a .c file).
7#
8# Note 2! The CFLAGS definitions are now inherited from the
9# parent makes..
10#
11
12# Object file lists.
13
14obj-y		:=
15obj-m		:=
16obj-n		:=
17obj-		:=
18
19SUB_DIRS     :=
20MOD_SUB_DIRS := $(SUB_DIRS)
21ALL_SUB_DIRS := $(SUB_DIRS)
22
23O_TARGET := video.o
24
25# All of the (potential) objects that export symbols.
26# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
27
28export-objs     :=	i2c-old.o videodev.o bttv-if.o cpia.o
29
30list-multi	:=	bttv.o zoran.o
31bttv-objs	:=	bttv-driver.o bttv-cards.o bttv-if.o
32zoran-objs      :=	zr36120.o zr36120_i2c.o zr36120_mem.o
33
34obj-$(CONFIG_VIDEO_DEV) += videodev.o
35
36obj-$(CONFIG_BUS_I2C) += i2c-old.o
37obj-$(CONFIG_VIDEO_BT848) += bttv.o msp3400.o tvaudio.o \
38	tda7432.o tda9875.o tda9887.o tuner.o
39obj-$(CONFIG_SOUND_TVMIXER) += tvmixer.o
40
41obj-$(CONFIG_VIDEO_ZR36120) += zoran.o i2c-old.o
42obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o i2c-old.o
43obj-$(CONFIG_VIDEO_SAA5249) += saa5249.o
44obj-$(CONFIG_VIDEO_CQCAM) += c-qcam.o
45obj-$(CONFIG_VIDEO_BWQCAM) += bw-qcam.o
46obj-$(CONFIG_VIDEO_W9966) += w9966.o
47obj-$(CONFIG_VIDEO_ZORAN) += zr36067.o i2c-old.o
48obj-$(CONFIG_VIDEO_ZORAN_BUZ) += saa7111.o saa7185.o
49obj-$(CONFIG_VIDEO_ZORAN_DC10) += saa7110.o adv7175.o
50obj-$(CONFIG_VIDEO_ZORAN_LML33) += bt819.o bt856.o
51obj-$(CONFIG_VIDEO_PMS) += pms.o
52obj-$(CONFIG_VIDEO_PLANB) += planb.o
53obj-$(CONFIG_VIDEO_VINO) += saa7191.o indycam.o vino.o
54obj-$(CONFIG_VIDEO_STRADIS) += stradis.o i2c-old.o
55obj-$(CONFIG_VIDEO_CPIA) += cpia.o
56obj-$(CONFIG_VIDEO_CPIA_PP) += cpia_pp.o
57obj-$(CONFIG_VIDEO_CPIA_USB) += cpia_usb.o
58obj-$(CONFIG_VIDEO_MEYE) += meye.o
59obj-$(CONFIG_VIDEO_SWARM_7114H) += swarm_saa7114h.o
60obj-$(CONFIG_TUNER_3036) += tuner-3036.o
61
62# Extract lists of the multi-part drivers.
63# The 'int-*' lists are the intermediate files used to build the multi's.
64
65multi-y         := $(filter $(list-multi), $(obj-y))
66multi-m         := $(filter $(list-multi), $(obj-m))
67int-y           := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
68int-m           := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
69
70# Files that are both resident and modular: remove from modular.
71
72obj-m           := $(filter-out $(obj-y), $(obj-m))
73int-m           := $(filter-out $(int-y), $(int-m))
74
75# Take multi-part drivers out of obj-y and put components in.
76
77obj-y           := $(filter-out $(list-multi), $(obj-y)) $(int-y)
78
79include $(TOPDIR)/Rules.make
80
81fastdep:
82
83zoran.o: $(zoran-objs)
84	$(LD) $(LD_RFLAG) -r -o $@ $(zoran-objs)
85
86bttv.o: $(bttv-objs)
87	$(LD) $(LD_RFLAG) -r -o $@ $(bttv-objs)
88