summaryrefslogtreecommitdiff
path: root/drivers/dahdi/Kbuild
blob: 329899e2d7353bf11c86d30fe729f32dee6ec903 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
ifdef ECHO_CAN_NAME
	ECHO_CAN_CFLAGS	:= -DECHO_CAN_FROMENV -DECHO_CAN_$(ECHO_CAN_NAME)
endif

obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI)			+= dahdi.o
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DUMMY)		+= dahdi_dummy.o
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC)		+= dahdi_dynamic.o
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC_LOC)	+= dahdi_dynamic_loc.o
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC_ETH)	+= dahdi_dynamic_eth.o
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TRANSCODE)		+= dahdi_transcode.o

obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT4XXP)		+= wct4xxp/
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTC4XXP)		+= wctc4xxp/
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP)	+= wctdm24xxp/
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE12XP)		+= wcte12xp/
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM)		+= wctdm.o

obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT1XXP)		+= wct1xxp.o
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE11XP)		+= wcte11xp.o

obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCFXO)		+= wcfxo.o
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TOR2)		+= tor2.o
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_PCIRADIO)		+= pciradio.o

obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPP)		+= xpp/

CFLAGS_MODULE += -I$(src)
EXTRA_CFLAGS += $(ECHO_CAN_CFLAGS)

ifndef HOTPLUG_FIRMWARE
ifneq (,$(filter y m,$(CONFIG_FW_LOADER)))
HOTPLUG_FIRMWARE := yes
else
HOTPLUG_FIRMWARE := no
endif
export HOTPLUG_FIRMWARE
endif

# fix typo present in CentOS and RHEL 2.6.9 kernels
BAD_KERNELS_VERS := 22 34 34.0.1 34.0.2
BAD_KERNELS := $(foreach ver,$(BAD_KERNELS_VERS),2.6.9-$(ver).EL 2.6.9-$(ver).ELsmp)
ifneq (,$(filter $(KVERS),$(BAD_KERNELS)))
EXTRA_CFLAGS+=-Drw_lock_t=rwlock_t
endif

dahdi-objs := dahdi-base.o

ifeq ($(ARCH),i386)
ifneq ($(wildcard $(src)/hpec/hpec_x86_32.o_shipped),)
HPEC_PRESENT=yes
dahdi-objs += hpec/hpec_x86_32.o
endif
endif

ifeq ($(ARCH),x86_64)
ifneq ($(wildcard $(src)/hpec/hpec_x86_64.o_shipped),)
HPEC_PRESENT=yes
dahdi-objs += hpec/hpec_x86_64.o
endif
endif

ifeq ($(HPEC_PRESENT),yes)
EXTRA_CFLAGS += -DECHO_CAN_HPEC -I$(src)/hpec
$(obj)/dahdi-base.o: $(src)/hpec/hpec_dahdi.h $(src)/hpec/hpec_user.h
endif

$(obj)/pciradio.o: $(obj)/radfw.h
$(obj)/tor2.o: $(obj)/tor2fw.h

hostprogs-y := $(obj)/makefw

$(obj)/tor2fw.h: $(src)/tormenta2.rbt $(obj)/makefw 
	$(obj)/makefw $< tor2fw > $@

$(obj)/radfw.h: $(src)/pciradio.rbt $(obj)/makefw
	$(obj)/makefw $< radfw > $@

$(obj)/makefw: $(src)/makefw.c
	$(HOSTCC) -o $@ $^

# set CONFIG_DAHDI_MMX for a number of CPU types.
# Right now this part is not enabled, unless you build with
# DAHDI_MMX_AUTO=something .
DAHDIMMX_WHITELIST_i386 = M586MMX M686 MPENTIUMII MPENTIUMIII MPENTIUMM \
			    MPENTIUM4 MVIAC3_2

DAHDIMMX_WHITELIST_x86_64 = 

# A list of configuration variables to test: CONFIG_M686 , etc.
DAHDIMMX_CONFIG_VARS := $(DAHDIMMX_WHITELIST_$(ARCH):%=CONFIG_%)

# expand them:
DAHDIMMX_CONFIG_VALS := $(strip  $(foreach var,$(DAHDIMMX_CONFIG_VARS),$(var))  )
ifdef DAHDI_MMX_AUTO
  ifdef DAHDIMMX_CONFIG_VALS
    # TODO: make that 
    CFLAGS_dahdi-base.o += -DCONFIG_DAHDI_MMX
  endif
endif