/packages/linux-drivers/a867_drv/build

http://github.com/OpenELEC/OpenELEC.tv · Shell · 42 lines · 13 code · 6 blank · 23 comment · 2 complexity · 4ca4322b85938f802baa4b3a2265b155 MD5 · raw file

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