2 # Asterisk -- A telephony toolkit for Linux.
4 # Makefile for channel drivers
6 # Copyright (C) 1999-2006, Digium, Inc.
8 # This program is free software, distributed under the terms of
9 # the GNU General Public License
12 -include ..
/menuselect.makeopts ..
/menuselect.makedeps
14 MENUSELECT_CATEGORY
=CHANNELS
15 MENUSELECT_DESCRIPTION
=Channel Drivers
17 ALL_C_MODS
:=$(patsubst %.c
,%,$(wildcard chan_
*.c
))
18 ALL_CC_MODS
:=$(patsubst %.
cc,%,$(wildcard chan_
*.
cc))
20 C_MODS
:=$(filter-out $(MENUSELECT_APPS
),$(ALL_C_MODS
))
21 CC_MODS
:=$(filter-out $(MENUSELECT_APPS
),$(ALL_CC_MODS
))
23 ifeq ($(OSARCH
),OpenBSD
)
24 PTLIB
=-lpt_OpenBSD_x86_r
25 H323LIB
=-lh323_OpenBSD_x86_r
28 ifeq ($(OSARCH
),linux-gnu
)
29 PTLIB
=-lpt_linux_x86_r
30 H323LIB
=-lh323_linux_x86_r
34 ifeq ($(OSARCH
),FreeBSD
)
35 PTLIB
=-lpt_FreeBSD_x86_r
36 H323LIB
=-lh323_FreeBSD_x86_r
40 ifeq ($(OSARCH
),NetBSD
)
41 PTLIB
=-lpt_NetBSD_x86_r
42 H323LIB
=-lh323_NetBSD_x86_r
45 ifeq ($(wildcard h323
/libchanh323.a
),)
46 CC_MODS
:=$(filter-out chan_h323
,$(CC_MODS
))
50 OPENH323DIR
=$(HOME
)/openh323
54 PWLIBDIR
=$(HOME
)/pwlib
57 LOADABLE_MODS
:=$(C_MODS
) $(CC_MODS
)
59 ifneq ($(findstring channels
,$(MENUSELECT_EMBED
)),)
60 EMBEDDED_MODS
:=$(LOADABLE_MODS
)
66 include $(ASTTOPDIR
)/Makefile.moddir_rules
69 rm -f busy.h ringtone.h gentone
70 $(MAKE
) -C misdn
clean
72 ifneq ($(wildcard h323
/Makefile.ast
),)
73 include h323
/Makefile.ast
74 H323LDFLAGS
+=-Wl
,--version-script
=h323
/noexport.map
76 if
[ -f h323
/Makefile
]; then
$(MAKE
) -C h323
clean; fi
78 h323
/libchanh323.a h323
/Makefile.ast
:
79 $(CMD_PREFIX
) $(MAKE
) -C h323
80 $(CMD_PREFIX
) rm -f ..
/main
/asterisk
81 $(CMD_PREFIX
) echo
"***************************************************************"
83 $(CMD_PREFIX
) echo
"********** Re-run 'make' to pick up H.323 parameters **********"
85 $(CMD_PREFIX
) echo
"***************************************************************"
93 $(ECHO_PREFIX
) echo
" [LD] $^ -> $@"
94 $(CMD_PREFIX
) $(HOST_CC
) $(STATIC_BUILD
) -o
$@
$(HOST_CFLAGS
) $(HOST_LDFLAGS
) $^
$(LIBS
)
98 .
/gentone busy
480 620
101 .
/gentone ringtone
440 480
103 chan_oss.o
: busy.h ringtone.h
105 $(if
$(filter chan_iax2
,$(EMBEDDED_MODS
)),modules.link
,chan_iax2.so
): iax2-parser.o iax2-provision.o
107 chan_alsa.o
: busy.h ringtone.h
109 ifeq ($(OSARCH
),linux-gnu
)
110 chan_h323.so
: chan_h323.o h323
/libchanh323.a h323
/Makefile.ast
111 $(ECHO_PREFIX
) echo
" [LD] $^ -> $@"
112 $(CMD_PREFIX
) $(CXX
) $(PTHREAD_CFLAGS
) $(ASTLDFLAGS
) $(SOLINK
) $(H323LDFLAGS
) -o
$@
$< h323
/libchanh323.a
$(H323LDLIBS
)
114 chan_h323.so
: chan_h323.o h323
/libchanh323.a
115 $(ECHO_PREFIX
) echo
" [LD] $^ -> $@"
116 $(CMD_PREFIX
) $(CXX
) $(PTHREAD_CFLAGS
) $(ASTLDFLAGS
) $(SOLINK
) -o
$@
$< h323
/libchanh323.a
$(CHANH323LIB
) -L
$(PWLIBDIR
)/lib
$(PTLIB
) -L
$(OPENH323DIR
)/lib
$(H323LIB
) -L
/usr
/lib
-lcrypto
-lssl
-lexpat
119 chan_misdn.o
: ASTCFLAGS
+=-Imisdn
121 misdn_config.o
: ASTCFLAGS
+=-Imisdn
123 misdn
/isdn_lib.o
: ASTCFLAGS
+=-Wno-strict-aliasing
125 $(if
$(filter chan_misdn
,$(EMBEDDED_MODS
)),modules.link
,chan_misdn.so
): chan_misdn.o misdn_config.o misdn
/isdn_lib.o misdn
/isdn_msg_parser.o
127 chan_vpb.oo
: ASTCFLAGS
:=$(filter-out -Wdeclaration-after-statement
,$(ASTCFLAGS
))