group := kernel version_of = src/dvb modules := b2c2-flexcop-pci budget budget-av budget-ci budget-patch cx23885 cx25821 cx25840 cx88-dvb ddbridge dm1105 dvb-bt8xx dvb-ttpci earth-pt1 hopper ivtv mantis ngene pluto2 saa7134 saa7134-dvb tuner wm8775 saa716x_budget saa716x_ff smsdvb tm6000-dvb deps := libproc-process-perl include ../Makefile.default include ../Makefile.tools all: $(modul).$(suffix) clean: _clean rm -rf lib include rm -rf src/dvb* $(modul): lib $(addon) $(MAKE) frontend mkdir -p $@/usr/share/dvb echo "$(modules)" > $@/usr/share/dvb/modules.pci lib: src/dvb echo " Build dvb Modules" rm -rf $@ $(MAKE) -C src/dvb $(MAKE) -C src/dvb install DESTDIR=$$(pwd) include: src/dvb ln -fs src/dvb/linux/include $@ src/dvb: src/dvb-$(version) ../KERNEL/lib rm -f $@ touch src/dvb-$(version) ln -sf dvb-$(version) $@ echo -e "$(indent)$(color_cyan)copy .config$(color_reset)" echo -e "$(indent)$(color_cyan) for module changes please edit dvb/src/.config$(color_reset)" cp src/.config $@/v4l if ! grep -sqe "KERNELRELEASE:=$(KERNEL)$$" src/dvb/v4l/.version; then \ $(MAKE) -C src/dvb release DIR=$$(pwd)/../KERNEL/src/linux; \ sed "s/KERNELRELEASE:=.*/KERNELRELEASE:=$(KERNEL)/" -i src/dvb/v4l/.version; \ ln -fs $$(pwd)/../KERNEL/src/linux/include/linux/compiler.h src/dvb/linux/include/linux/; \ $(MAKE) -C src/dvb clean; \ fi src/dvb-$(version): $(MAKE) -f ../Makefile.getfile file=src/$(name).tgz rule=src/dvb-HEAD rm -rf $@ tar xf src/dvb.tgz -C src mv src/dvb-HEAD $@ ln -fs $$(pwd)/../KERNEL/src/linux/include/linux/compiler.h $@/linux/include/linux/compiler.h $(MAKE) patch src_path=$@ src/dvb-HEAD: echo -e "$(indent)$(color_cyan)clone dvb driver$(color_reset)" hg clone http://linuxtv.org/hg/~endriss/media_build_experimental $@ echo -e "$(indent)$(color_cyan)download patches$(color_reset)" $(MAKE) -C $@ download echo -e "$(indent)$(color_cyan)install patches$(color_reset)" $(MAKE) -C $@ untar tar -caf $(file) -C $(@D) $(@F) rm -rf $@ frontend: grep -aorh --exclude="*\.svn*" -E "symbol:[^ ]*_attach" $(modul)/lib/modules/$(KERNEL)/kernel/drivers/media/* | sort -u | sed "s/.*:\(.*\)_.*/\1/" | sed "s/\(.*\)_attach.*/\1/" | while read modul; do \ file=`find lib/modules/$(KERNEL) -name $$modul.ko -printf "%P\n"`; \ if [ -z "$$file" ]; then \ modul=$$(grep symbol:$${modul}_attach lib/modules/$(KERNEL)/modules.symbols | cut -d " " -f 3 | sed "s/_/-/"); \ file=`find lib/modules/$(KERNEL) -name $$modul.ko -printf "%P\n"`; \ fi; \ if [ -z "$$file" ]; then \ echo -e "\t Frontend Modul nicht gefunden: $$modul.ko"; \ else \ if [ ! -e $(modul)/lib/modules/$(KERNEL)/$$file ]; then \ true || echo -e "\t Kopiere Frontend Modul: $$modul.ko"; \ fi; \ mkdir -p $(modul)/lib/modules/$(KERNEL)/$${file%/*}; \ cp -up lib/modules/$(KERNEL)/$$file $(modul)/lib/modules/$(KERNEL)/$$file; \ fi; \ done