11edb7d2b5
If we tell Kbuild (at least of some versions) that the host program is $obj/makefw , it will attempt to create the full path of $(obj) for it under the current $(obj). git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9630 a0bf4364-ded3-4de4-8d8a-66a801d63aff
150 lines
5.2 KiB
Makefile
150 lines
5.2 KiB
Makefile
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_DYNAMIC_ETHMF) += dahdi_dynamic_ethmf.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_VOICEBUS) += voicebus/
|
|
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCB4XXP) += wcb4xxp/
|
|
|
|
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/
|
|
|
|
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_JPAH) += dahdi_echocan_jpah.o
|
|
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_STEVE) += dahdi_echocan_sec.o
|
|
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_STEVE2) += dahdi_echocan_sec2.o
|
|
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_KB1) += dahdi_echocan_kb1.o
|
|
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_MG2) += dahdi_echocan_mg2.o
|
|
|
|
obj-m += $(DAHDI_MODULES_EXTRA)
|
|
|
|
# Only enable this if you think you know what you're doing. This is not
|
|
# supported yet:
|
|
#obj-m += dahdi_echocan_oslec.o
|
|
#
|
|
# A quick and dirty way to build OSLEC, if you happened to place it
|
|
# yourself in the dahdi source tree. This is experimental. See README
|
|
# regarding OSLEC.
|
|
#obj-m += ../staging/echo/
|
|
|
|
CFLAGS_MODULE += -I$(DAHDI_INCLUDE) -I$(src)
|
|
|
|
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
|
|
|
|
# A number of Fedora 10 (9 also?) kernels backported hrtimer to 2.6.27
|
|
# as part of an ALSA backport. TODO: Any better way to detect that?
|
|
ifeq (1,$(shell fgrep -q ' hrtimer_set_expires' include/linux/hrtimer.h 2>/dev/null && echo 1))
|
|
EXTRA_CFLAGS+=-DHAVE_HRTIMER_ACCESSORS=1
|
|
endif
|
|
|
|
ifeq (1,$(shell fgrep -q 'wait_for_completion_timeout' include/linux/completion.h 2>/dev/null && echo 1))
|
|
CFLAGS_MODULE+=-DHAVE_WAIT_FOR_COMPLETION_TIMEOUT=1
|
|
endif
|
|
|
|
# In 2.6.18 skb_linearize changed; however, some distros backported the change
|
|
ifneq (,$(wildcard $(srctree)/include/linux/skbuff.h))
|
|
ifeq ($(shell grep "skb_linearize.*(.*, .* gfp)" $(srctree)/include/linux/skbuff.h),)
|
|
CFLAGS_dahdi_dynamic_eth.o := -DNEW_SKB_LINEARIZE
|
|
CFLAGS_dahdi_dynamic_ethmf.o := -DNEW_SKB_LINEARIZE
|
|
endif
|
|
endif
|
|
|
|
dahdi-objs := dahdi-base.o dahdi-sysfs.o
|
|
|
|
###############################################################################
|
|
# Find appropriate ARCH value for VPMADT032 and HPEC binary modules
|
|
###############################################################################
|
|
|
|
ifeq ($(ARCH),i386)
|
|
DAHDI_ARCH=x86_32
|
|
else
|
|
ifeq ($(ARCH),x86_64)
|
|
DAHDI_ARCH=x86_64
|
|
else
|
|
ifeq ($(ARCH),x86)
|
|
ifeq ($(CONFIG_X86_32),y)
|
|
DAHDI_ARCH=x86_32
|
|
else
|
|
DAHDI_ARCH=x86_64
|
|
endif
|
|
else
|
|
$(warning CPU Architecture '$(ARCH)' does not support VPMADT032 or HPEC. Skipping.)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
###############################################################################
|
|
# VPMADT032 Loader
|
|
###############################################################################
|
|
|
|
dahdi_vpmadt032_loader-objs := vpmadt032_loader/dahdi_vpmadt032_loader.o
|
|
|
|
ifneq ($(DAHDI_ARCH),)
|
|
ifneq ($(wildcard $(src)/vpmadt032_loader/vpmadt032_$(DAHDI_ARCH).o_shipped),)
|
|
VPMADT032_LOADER_PRESENT=yes
|
|
dahdi_vpmadt032_loader-objs += vpmadt032_loader/vpmadt032_$(DAHDI_ARCH).o
|
|
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_VPMADT032_LOADER) += dahdi_vpmadt032_loader.o
|
|
endif
|
|
endif
|
|
|
|
###############################################################################
|
|
# HPEC Support
|
|
###############################################################################
|
|
|
|
dahdi_echocan_hpec-objs := hpec/dahdi_echocan_hpec.o
|
|
CFLAGS_dahdi_echocan_hpec.o := -I$(src)/hpec
|
|
|
|
ifneq ($(DAHDI_ARCH),)
|
|
ifneq ($(wildcard $(src)/hpec/hpec_$(DAHDI_ARCH).o_shipped),)
|
|
HPEC_PRESENT=yes
|
|
dahdi_echocan_hpec-objs += hpec/hpec_$(DAHDI_ARCH).o
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(HPEC_PRESENT),yes)
|
|
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_HPEC) += dahdi_echocan_hpec.o
|
|
endif
|
|
|
|
$(obj)/pciradio.o: $(obj)/radfw.h
|
|
$(obj)/tor2.o: $(obj)/tor2fw.h
|
|
|
|
hostprogs-y := 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 $@ $^
|
|
|
|
clean-files := radfw.h tor2fw.h
|