Parent Directory
|
Revision Log
Revision 89 - (view) (download)
| 1 : | jhermanski | 89 | ################################################################################ |
| 2 : | # chan_woomera: Woomera channel driver for Asterisk/CallWeaver | ||
| 3 : | # | ||
| 4 : | # Author: Nenad Corbic <ncorbic@sangoma.com> | ||
| 5 : | # Anthony Minessale II <anthmct@yahoo.com> | ||
| 6 : | # | ||
| 7 : | # Copyright: (c) 2007 Nenad Corbic <ncorbic@sangoma.com> | ||
| 8 : | # | ||
| 9 : | # This program is free software; you can redistribute it and/or | ||
| 10 : | # modify it under the terms of the GNU General Public License | ||
| 11 : | # as published by the Free Software Foundation; either version | ||
| 12 : | # 2 of the License, or (at your option) any later version. | ||
| 13 : | ################################################################################ | ||
| 14 : | |||
| 15 : | ifndef PBXDIR | ||
| 16 : | PBXDIR=/usr/src/asterisk | ||
| 17 : | ifneq (,$(wildcard ./.pbxdir)) | ||
| 18 : | PBXDIR=$(shell cat .pbxdir) | ||
| 19 : | endif | ||
| 20 : | endif | ||
| 21 : | |||
| 22 : | CHAN_NAME=WOOMERA | ||
| 23 : | |||
| 24 : | $(shell echo $(PBXDIR) > .pbxdir) | ||
| 25 : | |||
| 26 : | PBXMODDIR=/usr/lib/asterisk/modules | ||
| 27 : | PBXCFGDIR=/etc/asterisk | ||
| 28 : | PBXDEFINES= | ||
| 29 : | PBXFLAGS_EXTRA= | ||
| 30 : | |||
| 31 : | # Add doxygen config to the distribution | ||
| 32 : | EXTRA_DIST = doxygen.cfg | ||
| 33 : | |||
| 34 : | #Check for Asterisk AST_CONTROL_SRC feature | ||
| 35 : | DUMMY:=$(shell if [[ -f $(PBXDIR)/include/asterisk/frame.h ]]; then grep -c AST_CONTROL_SRC $(PBXDIR)/include/asterisk/frame.h > .ast_src_check; else echo 0 > .ast_src_check; fi;) | ||
| 36 : | |||
| 37 : | ifeq (1,$(shell cat .ast_src_check)) | ||
| 38 : | PBXDEFINES+=-DWOO_CONTROL_SRC_FEATURE | ||
| 39 : | endif | ||
| 40 : | |||
| 41 : | |||
| 42 : | #Check for Callweaver opbx_cli_entry | ||
| 43 : | DUMMY:=$(shell if [[ -f $(PBXDIR)/include/callweaver/cli.h ]]; then grep -c opbx_cli_entry $(PBXDIR)/include/callweaver/cli.h > .opbx_cli_entry_check; else echo 0 > .opbx_cli_entry_check; fi;) | ||
| 44 : | |||
| 45 : | ifneq (0,$(shell cat .opbx_cli_entry_check)) | ||
| 46 : | PBXFLAGS_EXTRA+=-DCALLWEAVER_OPBX_CLI_ENTRY | ||
| 47 : | endif | ||
| 48 : | |||
| 49 : | |||
| 50 : | #Check for callweaver cw_cli_entry | ||
| 51 : | DUMMY:=$(shell if [[ -f $(PBXDIR)/include/callweaver/cli.h ]]; then grep -c cw_cli_entry $(PBXDIR)/include/callweaver/cli.h > .cw_cli_entry_check; else echo 0 > .cw_cli_entry_check; fi;) | ||
| 52 : | |||
| 53 : | ifneq (0,$(shell cat .cw_cli_entry_check)) | ||
| 54 : | PBXFLAGS_EXTRA+=-DCALLWEAVER_CW_CLI_ENTRY | ||
| 55 : | endif | ||
| 56 : | |||
| 57 : | |||
| 58 : | #Check for callweaver MODULE_INFO | ||
| 59 : | DUMMY:=$(shell if [[ -f $(PBXDIR)/include/callweaver/module.h ]]; then grep -c MODULE_INFO $(PBXDIR)/include/callweaver/module.h > .cw_module_info_check; else echo 0 > .cw_module_info_check; fi;) | ||
| 60 : | |||
| 61 : | ifneq (0,$(shell cat .cw_module_info_check)) | ||
| 62 : | PBXFLAGS_EXTRA+=-DCALLWEAVER_MODULE_INFO | ||
| 63 : | endif | ||
| 64 : | |||
| 65 : | |||
| 66 : | ifneq (,$(wildcard $(PBXDIR)/include/callweaver/cwobj.h)) | ||
| 67 : | PBXFLAGS_EXTRA+=-DCALLWEAVER_CWOBJ | ||
| 68 : | endif | ||
| 69 : | |||
| 70 : | |||
| 71 : | ifneq (,$(wildcard $(PBXDIR)/include/callweaver.h)) | ||
| 72 : | PBXFLAGS_EXTRA+=-DCALLWEAVER -DHAVE_CONFIG_H | ||
| 73 : | PBXMODDIR=/usr/local/lib/callweaver/modules | ||
| 74 : | PBXCFGDIR=/usr/local/etc/callweaver | ||
| 75 : | |||
| 76 : | else | ||
| 77 : | |||
| 78 : | # Check for Asterisk 1.8 | ||
| 79 : | DUMMY:=$(shell if [[ -f $(PBXDIR)/.version ]]; then grep -c ^1.8 $(PBXDIR)/.version > .ast18_check; else echo 0 > .ast18_check; fi;) | ||
| 80 : | ifneq (0,$(shell cat .ast18_check)) | ||
| 81 : | PBXFLAGS_EXTRA+=-DAST18 | ||
| 82 : | endif | ||
| 83 : | |||
| 84 : | # Check for Asterisk 1.6 | ||
| 85 : | DUMMY:=$(shell if [[ -f $(PBXDIR)/.version ]]; then grep -c ^1.6 $(PBXDIR)/.version > .ast16_check; else echo 0 > .ast16_check; fi;) | ||
| 86 : | ifneq (0,$(shell cat .ast16_check)) | ||
| 87 : | PBXFLAGS_EXTRA+=-DAST16 | ||
| 88 : | endif | ||
| 89 : | |||
| 90 : | # Check for Asterisk 1.4 | ||
| 91 : | DUMMY:=$(shell if [[ -f $(PBXDIR)/.version ]]; then grep -c ^1.4 $(PBXDIR)/.version > .ast14_check; else echo 0 > .ast14_check; fi;) | ||
| 92 : | ifneq (0,$(shell cat .ast14_check)) | ||
| 93 : | PBXFLAGS_EXTRA+=-DAST14 | ||
| 94 : | endif | ||
| 95 : | |||
| 96 : | # Check for Asterisk C.3.5 (Business Edition) and handle as 1.4 | ||
| 97 : | DUMMY:=$(shell if [[ -f $(PBXDIR)/.version ]]; then grep -c ^C.3.5 $(PBXDIR)/.version > .ast14_check; else echo 0 > .ast14_check; fi;) | ||
| 98 : | ifneq (0,$(shell cat .ast14_check)) | ||
| 99 : | PBXFLAGS_EXTRA+=-DAST14 | ||
| 100 : | endif | ||
| 101 : | |||
| 102 : | endif | ||
| 103 : | |||
| 104 : | |||
| 105 : | |||
| 106 : | PBXFLAGS_EXTRA+= -DAST_MODULE=\"chan_woomera\" | ||
| 107 : | |||
| 108 : | CC = gcc | ||
| 109 : | |||
| 110 : | INCLUDES= -I/usr/include -I./ | ||
| 111 : | |||
| 112 : | CFLAGS = -D__LINUX__ -D_REENTRANT -D_GNU_SOURCE -O6 | ||
| 113 : | CCFLAGS = -Wall -Wstrict-prototypes -Wmissing-prototypes -g | ||
| 114 : | LDFLAGS=-L lib/libteletone/.libs -L. -L/usr/local/lib -L ../../ssmg/libsangoma.trunk/.libs -lpthread -lsangoma -lm | ||
| 115 : | |||
| 116 : | |||
| 117 : | PBXFLAGS= $(INCLUDES) -I$(PBXDIR) -I$(PBXDIR)/include -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -DWOOMERA_CHAN_NAME=\"$(CHAN_NAME)\" -D_GNU_SOURCE $(PBXDEFINES) -O6 -fomit-frame-pointer -fPIC | ||
| 118 : | |||
| 119 : | |||
| 120 : | all: chan_woomera.so | ||
| 121 : | |||
| 122 : | chan_woomera.so: chan_woomera.o | ||
| 123 : | $(CC) -shared -Xlinker -x -o chan_woomera.so chan_woomera.o | ||
| 124 : | |||
| 125 : | chan_woomera.o: chan_woomera.c | ||
| 126 : | $(CC) $(PBXFLAGS) $(PBXFLAGS_EXTRA) -c chan_woomera.c -o chan_woomera.o | ||
| 127 : | |||
| 128 : | clean: | ||
| 129 : | find . -name '*.*o' | xargs rm -f | ||
| 130 : | |||
| 131 : | distclean: clean | ||
| 132 : | @echo OK | ||
| 133 : | |||
| 134 : | install: all | ||
| 135 : | @if [ ! -d $(INSTALLPREFIX)$(PBXMODDIR) ]; then \ | ||
| 136 : | mkdir -p $(INSTALLPREFIX)$(PBXMODDIR); \ | ||
| 137 : | fi; | ||
| 138 : | install -D -m 755 chan_woomera.so $(INSTALLPREFIX)$(PBXMODDIR)/chan_woomera.so | ||
| 139 : | @if [ ! -d $(INSTALLPREFIX)$(PBXCFGDIR) ]; then \ | ||
| 140 : | mkdir -p $(INSTALLPREFIX)$(PBXCFGDIR); \ | ||
| 141 : | fi; | ||
| 142 : | @if [ -f woomera.conf ] && [ ! -e $(INSTALLPREFIX)$(PBXCFGDIR)/woomera.conf ]; then \ | ||
| 143 : | install -D -m 755 woomera.conf $(INSTALLPREFIX)$(PBXCFGDIR)/woomera.conf; \ | ||
| 144 : | fi | ||
| 145 : | @echo "chan_woomera Installed" | ||
| 146 : | |||
| 147 : | docs: | ||
| 148 : | doxygen -s doxygen.cfg | ||
| 149 : | |||
| 150 : |
| No admin address has been configured | ViewVC Help |
| Powered by ViewVC 1.0.8 |