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