Files
Arch-R/packages/linux-drivers/AF9035/build

48 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
cd $PKG_BUILD
[ -z "$OBJDUMP" ] && OBJDUMP=${TARGET_PREFIX}objdump
[ -z "$ECHO" ] && ECHO=/bin/echo
# fix some directives after unpacking
sed -i "s|KDIR = .*|KDIR = $(kernel_path)|" Makefile
sed -i "s|KSRC = .*|KSRC = \$KDIR|" Makefile
sed -i "s|KINS = .*|KINS = \./modules|" Makefile
make CC=$CC
# ultraman: Original build module doesn't depends on dvb-usb module
# How to fix that? For now let's just modify .modinfo section in kernel module
# and depmod will pick up appropriate dependend modules
cp dvb-usb-af9035.ko dvb-usb-af9035.ko_orig
$OBJDUMP -s -j .modinfo dvb-usb-af9035.ko_orig | awk 'BEGIN{v=0;} /Contents/ {v=1; next;} {if (v==1) print $0;}' >new.modinfo1
cat new.modinfo1 | cut -c7-41 | awk '{printf($0);}' | sed 's/ //g;s/../\\\x&/g;' >new.modinfo2
$ECHO -ne `cat new.modinfo2` >new.modinfo3
cat new.modinfo3 | tr '\000' '\n' | awk '/^depends=/ {next;} {print $0;}' | tr '\n' '\000' >new.modinfo4
$ECHO -ne "depends=dvb-usb\0" >>new.modinfo4
$OBJCOPY --remove-section=.modinfo --add-section=.modinfo=new.modinfo4 --set-section-flags .modinfo=contents,alloc,load,readonly,data dvb-usb-af9035.ko_orig dvb-usb-af9035.ko
rm new.modinfo*