diff options
Diffstat (limited to 'v4l/Makefile')
-rw-r--r-- | v4l/Makefile | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/v4l/Makefile b/v4l/Makefile new file mode 100644 index 000000000..e376afeb9 --- /dev/null +++ b/v4l/Makefile @@ -0,0 +1,151 @@ + +ifeq ($(obj),) +obj = . +endif + + +################################################# +# configuration + +include $(obj)/Make.config + +# symbol exports +export-objs := video-buf.o v4l1-compat.o v4l2-common.o +export-objs += ir-common.o +export-objs += bttv-if.o btcx-risc.o +export-objs += cx88-cards.o cx88-core.o + +# drivers objects +bttv-objs := bttv-driver.o bttv-cards.o bttv-risc.o bttv-if.o \ + bttv-vbi.o bttv-i2c.o +saa7134-objs := saa7134-core.o saa7134-i2c.o saa7134-video.o \ + saa7134-vbi.o saa7134-tvaudio.o saa7134-oss.o \ + saa7134-cards.o saa7134-ts.o +cx88xx-objs := cx88-cards.o cx88-core.o +cx8800-objs := cx88-video.o cx88-vbi.o cx88-tvaudio.o cx88-i2c.o +list-multi := bttv.o saa7134.o cx88xx.o cx8800.o + +# what to build +obj-m := video-buf.o v4l1-compat.o v4l2-common.o +obj-$(CONFIG_VIDEO_BTTV) += btcx-risc.o ir-common.o bttv.o +obj-$(CONFIG_VIDEO_CX88) += btcx-risc.o cx88xx.o cx8800.o +obj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa6752hs.o +obj-$(CONFIG_VIDEO_IR) += ir-common.o +obj-$(CONFIG_VIDEO_TUNER) += tuner.o tda9887.o +obj-$(CONFIG_VIDEO_TVAUDIO) += msp3400.o tvaudio.o tvmixer.o + +# 2.6-only stuff +ifeq ($(VERSION).$(PATCHLEVEL),2.6) + ifeq ($(CONFIG_VIDEO_BTTV),m) + bttv-objs += bttv-gpio.o + obj-$(CONFIG_VIDEO_IR) += ir-kbd-gpio.o ir-kbd-i2c.o + endif +endif + +# ir for saa7134 +ifeq ($(CONFIG_VIDEO_IR),m) + EXTRA_CFLAGS += -DCONFIG_VIDEO_IR=1 + saa7134-objs += saa7134-input.o +endif + + +################################################# +# compile modules + +ifneq ($(KERNELRELEASE),) +# recursive call from kernel build system +dummy := $(shell echo $(KERNELRELEASE) > $(obj)/.version) + +ifeq ($(VERSION).$(PATCHLEVEL),2.6) + export-objs := + list-multi := +else + multi-m := $(filter $(list-multi), $(obj-m)) + int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs))) + export-objs := $(filter $(int-m) $(obj-m),$(export-objs)) +endif + +CC += -I$(obj) +EXTRA_CFLAGS += -g + +snapshot := $(wildcard $(obj)/.snapshot) +ifneq ($(snapshot),) +SNAPSHOT_CFLAGS := -DSNAPSHOT='$(shell cat $(snapshot))' +EXTRA_CFLAGS += $(SNAPSHOT_CFLAGS) +endif + +bttv.o: $(bttv-objs) + $(LD) -r -o $@ $(bttv-objs) + +cx8800.o: $(cx8800-objs) + $(LD) -g -r -o $@ $(cx8800-objs) + +cx88xx.o: $(cx88xx-objs) + $(LD) -g -r -o $@ $(cx88xx-objs) + +saa7134.o: $(saa7134-objs) + $(LD) -g -r -o $@ $(saa7134-objs) + +-include $(TOPDIR)/Rules.make +else +# take version info from last module build if available +KERNELRELEASE := $(shell cat $(obj)/.version 2>/dev/null || uname -r) +endif + +KDIR := /lib/modules/$(KERNELRELEASE)/build +PWD := $(shell pwd) +DEST := /lib/modules/$(KERNELRELEASE)/$(MDIR) + +# which files to install? +inst-m := $(wildcard *.ko) +ifeq ($(inst-m),) + inst-m := $(obj-m) +endif + +# locales seem to cause trouble sometimes. +LC_ALL = POSIX +export LC_ALL + +default:: + $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules + +install:: + strip --strip-debug $(inst-m) + -su -c "mkdir -p $(DEST); cp -v $(inst-m) $(DEST); depmod -a" + +clean:: + -rm -f *~ *.o *.ko *.mod.c + -rm -f .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd + + +################################################# +# build tarballs + +thisdir := $(notdir $(PWD)) +name := $(shell echo $(thisdir) | sed 's/-.*//') +ver := $(shell echo $(thisdir) | sed 's/.*-//') +date := $(shell date +%Y%m%d) +tardest ?= . + +snapdir := $(HOME)/snapshot +snap ?= $(name) + +release: clean + rm -f .snapshot + (cd ..; tar cvzf $(tardest)/$(name)-$(ver).tar.gz $(thisdir)) + +snapshot snap tarball: clean + echo $(date) > .snapshot + (cd ..; tar czf $(snapdir)/$(snap)-$(date).tar.gz $(thisdir)) + $(MAKE) -C $(snapdir) + + +################################################# +# other stuff + +%.asm: %.o + objdump -S $< > $@ + +cardlists: + scripts/cardlist + |