group := kernel version_of = src/dvb src_rule = src/dvb-HEAD modules := b2c2-flexcop-pci budget budget-av budget-ci budget-patch cx18 m88ds3103 cx23885 cx24120 cx25821 cx25840 cx2341x cx88-dvb ddbridge dm1105 dvb-bt8xx dvb-ttpci earth-pt1 hopper ivtv ivtvfb mantis ngene pluto2 saa7134 saa7134-dvb saa7164 saa716x_budget saa716x_ff smsdvb stv0367dd tm6000-dvb tuner wm8775 zr36016 zr36050 zr36060 zr36067 videobuf-dma-sg altera-stapl rc-core tda18271 videobuf-dvb videobuf-core v4l2-common videodev altera-ci dvb-core btcx-risc tveeprom deps := libproc-processtable-perl include ../Makefile.default include ../Makefile.tools all: $(modul).$(suffix) clean: _clean rm -rf lib include rm -rf src/dvb.tgz src/dvb src/dvb-* $(modul): lib $(addon) $(MAKE) frontend echo "$(modules)" | sed 's/ /\n/g' | sort > $@/usr/share/dvb_modules.pci lib: src/dvb echo " Build dvb Modules" rm -rf $@ # mkdir -p $@/modules/$(KERNEL) $(MAKE) -C src/dvb $(MAKE) -C src/dvb media-install firmware_install DESTDIR=$$(pwd) include: src/dvb ln -fns src/dvb/linux/include $@ src/dvb: src/dvb-$(version) ../KERNEL/lib src/dvb_$(ARCH).config 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/dvb_$(ARCH).config $@/v4l/.config 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; \ $(MAKE) -C src/dvb clean; \ fi src/dvb-$(version): $(MAKE) -f ../Makefile.getfile version=$(version) file=src/$(name).tgz rule=$(src_rule) rm -rf $@ tar xf src/dvb.tgz -C src mv $(src_rule) $@ ln -fs $$(pwd)/../KERNEL/src/linux/include/linux/compiler.h $@/linux/include/linux/compiler.h ln -fs $$(pwd)/../KERNEL/src/linux/include/linux/compiler.h $@/linux/include/uapi/linux/compiler.h $(MAKE) patch src_path=$@ $(src_rule): hg clone http://linuxtv.org/hg/~endriss/media_build_experimental $@ if [ "$(version)" != "$(shell date +%Y.%m.%d)" ]; then \ (cd $@; hg up -d "<$(subst .,-,$(version))"); \ echo "download linux-media-$(subst .,-,$(version)).tar.bz2"; \ wget "http://www.linuxtv.org/downloads/drivers/linux-media-$(subst .,-,$(version)).tar.bz2" -O $@/linux/linux-media.tar.bz2; \ sed "s/\(hg clone .*\)/\\1; (cd \$$2; hg up -d '<$(subst .,-,$(version))')/" -i $@/experimental/add-drivers; \ else \ $(MAKE) -C $@ download; \ fi # cd src; patch -p1 < 01_powarmanrepo.prepatch $(MAKE) -C $@ untar find $@ -path '*/.hg' -exec rm -rf {} ';' || true 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" ] && grep -q symbol:$${modul}_attach lib/modules/$(KERNEL)/modules.symbols; 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