4 # Make file for Open Phone Abstraction library
6 # Copyright (c) 2001 Equivalence Pty. Ltd.
8 # The contents of this file are subject to the Mozilla Public License
9 # Version 1.0 (the "License"); you may not use this file except in
10 # compliance with the License. You may obtain a copy of the License at
11 # http://www.mozilla.org/MPL/
13 # Software distributed under the License is distributed on an "AS IS"
14 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
15 # the License for the specific language governing rights and limitations
18 # The Original Code is Open Phone Abstraction Library.
20 # The Initial Developer of the Original Code is Equivalence Pty. Ltd.
22 # Contributor(s): ______________________________________.
25 # Revision 1.55 2007/06/02 13:38:37 dsandras
26 # Fixed build on linux which was broken due to partial commit of the RFC4175
29 # Revision 1.54 2007/05/28 14:48:58 dominance
30 # fix notrace compile. We already feed the OBJDIR_SUFFIX as 'n', no need to add another suffix.
32 # Revision 1.53 2007/05/15 20:47:20 dsandras
33 # Added various handlers to manage subscriptions for presence, message
34 # waiting indications, registrations, state publishing,
35 # message conversations, ...
36 # Adds/fixes support for RFC3856, RFC3903, RFC3863, RFC3265, ...
37 # Many improvements over the original SIPInfo code.
38 # Code contributed by NOVACOM (http://www.novacom.be) thanks to
39 # EuroWeb (http://www.euroweb.hu).
41 # Revision 1.52 2007/05/08 09:31:23 csoutheren
42 # Removed warnings on Unix
44 # Revision 1.51 2007/02/05 19:50:31 dsandras
45 # Fixed uninstallation of plugins.
47 # Revision 1.50 2007/01/11 03:24:57 dereksmithies
48 # It now references the new file to compile, iax2/iax2jitter.cxx
50 # Revision 1.49 2006/12/08 05:08:16 csoutheren
51 # Applied 1589270 - spec, pkgconfig, doxygen
52 # Thanks to Frederic Heem
54 # Revision 1.48 2006/10/16 21:30:55 dsandras
55 # Applied patch from Brian Lu <brian lu sun com> to fix compilation issues
56 # on OpenSolaris. Thanks!
58 # Revision 1.47 2006/10/10 10:12:34 csoutheren
59 # Allow correct operation if subdirs are missing
61 # Revision 1.46 2006/10/10 07:18:17 csoutheren
62 # Allow compilation with and without various options
64 # Revision 1.45 2006/10/05 07:11:49 csoutheren
65 # Add --disable-lid option
67 # Revision 1.44 2006/10/04 06:19:08 csoutheren
68 # Fixed SRTP configuration for Linux
70 # Revision 1.43 2006/10/02 13:30:50 rjongbloed
73 # Revision 1.42 2006/09/18 08:41:53 rjongbloed
74 # Added simple OPAL sample to default build.
75 # Added check that Makefile may need to be rebuilt from configure script.
77 # Revision 1.41 2006/09/11 20:44:17 dereksmithies
78 # Fix spacing at end of line for two iax files.
80 # Revision 1.40 2006/09/11 20:13:36 dsandras
81 # Fixed IAX2 build thanks to Stephen Cook <siti orcon net nz>.
83 # Revision 1.39 2006/09/07 10:05:55 rjongbloed
84 # Added "make update" target to do cvs update and rebuild
86 # Revision 1.38 2006/08/15 19:41:38 dsandras
87 # Only build plugins when building the library.
89 # Revision 1.37 2006/08/09 23:14:00 dereksmithies
90 # Add fix for compiling new iax processing files.
91 # Big thanks to Stephen Cook, (sitiveni@gmail.com) for this work.
92 # Thanks also for the Google Summer of Code.
94 # Revision 1.36 2006/08/08 09:16:47 rjongbloed
95 # Fixed building of audio plugins on linux
97 # Revision 1.35 2006/08/03 12:43:52 csoutheren
98 # Fixed compilation on Linux
100 # Revision 1.34 2006/07/24 14:03:38 csoutheren
101 # Merged in audio and video plugins from CVS branch PluginBranch
103 # Revision 1.33 2006/06/08 07:03:16 csoutheren
104 # Changed to force docs to build even when docs directory exists
106 # Revision 1.32 2006/05/30 12:04:08 hfriederich
107 # Enabling to build H.460
109 # Revision 1.31 2006/04/22 14:05:47 dsandras
110 # When building a shared library x that references symbols in libraries y,
111 # the y libraries need to be added to the linker command always. Thanks to
112 # Vitaly Lipatov. (Fixes Ekiga report #338310).
114 # Revision 1.30 2006/04/20 16:56:41 hfriederich
115 # Changes to allow compilation of H.224/H.281 code as well as to disable H.224 entirely
117 # Revision 1.29 2006/04/17 00:06:26 csoutheren
118 # Allow ILBC codec to be disabled and detect if not present
120 # Revision 1.28.2.1 2006/05/16 07:03:09 csoutheren
121 # Fixed Linux compile system
123 # Revision 1.28 2006/02/01 22:42:55 dominance
124 # ensure we have the full disctinct SONAME instead of just the major number version.
126 # Revision 1.27 2006/01/30 02:23:15 csoutheren
127 # First cut at fixing problem with speex libraries
129 # Revision 1.26 2006/01/20 00:00:59 csoutheren
130 # Added protected against some source directories not being present
131 # even wen configuration says they should be
133 # Revision 1.25 2006/01/19 22:40:33 dereksmithies
134 # Add iax2 to the list of instal directories. Thanks to Damien Sandras
135 # for reporting the bug in iax2 compilation.
137 # Revision 1.24 2006/01/18 11:26:29 dsandras
138 # Reverted previous change.
140 # Revision 1.22 2006/01/14 10:43:06 dsandras
141 # Applied patch from Brian Lu <Brian.Lu _AT_____ sun.com> to allow compilation
142 # with OpenSolaris compiler. Many thanks !!!
144 # Revision 1.21 2006/01/07 17:37:50 dsandras
145 # Updated to speex 1.1.11.2 to fix divergeance issues.
147 # Revision 1.20 2006/01/01 19:19:32 dsandras
148 # Added RFC2190 H.263 codec thanks to Salyens. Many thanks!
150 # Revision 1.19 2005/12/06 06:34:10 csoutheren
151 # Added configure support for Sangoma and empty LID source and header files
153 # Revision 1.18 2005/11/24 20:31:54 dsandras
154 # Added support for echo cancelation using Speex.
155 # Added possibility to add a filter to an OpalMediaPatch for all patches of a connection.
157 # Revision 1.17 2005/11/23 22:01:37 dsandras
158 # Reverted previous change. echocancel.cxx is not ready to go in yet.
160 # Revision 1.16 2005/11/23 21:58:33 dsandras
163 # Revision 1.15 2005/11/20 21:03:50 dsandras
164 # Upgraded to Speex 1.1.10.
166 # Revision 1.14 2005/09/13 20:48:22 dominance
167 # minor cleanups needed to support mingw compilation. Thanks goes to Julien Puydt.
169 # Revision 1.13 2005/08/10 11:07:14 csoutheren
171 # Fixed dynamic linking on MacOSX
172 # Thanks to Hannes Friederich
174 # Revision 1.12 2005/07/30 07:39:26 csoutheren
175 # Added support for compiling new IAX2 code
177 # Revision 1.11 2005/04/26 10:58:37 dsandras
178 # Committed workaround for "make install".
180 # Revision 1.10 2005/04/25 10:14:14 dsandras
181 # Move LIBDIR down due to conflicting names.
183 # Revision 1.9 2005/04/25 09:31:35 dsandras
186 # Revision 1.8 2005/04/25 09:07:58 dsandras
187 # Fixed install/uninstall.
189 # Revision 1.7 2005/04/21 01:05:55 csoutheren
190 # New fix from Peter Robinson
192 # Revision 1.6 2005/04/20 05:46:32 csoutheren
193 # Patch 1146010. Fix problem with install targets
194 # Thanks to Peter Robinson
196 # Revision 1.5 2005/04/11 10:41:05 dsandras
197 # Added patch from Georgi Georgiev to fix compilation issues on Athlon64.
199 # Revision 1.4 2005/02/27 22:03:39 dereksmithies
200 # Add target to generate docs with doxygen.
202 # Revision 1.3 2005/01/31 07:40:41 csoutheren
203 # Fix for MacOSX thanks to Hannes Friederich
205 # Revision 1.2 2004/12/05 18:14:20 dsandras
208 # Revision 1.1 2004/12/04 18:37:58 dsandras
209 # Ported the "make install" / "make uninstall" system from OpenH323 to OPAL.
211 # Revision 2.29 2004/06/04 05:29:28 csoutheren
212 # Updated for ASN file changes and added silencedetect.cxx
214 # Revision 2.28 2004/04/25 02:53:28 rjongbloed
215 # Fixed GNU 3.4 warnings
217 # Revision 2.27 2004/03/11 06:54:25 csoutheren
218 # Added ability to disable SIP or H.323 stacks
220 # Revision 2.26 2004/02/23 01:28:49 rjongbloed
221 # Fixed unix build for recent upgrade to OpenH323 latest code.
223 # Revision 2.25 2004/02/16 09:15:19 csoutheren
224 # Fixed problems with codecs on Unix systems
226 # Revision 2.24 2003/04/08 11:46:35 robertj
227 # Better portability for tr command when doing ASN parse.
229 # Revision 2.23 2003/04/08 06:09:19 robertj
230 # Fixed ASN compilation so do not need -I on compile line for asn includes.
232 # Revision 2.22 2003/04/02 06:52:04 robertj
233 # Added dependencies for H450 ASN files
235 # Revision 2.21 2003/03/26 02:49:00 robertj
236 # Added service/daemon sample application.
238 # Revision 2.20 2003/03/19 04:45:29 robertj
239 # Added opalvxml to build
241 # Revision 2.19 2003/03/18 23:09:37 robertj
242 # Fixed LD_LIBRARY_PATH issue with Solaris
244 # Revision 2.18 2003/03/17 23:08:41 robertj
247 # Revision 2.17 2003/03/17 22:36:38 robertj
248 # Added video support.
250 # Revision 2.16 2003/01/15 00:08:18 robertj
251 # Updated to OpenH323 v1.10.3
253 # Revision 2.15 2002/11/12 12:06:34 robertj
254 # Fixed Solaris compatibility
256 # Revision 2.14 2002/11/11 07:43:32 robertj
257 # Added speex codec files
259 # Revision 2.13 2002/09/11 05:56:16 robertj
260 # Fixed double inclusion of common.mak
261 # Added opalwavfile.cxx module
263 # Revision 2.12 2002/03/15 10:51:53 robertj
264 # Fixed problem with recursive inclusion on make files.
266 # Revision 2.11 2002/03/05 06:27:34 robertj
267 # Added ASN parser build and version check code.
269 # Revision 2.10 2002/02/22 04:16:25 robertj
270 # Added G.726 codec and fixed the lpc10 and GSM codecs.
272 # Revision 2.9 2002/02/11 09:38:28 robertj
273 # Moved version to root directory
275 # Revision 2.8 2002/02/06 11:52:53 rogerh
276 # Move -I$(ASN_INCDIR) so Opal's ldap.h is found instead of the OS's ldap.h
278 # Revision 2.7 2002/02/01 10:29:35 rogerh
279 # Use the right version.h file. (the other one had comments which confused
282 # Revision 2.6 2002/02/01 04:58:23 craigs
283 # Added sip directory to VPATH
285 # Revision 2.5 2002/02/01 04:53:01 robertj
286 # Added (very primitive!) SIP support.
288 # Revision 2.4 2002/02/01 00:19:20 robertj
289 # Updated to latest pwlilb.
290 # Added rfc2833 module
292 # Revision 2.3 2001/08/17 05:24:22 robertj
293 # Updates from OpenH323 v1.6.0 release.
295 # Revision 2.2 2001/08/01 06:22:55 robertj
296 # Major changes to H.323 capabilities, uses OpalMediaFormat for base name.
297 # Added G.711 transcoder.
299 # Revision 2.1 2001/07/30 03:41:20 robertj
300 # Added build of subdirectories for samples.
301 # Hid the asnparser.version file.
302 # Changed default OPALDIR variable to be current directory.
304 # Revision 2.0 2001/07/27 15:48:24 robertj
305 # Conversion of OpenH323 to Open Phone Abstraction Library (OPAL)
308 export OPALDIR
=@OPALDIR@
311 OS_NAME
=$(shell uname
-s
)
312 ifeq ($(OS_NAME
),SunOS
)
313 override SHELL
=/usr
/bin
/bash
318 all :: bothdepend both
329 include $(OPALDIR
)/opal_inc.mak
331 PREFIX
=@INSTALLPREFIX@
/
332 exec_prefix = ${PREFIX}
338 ifeq ($(USE_GCC
),yes
)
342 OPAL_OBJDIR
= $(OPAL_LIBDIR
)/$(PT_OBJBASE
)
344 OBJDIR
= $(OPAL_OBJDIR
)
345 LIBDIR
= $(OPAL_LIBDIR
)
346 TARGET
= $(OPAL_LIBDIR
)/$(OPAL_FILE
)
348 STDCCFLAGS
+= @STDCCFLAGS@
351 STDCCFLAGS
+= -DPASN_NOPRINTON
353 STDCCFLAGS
+= -DPTRACING
356 VPATH_CXX
:= $(OPAL_SRCDIR
)/opal \
358 $(OPAL_SRCDIR
)/lids \
361 ifneq (,$(wildcard src
/iax2
))
363 VPATH_CXX
+= $(OPAL_SRCDIR
)/iax2
366 ifneq (,$(wildcard src
/sip
))
368 VPATH_CXX
+= $(OPAL_SRCDIR
)/sip
371 ifneq (,$(wildcard src
/h323
))
373 VPATH_CXX
+= $(OPAL_SRCDIR
)/h323 \
374 $(OPAL_SRCDIR
)/t120 \
379 ifneq (,$(wildcard src
/h224
))
381 VPATH_CXX
+= $(OPAL_SRCDIR
)/h224
385 VPATH_C
:= $(OPAL_SRCDIR
)/codec
387 ########################################
388 # Source files for library
390 SOURCES
:= $(OPAL_SRCDIR
)/opal
/manager.
cxx \
391 $(OPAL_SRCDIR
)/opal
/endpoint.
cxx \
392 $(OPAL_SRCDIR
)/opal
/connection.
cxx \
393 $(OPAL_SRCDIR
)/opal
/call.
cxx \
394 $(OPAL_SRCDIR
)/opal
/mediafmt.
cxx \
395 $(OPAL_SRCDIR
)/opal
/mediastrm.
cxx \
396 $(OPAL_SRCDIR
)/opal
/patch.
cxx \
397 $(OPAL_SRCDIR
)/opal
/transcoders.
cxx \
398 $(OPAL_SRCDIR
)/opal
/transports.
cxx \
399 $(OPAL_SRCDIR
)/opal
/guid.
cxx \
400 $(OPAL_SRCDIR
)/opal
/opalmixer.
cxx \
401 $(OPAL_SRCDIR
)/opal
/opalglobalstatics.
cxx \
402 $(OPAL_SRCDIR
)/rtp
/rtp.
cxx \
403 $(OPAL_SRCDIR
)/rtp
/jitter.
cxx \
405 ifeq ($(HAS_AUDIO
),1)
406 SOURCES
+= $(OPAL_SRCDIR
)/opal
/pcss.
cxx
409 ifeq ($(OPAL_IVR
), 1)
410 SOURCES
+= $(OPAL_SRCDIR
)/opal
/ivr.
cxx \
411 $(OPAL_SRCDIR
)/opal
/opalvxml.
cxx
414 ########################################
418 ifeq ($(OPAL_H323
),1)
421 ASN_SRCDIR
:= $(OPAL_SRCDIR
)/asn
422 ASN_INCDIR
:= $(OPAL_INCDIR
)/asn
424 H450_ASN_FILES
:= h4501 h4502 h4503 h4504 h4505 h4506 h4507 h4508 h4509 h45010 h45011
425 SIMPLE_ASN_FILES
:= x880
$(H450_ASN_FILES
) mcs gcc t38
427 ASN_H_FILES
:= $(addprefix $(ASN_INCDIR
)/,$(addsuffix .h
, $(SIMPLE_ASN_FILES
)))
428 ASN_CXX_FILES
:= $(addprefix $(ASN_SRCDIR
)/,$(addsuffix .
cxx,$(SIMPLE_ASN_FILES
)))
430 ASN_H_FILES
+= $(ASN_INCDIR
)/h225.h
431 ASN_CXX_FILES
+= $(ASN_SRCDIR
)/h225_1.
cxx $(ASN_SRCDIR
)/h225_2.
cxx
433 ASN_H_FILES
+= $(ASN_INCDIR
)/h235.h
$(ASN_SRCDIR
)/h235_t.
cxx
434 ASN_CXX_FILES
+= $(ASN_SRCDIR
)/h235.
cxx
436 ASN_H_FILES
+= $(ASN_INCDIR
)/h245.h
437 ASN_CXX_FILES
+= $(ASN_SRCDIR
)/h245_1.
cxx $(ASN_SRCDIR
)/h245_2.
cxx $(ASN_SRCDIR
)/h245_3.
cxx
439 ASN_H_FILES
+= $(ASN_INCDIR
)/h248.h
440 ASN_CXX_FILES
+= $(ASN_SRCDIR
)/h248.
cxx
442 ASN_H_FILES
+= $(ASN_INCDIR
)/h501.h
443 ASN_CXX_FILES
+= $(ASN_SRCDIR
)/h501.
cxx
445 .PRECIOUS
: $(ASN_CXX_FILES
) $(ASN_H_FILES
)
448 SOURCES
+= $(ASN_CXX_FILES
) \
449 $(OPAL_SRCDIR
)/h323
/h323ep.
cxx \
450 $(OPAL_SRCDIR
)/h323
/h323.
cxx \
451 $(OPAL_SRCDIR
)/h323
/h323caps.
cxx \
452 $(OPAL_SRCDIR
)/h323
/h323neg.
cxx \
453 $(OPAL_SRCDIR
)/h323
/h323pdu.
cxx \
454 $(OPAL_SRCDIR
)/h323
/h323rtp.
cxx \
455 $(OPAL_SRCDIR
)/h323
/channels.
cxx \
456 $(OPAL_SRCDIR
)/h323
/svcctrl.
cxx \
457 $(OPAL_SRCDIR
)/h323
/h450pdu.
cxx \
458 $(OPAL_SRCDIR
)/h323
/q931.
cxx \
459 $(OPAL_SRCDIR
)/h323
/transaddr.
cxx \
460 $(OPAL_SRCDIR
)/h323
/gkclient.
cxx \
461 $(OPAL_SRCDIR
)/h323
/gkserver.
cxx \
462 $(OPAL_SRCDIR
)/h323
/h225ras.
cxx \
463 $(OPAL_SRCDIR
)/h323
/h323trans.
cxx \
464 $(OPAL_SRCDIR
)/h323
/h235auth.
cxx \
465 $(OPAL_SRCDIR
)/h323
/h501pdu.
cxx \
466 $(OPAL_SRCDIR
)/h323
/h323annexg.
cxx \
467 $(OPAL_SRCDIR
)/h323
/peclient.
cxx \
470 SOURCES
+= $(OPAL_SRCDIR
)/h323
/h4601.
cxx
474 SOURCES
+= $(OPAL_SRCDIR
)/h235auth1.
cxx
477 SOURCES
+= $(OPAL_SRCDIR
)/t120
/t120proto.
cxx \
478 $(OPAL_SRCDIR
)/t120
/h323t120.
cxx \
479 $(OPAL_SRCDIR
)/t120
/x224.
cxx \
480 $(OPAL_SRCDIR
)/t38
/t38proto.
cxx \
481 $(OPAL_SRCDIR
)/t38
/h323t38.
cxx
483 ifeq ($(OPAL_H224
), 1)
485 SOURCES
+= $(OPAL_SRCDIR
)/h224
/h323h224.
cxx
495 ifeq ($(OPAL_IAX2
),1)
499 $(OPAL_SRCDIR
)/iax2
/callprocessor.
cxx \
500 $(OPAL_SRCDIR
)/iax2
/frame.
cxx \
501 $(OPAL_SRCDIR
)/iax2
/iax2con.
cxx \
502 $(OPAL_SRCDIR
)/iax2
/iax2ep.
cxx \
503 $(OPAL_SRCDIR
)/iax2
/iax2jitter.
cxx \
504 $(OPAL_SRCDIR
)/iax2
/iax2medstrm.
cxx \
505 $(OPAL_SRCDIR
)/iax2
/iedata.
cxx \
506 $(OPAL_SRCDIR
)/iax2
/ies.
cxx \
507 $(OPAL_SRCDIR
)/iax2
/processor.
cxx \
508 $(OPAL_SRCDIR
)/iax2
/receiver.
cxx \
509 $(OPAL_SRCDIR
)/iax2
/regprocessor.
cxx\
510 $(OPAL_SRCDIR
)/iax2
/remote.
cxx \
511 $(OPAL_SRCDIR
)/iax2
/safestrings.
cxx \
512 $(OPAL_SRCDIR
)/iax2
/sound.
cxx \
513 $(OPAL_SRCDIR
)/iax2
/specialprocessor.
cxx \
514 $(OPAL_SRCDIR
)/iax2
/transmit.
cxx
518 ################################################################################
524 SOURCES
+= $(OPAL_SRCDIR
)/sip
/sipep.
cxx \
525 $(OPAL_SRCDIR
)/sip
/sipcon.
cxx \
526 $(OPAL_SRCDIR
)/sip
/sippdu.
cxx \
527 $(OPAL_SRCDIR
)/sip
/sdp.
cxx \
528 $(OPAL_SRCDIR
)/sip
/handlers.
cxx \
529 $(OPAL_SRCDIR
)/sip
/sharedtransports.
cxx \
537 ifeq ($(OPAL_H224
), 1)
540 SOURCES
+= $(OPAL_SRCDIR
)/h224
/q922.
cxx \
541 $(OPAL_SRCDIR
)/h224
/h224.
cxx \
542 $(OPAL_SRCDIR
)/h224
/h281.
cxx
549 ifeq ($(OPAL_LID
), 1)
551 SOURCES
+= $(OPAL_SRCDIR
)/lids
/lid.
cxx \
552 $(OPAL_SRCDIR
)/lids
/lidep.
cxx \
553 $(OPAL_SRCDIR
)/lids
/lidpluginmgr.
cxx \
560 ifeq ($(OPAL_SRTP
), 1)
561 SOURCES
+= $(OPAL_SRCDIR
)/rtp
/srtp.
cxx \
570 SOURCES
+= $(OPAL_SRCDIR
)/codec
/g711codec.
cxx \
571 $(OPAL_SRCDIR
)/codec
/g711.c \
572 $(OPAL_SRCDIR
)/codec
/rfc2833.
cxx \
573 $(OPAL_SRCDIR
)/codec
/opalwavfile.
cxx \
574 $(OPAL_SRCDIR
)/codec
/silencedetect.
cxx \
575 $(OPAL_SRCDIR
)/codec
/echocancel.
cxx \
576 $(OPAL_SRCDIR
)/codec
/opalpluginmgr.
cxx
578 ifeq ($(HAS_VIDEO
), 1)
579 SOURCES
+= $(OPAL_SRCDIR
)/codec
/vidcodec.
cxx
582 ifeq ($(OPAL_RFC4175
), 1)
583 SOURCES
+= $(OPAL_SRCDIR
)/codec
/rfc4175.
cxx
586 SPEEX_DIR
= $(OPAL_SRCDIR
)/codec
/speex
588 #HEADER_FILES += $(OPAL_INCDIR)/speexcodec.h
590 #SOURCES += $(OPAL_SRCDIR)/codec/speexcodec.cxx
592 ifdef OPAL_SYSTEM_SPEEX
594 ENDLDLIBS
:= -lspeex
$(ENDLDLIBS
)
598 SPEEX_INCDIR
= $(SPEEX_DIR
)/libspeex
599 SPEEX_SRCDIR
= $(SPEEX_DIR
)/libspeex
601 VPATH_C
+= $(SPEEX_SRCDIR
)
602 VPATH_CXX
+= $(SPEEX_SRCDIR
)
604 HEADER_FILES
+= $(SPEEX_INCDIR
)/speex.h \
605 $(SPEEX_INCDIR
)/speex_bits.h \
606 $(SPEEX_INCDIR
)/speex_header.h \
607 $(SPEEX_INCDIR
)/speex_callbacks.h \
608 $(SPEEX_INCDIR
)/speex_config_types.h \
609 $(SPEEX_INCDIR
)/speex_preprocess.h \
610 $(SPEEX_INCDIR
)/speex_stereo.h \
611 $(SPEEX_INCDIR
)/speex_types.h \
612 $(SPEEX_INCDIR
)/speex_jitter.h \
613 $(SPEEX_INCDIR
)/speex_echo.h
615 SOURCES
+= $(SPEEX_SRCDIR
)/speex_preprocess.c \
616 $(SPEEX_SRCDIR
)/smallft.c \
617 $(SPEEX_SRCDIR
)/misc.c \
618 $(SPEEX_SRCDIR
)/mdf.c \
619 $(SPEEX_SRCDIR
)/math_approx.c \
620 $(SPEEX_SRCDIR
)/kiss_fftr.c \
621 $(SPEEX_SRCDIR
)/kiss_fft.c \
622 $(SPEEX_SRCDIR
)/fftwrap.c \
624 endif # OPAL_SYSTEM_SPEEX
627 # Files to be cleaned during make clean
630 CLEAN_FILES
= $(OPAL_LIB
)
633 ####################################################
635 include @PWLIBDIR@
/make
/common.mak
638 ####################################################
641 ifneq ($(OSTYPE
),Darwin
)
642 LIBNAME_MAJ
= $(OPAL_FILE
).
$(MAJOR_VERSION
)
643 LIBNAME_MIN
= $(LIBNAME_MAJ
).
$(MINOR_VERSION
)
644 ifeq ($(BUILD_TYPE
),.
)
645 LIBNAME_PAT
= $(LIBNAME_MIN
).
$(BUILD_NUMBER
)
647 LIBNAME_PAT
= $(LIBNAME_MIN
)-$(BUILD_TYPE
)$(BUILD_NUMBER
)
650 LIBNAME_MAJ
= $(subst .
$(LIB_SUFFIX
),.
$(MAJOR_VERSION
).
$(LIB_SUFFIX
),$(OPAL_FILE
))
651 LIBNAME_MIN
= $(subst .
$(LIB_SUFFIX
),.
$(MAJOR_VERSION
).
$(MINOR_VERSION
).
$(LIB_SUFFIX
),$(OPAL_FILE
))
652 ifeq ($(BUILD_TYPE
),.
)
653 LIBNAME_PAT
= $(subst .
$(LIB_SUFFIX
),.
$(MAJOR_VERSION
).
$(MINOR_VERSION
).
$(BUILD_NUMBER
).
$(LIB_SUFFIX
),$(OPAL_FILE
))
655 LIBNAME_PAT
= $(subst .
$(LIB_SUFFIX
),.
$(MAJOR_VERSION
).
$(MINOR_VERSION
)-$(BUILD_TYPE
)$(BUILD_NUMBER
).
$(LIB_SUFFIX
),$(OPAL_FILE
))
659 LIB_SONAME
= $(LIBNAME_MIN
)
661 CLEAN_FILES
+= $(LIBDIR
)/$(LIBNAME_PAT
) $(LIBDIR
)/$(OPAL_FILE
) $(LIBDIR
)/$(LIBNAME_MAJ
) $(LIBDIR
)/$(LIBNAME_MIN
)
663 ifneq ($(P_SHAREDLIB
),1)
664 STATIC_LIB_FILE
= $(LIBDIR
)/$(OPAL_FILE
)
666 STATIC_LIB_FILE
= $(LIBDIR
)/$(subst .
$(LIB_SUFFIX
),_s.
$(STATICLIBEXT
),$(OPAL_FILE
))
669 $(LIBDIR
)/$(OPAL_FILE
) : $(TARGETLIB
)
671 ifeq ($(P_SHAREDLIB
),1)
673 SYSLIBS
+= -L
$(PW_LIBDIR
) -l
$(PTLIB_BASE
)$(LIB_TYPE
)
674 ifeq ($(OSTYPE
),beos
)
675 # BeOS requires different options when building shared libraries
676 LDSOOPTS
= -nostdlib
-nostart
677 EXTLIBS
= -lstdc
++.r4
679 ifeq ($(OSTYPE
),Darwin
)
680 LDSOOPTS
= -dynamiclib
686 ENDLDLIBS
:= $(SYSLIBS
) $(ENDLDLIBS
)
688 ifeq ($(OSTYPE
),rtems
)
692 ifneq ($(OSTYPE
), QNX
)
693 ifneq (,$(findstring $(OSTYPE
),FreeBSD OpenBSDs
))
704 # Solaris loader doesn't grok -soname (sees it as -s -oname)
705 # We could use -Wl,-h,$(LIB_BASENAME).1 but then we find that the arglist
706 # to gcc is 2900+ bytes long and it will barf. I fix this by invoking ld
707 # directly and passing it the equivalent arguments...jpd@louisiana.edu
708 ifeq ($(OSTYPE
),solaris
)
709 LDSOOPTS
= -Bdynamic
-G
-h
$(LIB_SONAME
)
712 ifeq ($(OSTYPE
),mingw
)
713 LDSOOPTS
+= -Wl
,--kill-at
715 ifneq ($(OSTYPE
),Darwin
)
716 LDSOOPTS
+= -Wl
,-soname
,$(LIB_SONAME
)
722 $(LIBDIR
)/$(OPAL_FILE
): $(LIBDIR
)/$(LIBNAME_PAT
)
723 cd
$(LIBDIR
) ; rm -f
$(OPAL_FILE
) ; ln
-sf
$(LIBNAME_PAT
) $(OPAL_FILE
)
724 cd
$(LIBDIR
) ; rm -f
$(LIBNAME_MAJ
) ; ln
-sf
$(LIBNAME_PAT
) $(LIBNAME_MAJ
)
725 cd
$(LIBDIR
) ; rm -f
$(LIBNAME_MIN
) ; ln
-sf
$(LIBNAME_PAT
) $(LIBNAME_MIN
)
727 cd
$(LIBDIR
) ; rm -f libopal.
$(LIB_SUFFIX
) ; ln
-sf
$(LIBNAME_PAT
) libopal.
$(LIB_SUFFIX
)
729 $(LIBDIR
)/$(LIBNAME_PAT
): $(STATIC_LIB_FILE
)
730 @echo EXTLIBS
= $(EXTLIBS
)
731 @echo SYSLIBS
= $(SYSLIBS
)
732 @if
[ ! -d
$(LIBDIR
) ] ; then mkdir
$(LIBDIR
) ; fi
733 $(LD
) $(LDSOOPTS
) -o
$(LIBDIR
)/$(LIBNAME_PAT
) $(LDFLAGS
) $(EXTLIBS
) $(OBJS
) $(ENDLDLIBS
)
737 $(STATIC_LIB_FILE
): $(OBJS
)
738 @if
[ ! -d
$(LIBDIR
) ] ; then mkdir
$(LIBDIR
) ; fi
739 $(ARCHIVE
) $(STATIC_LIB_FILE
) $(OBJS
)
740 ifeq ($(P_USE_RANLIB
),1)
741 $(RANLIB
) $(STATIC_LIB_FILE
)
744 ####################################################
747 $(MAKE
) NOTRACE
=1 opt
749 # Build rules for the Speex codec
751 $(OPAL_OBJDIR
)/%.o
: $(SPEEX_SRCDIR
)/%.c
752 @if
[ ! -d
$(OPAL_OBJDIR
) ] ; then mkdir
-p
$(OPAL_OBJDIR
) ; fi
753 $(CC
) $(STDCCFLAGS
) -I
$(SPEEX_INCDIR
) $(OPTCCFLAGS
) $(CFLAGS
) -c
$< -o
$@
755 $(DEPDIR
)/%.dep
: $(SPEEX_SRCDIR
)/%.c
756 @if
[ ! -d
$(DEPDIR
) ] ; then mkdir
-p
$(DEPDIR
) ; fi
757 @printf
%s
$(OPAL_OBJDIR
)/ > $@
758 $(CC
) -I
$(SPEEX_INCDIR
) $(CFLAGS
) -M
$< >> $@
760 ###############################################################################
762 $(subst tagbuild
,,$(STANDARD_TARGETS
)) ::
763 @set
-e
; $(foreach dir,$(SUBDIRS
),if
test -e
$(dir) ; then
$(MAKE
) -C
$(dir) $@
; fi
;)
766 $(STANDARD_TARGETS
) :: Makefile
768 Makefile
: Makefile.in configure
770 @echo
"*******************************************************"
771 @echo Makefile is not up to date
, is a .
/configure necessary?
772 @echo
"*******************************************************"
776 @echo
$(ASN_CXX_FILES
)
780 mkdir
-p
$(DESTDIR
)@LIBDIR@
781 ( for
dir in
$(DESTDIR
)@LIBDIR@ \
782 $(DESTDIR
)$(PREFIX
)/include/opal
/asn \
783 $(DESTDIR
)$(PREFIX
)/include/opal
/codec \
784 $(DESTDIR
)$(PREFIX
)/include/opal
/h323 \
785 $(DESTDIR
)$(PREFIX
)/include/opal
/iax2 \
786 $(DESTDIR
)$(PREFIX
)/include/opal
/lids \
787 $(DESTDIR
)$(PREFIX
)/include/opal
/opal \
788 $(DESTDIR
)$(PREFIX
)/include/opal
/rtp \
789 $(DESTDIR
)$(PREFIX
)/include/opal
/sip \
790 $(DESTDIR
)$(PREFIX
)/include/opal
/t120 \
791 $(DESTDIR
)$(PREFIX
)/include/opal
/t38 \
792 $(DESTDIR
)$(PREFIX
)/lib
/pkgconfig \
793 $(DESTDIR
)$(PREFIX
)/share
/opal
;\
794 do mkdir
-p
$$dir ; chmod
755 $$dir ; \
796 $(INSTALL
) -m
755 lib
/$(LIBNAME_PAT
) $(DESTDIR
)@LIBDIR@
797 $(INSTALL
) -m
444 opal.
pc $(DESTDIR
)$(PREFIX
)/lib
/pkgconfig
798 ln
-snf
$(LIBNAME_PAT
) \
799 $(DESTDIR
)@LIBDIR@
/$(OPAL_FILE
).
$(MAJOR_VERSION
).
$(MINOR_VERSION
)
800 ln
-snf
$(LIBNAME_PAT
) \
801 $(DESTDIR
)@LIBDIR@
/$(OPAL_FILE
).
$(MAJOR_VERSION
)
802 ln
-snf
$(LIBNAME_PAT
) \
803 $(DESTDIR
)@LIBDIR@
/$(OPAL_FILE
)
804 ln
-snf
$(LIBNAME_PAT
) \
805 $(DESTDIR
)@LIBDIR@
/libopal.so
806 ( for fn in
include/asn
/*.h
; do \
807 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/asn
; \
809 ( for fn in
include/codec
/*.h
; do \
810 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/codec
; \
812 ( for fn in
include/h323
/*.h
; do \
813 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/h323
; \
815 ( for fn in
include/iax2
/*.h
; do \
816 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/iax2
; \
818 ( for fn in
include/lids
/*.h
; do \
819 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/lids
; \
821 ( for fn in
include/opal
/*.h
; do \
822 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/opal
; \
824 ( for fn in
include/rtp
/*.h
; do \
825 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/rtp
; \
827 ( for fn in
include/sip
/*.h
; do \
828 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/sip
; \
830 ( for fn in
include/t120
/*.h
; do \
831 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/t120
; \
833 ( for fn in
include/t38
/*.h
; do \
834 $(INSTALL
) -m
644 $$fn $(DESTDIR
)$(PREFIX
)/include/opal
/t38
; \
836 $(INSTALL
) -m
644 opal_inc.mak
$(DESTDIR
)$(PREFIX
)/share
/opal
837 $(MAKE
) -C plugins
install
840 rm -rf
$(DESTDIR
)$(PREFIX
)/include/opal \
841 $(DESTDIR
)$(PREFIX
)/share
/opal
842 rm -f
$(DESTDIR
)@LIBDIR@
/$(OPAL_FILE
) \
843 $(DESTDIR
)@LIBDIR@
/libopal.so \
844 $(DESTDIR
)@LIBDIR@
/$(OPAL_FILE
).
$(MAJOR_VERSION
).
$(MINOR_VERSION
) \
845 $(DESTDIR
)@LIBDIR@
/$(OPAL_FILE
).
$(MAJOR_VERSION
) \
846 $(DESTDIR
)@LIBDIR@
/$(LIBNAME_PAT
) \
847 $(DESTDIR
)$(PREFIX
)/lib
/pkgconfig
/opal.
pc
848 $(MAKE
) -C plugins
uninstall
856 # End of file #################################################################