dahdi-linux.mk 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. ################################################################################
  2. #
  3. # dahdi-linux
  4. #
  5. ################################################################################
  6. DAHDI_LINUX_VERSION = 3.3.0
  7. DAHDI_LINUX_SITE = \
  8. http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases
  9. # We need to download all those firmware blobs ourselves, otherwise
  10. # dahdi-linux will try to download them at install time.
  11. DAHDI_LINUX_FW_SITE = http://downloads.digium.com/pub/telephony/firmware/releases
  12. DAHDI_LINUX_FW_FILES = \
  13. dahdi-fwload-vpmadt032-1.25.0.tar.gz \
  14. dahdi-fw-oct6114-032-1.05.01.tar.gz \
  15. dahdi-fw-oct6114-064-1.05.01.tar.gz \
  16. dahdi-fw-oct6114-128-1.05.01.tar.gz \
  17. dahdi-fw-oct6114-256-1.05.01.tar.gz \
  18. dahdi-fw-tc400m-MR6.12.tar.gz \
  19. dahdi-fw-hx8-2.06.tar.gz \
  20. dahdi-fw-vpmoct032-1.12.0.tar.gz \
  21. dahdi-fw-te820-1.76.tar.gz \
  22. dahdi-fw-te133-7a001e.tar.gz \
  23. dahdi-fw-te134-780017.tar.gz \
  24. dahdi-fw-a8b-1f001e.tar.gz \
  25. dahdi-fw-a8a-1d0017.tar.gz \
  26. dahdi-fw-a4b-d001e.tar.gz \
  27. dahdi-fw-a4a-a0017.tar.gz \
  28. dahdi-fw-te435-13001e.tar.gz \
  29. dahdi-fw-te436-10017.tar.gz
  30. DAHDI_LINUX_EXTRA_DOWNLOADS = \
  31. $(patsubst %,$(DAHDI_LINUX_FW_SITE)/%,$(DAHDI_LINUX_FW_FILES))
  32. # dahdi-linux claims to be GPLv2 with parts LGPLv2.1 (not 'or later'),
  33. # but there are the so-called firmware files (downloaded above) for
  34. # which the license is unclear: the header claims to be GPLv2, the
  35. # 'loader-wrapper' claims to be GPLv2, but there are two so-called
  36. # 'firmware' binary-only .o blobs for which the license is not
  37. # explicited, which look like they end up as part of a kernel module,
  38. # and for which the source is nowhere to be found on the upstream site
  39. # (they are only for x86/x86_64, but we still list them unconditionally).
  40. DAHDI_LINUX_LICENSE = GPL-2.0, LGPL-2.1, unknown (firmware files)
  41. DAHDI_LINUX_LICENSE_FILES = LICENSE LICENSE.LGPL
  42. DAHDI_LINUX_INSTALL_STAGING = YES
  43. DAHDI_LINUX_MODULE_SUBDIRS = drivers/dahdi
  44. DAHDI_LINUX_MODULE_MAKE_OPTS = \
  45. KSRC=$(LINUX_DIR) \
  46. KVERS=$(LINUX_VERSION_PROBED) \
  47. DAHDI_BUILD_ALL=m \
  48. DAHDI_INCLUDE=$(@D)/include \
  49. INSTALL_MOD_DIR=dahdi
  50. define DAHDI_LINUX_EXTRACT_FW
  51. $(foreach f,$(DAHDI_LINUX_FW_FILES),\
  52. cp $(DAHDI_LINUX_DL_DIR)/$(f) $(@D)/drivers/dahdi/firmware/$(f)$(sep))
  53. endef
  54. DAHDI_LINUX_POST_EXTRACT_HOOKS += DAHDI_LINUX_EXTRACT_FW
  55. define DAHDI_LINUX_LINUX_CONFIG_FIXUPS
  56. $(call KCONFIG_ENABLE_OPT,CONFIG_CRC_CCITT)
  57. endef
  58. # Need to pass the same options as for building the modules, because
  59. # it wants to scan Linux' .config file to check whether some options
  60. # are set or not (like CONFIG_FW_LOADER).
  61. define DAHDI_LINUX_CONFIGURE_CMDS
  62. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
  63. $(DAHDI_LINUX_MODULE_MAKE_OPTS) \
  64. prereq
  65. endef
  66. define DAHDI_LINUX_INSTALL_STAGING_CMDS
  67. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
  68. $(DAHDI_LINUX_MODULE_MAKE_OPTS) \
  69. DESTDIR=$(STAGING_DIR) \
  70. install-include
  71. endef
  72. define DAHDI_LINUX_INSTALL_TARGET_CMDS
  73. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
  74. $(DAHDI_LINUX_MODULE_MAKE_OPTS) \
  75. DESTDIR=$(TARGET_DIR) \
  76. install-firmware \
  77. install-xpp-firm
  78. endef
  79. $(eval $(kernel-module))
  80. $(eval $(generic-package))