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 C_MODS
:=$(filter-out $(MENUSELECT_CHANNELS
),$(patsubst %.c
,%,$(wildcard chan_
*.c
)))
15 CC_MODS
:=$(filter-out $(MENUSELECT_CHANNELS
),$(patsubst %.
cc,%,$(wildcard chan_
*.
cc)))
17 ifeq ($(OSARCH
),OpenBSD
)
18 PTLIB
=-lpt_OpenBSD_x86_r
19 H323LIB
=-lh323_OpenBSD_x86_r
22 ifeq ($(OSARCH
),linux-gnu
)
23 PTLIB
=-lpt_linux_x86_r
24 H323LIB
=-lh323_linux_x86_r
28 ifeq ($(OSARCH
),FreeBSD
)
29 PTLIB
=-lpt_FreeBSD_x86_r
30 H323LIB
=-lh323_FreeBSD_x86_r
34 ifeq ($(OSARCH
),NetBSD
)
35 PTLIB
=-lpt_NetBSD_x86_r
36 H323LIB
=-lh323_NetBSD_x86_r
39 ifeq ($(wildcard h323
/libchanh323.a
),)
40 CC_MODS
:=$(filter-out chan_h323
,$(CC_MODS
))
44 OPENH323DIR
=$(HOME
)/openh323
48 PWLIBDIR
=$(HOME
)/pwlib
51 LOADABLE_MODS
:=$(C_MODS
) $(CC_MODS
)
53 ifneq ($(findstring channels
,$(MENUSELECT_EMBED
)),)
54 EMBEDDED_MODS
:=$(LOADABLE_MODS
)
60 include $(ASTTOPDIR
)/Makefile.moddir_rules
63 rm -f busy.h ringtone.h gentone
64 $(MAKE
) -C misdn
clean
66 ifneq ($(wildcard h323
/Makefile.ast
),)
67 include h323
/Makefile.ast
68 H323LDFLAGS
+=-Wl
,--version-script
=h323
/noexport.map
72 h323
/libchanh323.a h323
/Makefile.ast
:
73 $(CMD_PREFIX
) $(MAKE
) -C h323
74 $(CMD_PREFIX
) rm -f ..
/main
/asterisk
75 $(CMD_PREFIX
) echo
"***************************************************************"
77 $(CMD_PREFIX
) echo
"********** Re-run 'make' to pick up H.323 parameters **********"
79 $(CMD_PREFIX
) echo
"***************************************************************"
84 $(ECHO_PREFIX
) echo
" [LD] $^ -> $@"
85 $(CMD_PREFIX
) $(HOST_CC
) $(STATIC_BUILD
) -o
$@
$(HOST_CFLAGS
) $(HOST_LDFLAGS
) $^
$(LIBS
)
89 .
/gentone busy
480 620
92 .
/gentone ringtone
440 480
94 chan_oss.o
: busy.h ringtone.h
96 $(if
$(filter chan_iax2
,$(EMBEDDED_MODS
)),modules.link
,chan_iax2.so
): iax2-parser.o iax2-provision.o
98 chan_alsa.o
: busy.h ringtone.h
100 ifeq ($(OSARCH
),linux-gnu
)
101 chan_h323.so
: chan_h323.o h323
/libchanh323.a h323
/Makefile.ast
102 $(ECHO_PREFIX
) echo
" [LD] $^ -> $@"
103 $(CMD_PREFIX
) $(CXX
) $(PTHREAD_CFLAGS
) $(ASTLDFLAGS
) $(SOLINK
) $(H323LDFLAGS
) -o
$@
$< h323
/libchanh323.a
$(H323LDLIBS
)
105 chan_h323.so
: chan_h323.o h323
/libchanh323.a
106 $(ECHO_PREFIX
) echo
" [LD] $^ -> $@"
107 $(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
110 chan_misdn.o
: ASTCFLAGS
+=-Imisdn
112 misdn_config.o
: ASTCFLAGS
+=-Imisdn
114 misdn
/isdn_lib.o
: ASTCFLAGS
+=-Wno-strict-aliasing
116 $(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
118 chan_vpb.oo
: ASTCFLAGS
:=$(filter-out -Wdeclaration-after-statement
,$(ASTCFLAGS
))