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