Re: [GnomeMeeting-devel-list] Re: Opal "make install" broken



Can you try with this Makefile?

Please do a complete build (after a make clean).

Le mardi 26 avril 2005 à 10:19 +0200, Damien Sandras a écrit :
> Le mardi 26 avril 2005 à 09:59 +0200, Jan Schiefer a écrit :
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > It seems to mess $(HOME)/opal/lib with /usr/lib ( --prefix=/usr ).
> > 
> > make uninstall also does:
> > 
> > LIBDIR=/usr//lib
> > rm -rf /usr//include/opal \
> >        /usr//share/opal
> > rm -f /home/mrsuicide/opal/lib/libopal_linux_x86_r.so \
> >       /home/mrsuicide/opal/lib/libopal.so \
> >       /home/mrsuicide/opal/lib/libopal_linux_x86_r.so.2.1 \
> >       /home/mrsuicide/opal/lib/libopal_linux_x86_r.so.2 \
> >       /home/mrsuicide/opal/lib/libopal_linux_x86_r.so.2.1-beta1
> > 
> > THis doesn't seem right.
> > 
> 
> Right, but here it worked. 
> It is a result of the latest patches that were applied, I won't have
> time to look at them before 2 or 3 weeks at best.
> 
> Here the Makefile code is :
> uninstall:
>         LIBDIR=${exec_prefix}/lib
>         rm -rf $(DESTDIR)$(PREFIX)/include/opal \
>                $(DESTDIR)$(PREFIX)/share/opal
>         rm -f $(DESTDIR)$(LIBDIR)/$(OPAL_FILE) \
>               $(DESTDIR)$(LIBDIR)/libopal.so \
> 
> $(DESTDIR)$(LIBDIR)/$(OPAL_FILE).$(MAJOR_VERSION).$(MINOR_VERSION) \
>               $(DESTDIR)$(LIBDIR)/$(OPAL_FILE).$(MAJOR_VERSION) \
>               $(DESTDIR)$(LIBDIR)/$(LIBNAME_PAT)
> 
> So if DESTDIR is empty, and LIBDIR=/usr/lib, it should do a rm
> -f /usr/lib/*
> 
-- 
 _      Damien Sandras
(o-     GnomeMeeting: http://www.gnomemeeting.org/
//\     FOSDEM 2005 : http://www.fosdem.org
v_/_    H.323 phone : callto:ils.seconix.com/dsandras seconix com
#
# Makefile
#
# Make file for Open Phone Abstraction library
#
# Copyright (c) 2001 Equivalence Pty. Ltd.
#
# The contents of this file are subject to the Mozilla Public License
# Version 1.0 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
#
# The Original Code is Open Phone Abstraction Library.
#
# The Initial Developer of the Original Code is Equivalence Pty. Ltd.
#
# Contributor(s): ______________________________________.
#
# $Log: Makefile.in,v $
# Revision 1.10  2005/04/25 10:14:14  dsandras
# Move LIBDIR down due to conflicting names.
#
# Revision 1.9  2005/04/25 09:31:35  dsandras
# Fixed make.
#
# Revision 1.8  2005/04/25 09:07:58  dsandras
# Fixed install/uninstall.
#
# Revision 1.7  2005/04/21 01:05:55  csoutheren
# New fix from Peter Robinson
#
# Revision 1.6  2005/04/20 05:46:32  csoutheren
# Patch 1146010. Fix problem with install targets
# Thanks to Peter Robinson
#
# Revision 1.5  2005/04/11 10:41:05  dsandras
# Added patch from Georgi Georgiev to fix compilation issues on Athlon64.
#
# Revision 1.4  2005/02/27 22:03:39  dereksmithies
# Add target to generate docs with doxygen.
#
# Revision 1.3  2005/01/31 07:40:41  csoutheren
# Fix for MacOSX thanks to Hannes Friederich
#
# Revision 1.2  2004/12/05 18:14:20  dsandras
# Cleanups.
#
# Revision 1.1  2004/12/04 18:37:58  dsandras
# Ported the "make install" / "make uninstall" system from OpenH323 to OPAL.
#
# Revision 2.29  2004/06/04 05:29:28  csoutheren
# Updated for ASN file changes and added silencedetect.cxx
#
# Revision 2.28  2004/04/25 02:53:28  rjongbloed
# Fixed GNU 3.4 warnings
#
# Revision 2.27  2004/03/11 06:54:25  csoutheren
# Added ability to disable SIP or H.323 stacks
#
# Revision 2.26  2004/02/23 01:28:49  rjongbloed
# Fixed unix build for recent upgrade to OpenH323 latest code.
#
# Revision 2.25  2004/02/16 09:15:19  csoutheren
# Fixed problems with codecs on Unix systems
#
# Revision 2.24  2003/04/08 11:46:35  robertj
# Better portability for tr command when doing ASN parse.
#
# Revision 2.23  2003/04/08 06:09:19  robertj
# Fixed ASN compilation so do not need -I on compile line for asn includes.
#
# Revision 2.22  2003/04/02 06:52:04  robertj
# Added dependencies for H450 ASN files
#
# Revision 2.21  2003/03/26 02:49:00  robertj
# Added service/daemon sample application.
#
# Revision 2.20  2003/03/19 04:45:29  robertj
# Added opalvxml to build
#
# Revision 2.19  2003/03/18 23:09:37  robertj
# Fixed LD_LIBRARY_PATH issue with Solaris
#
# Revision 2.18  2003/03/17 23:08:41  robertj
# Added IVR endpoint
#
# Revision 2.17  2003/03/17 22:36:38  robertj
# Added video support.
#
# Revision 2.16  2003/01/15 00:08:18  robertj
# Updated to OpenH323 v1.10.3
#
# Revision 2.15  2002/11/12 12:06:34  robertj
# Fixed Solaris compatibility
#
# Revision 2.14  2002/11/11 07:43:32  robertj
# Added speex codec files
#
# Revision 2.13  2002/09/11 05:56:16  robertj
# Fixed double inclusion of common.mak
# Added opalwavfile.cxx module
#
# Revision 2.12  2002/03/15 10:51:53  robertj
# Fixed problem with recursive inclusion on make files.
#
# Revision 2.11  2002/03/05 06:27:34  robertj
# Added ASN parser build and version check code.
#
# Revision 2.10  2002/02/22 04:16:25  robertj
# Added G.726 codec and fixed the lpc10 and GSM codecs.
#
# Revision 2.9  2002/02/11 09:38:28  robertj
# Moved version to root directory
#
# Revision 2.8  2002/02/06 11:52:53  rogerh
# Move -I$(ASN_INCDIR) so Opal's ldap.h is found instead of the OS's ldap.h
#
# Revision 2.7  2002/02/01 10:29:35  rogerh
# Use the right version.h file. (the other one had comments which confused
# pwlib's lib.mak)
#
# Revision 2.6  2002/02/01 04:58:23  craigs
# Added sip directory to VPATH
#
# Revision 2.5  2002/02/01 04:53:01  robertj
# Added (very primitive!) SIP support.
#
# Revision 2.4  2002/02/01 00:19:20  robertj
# Updated to latest pwlilb.
# Added rfc2833 module
#
# Revision 2.3  2001/08/17 05:24:22  robertj
# Updates from OpenH323 v1.6.0 release.
#
# Revision 2.2  2001/08/01 06:22:55  robertj
# Major changes to H.323 capabilities, uses OpalMediaFormat for base name.
# Added G.711 transcoder.
#
# Revision 2.1  2001/07/30 03:41:20  robertj
# Added build of subdirectories for samples.
# Hid the asnparser.version file.
# Changed default OPALDIR variable to be current directory.
#
# Revision 2.0  2001/07/27 15:48:24  robertj
# Conversion of OpenH323 to Open Phone Abstraction Library (OPAL)
#

export OPALDIR= OPALDIR@

INSTALL= INSTALL@

default :: optshared

all :: bothdepend both

SUBDIRS := 

LIBRARY_MAKEFILE:=1

include $(OPALDIR)/opal_inc.mak

PREFIX= INSTALLPREFIX@/
exec_prefix = ${PREFIX}

ifndef PREFIX
PREFIX=/usr/local
endif

OPAL_OBJDIR = $(OPAL_LIBDIR)/$(PT_OBJBASE)
ifdef NOTRACE
OPAL_OBJDIR += n
endif


OBJDIR	=	$(OPAL_OBJDIR)
LIBDIR  =	$(OPAL_LIBDIR)
TARGET	=	$(OPAL_LIBDIR)/$(OPAL_FILE)

ifdef NOTRACE
STDCCFLAGS += -DPASN_NOPRINTON
else
STDCCFLAGS += -DPTRACING
endif

VPATH_CXX := $(OPAL_SRCDIR)/opal \
	     $(OPAL_SRCDIR)/rtp \
	     $(OPAL_SRCDIR)/h323 \
	     $(OPAL_SRCDIR)/lids \
	     $(OPAL_SRCDIR)/codec \
	     $(OPAL_SRCDIR)/t120 \
	     $(OPAL_SRCDIR)/t38 \
	     $(OPAL_SRCDIR)/sip \
	     $(OPAL_SRCDIR)/asn

VPATH_C := $(OPAL_SRCDIR)/codec

########################################
# Source files for library

SOURCES := $(OPAL_SRCDIR)/opal/manager.cxx \
           $(OPAL_SRCDIR)/opal/endpoint.cxx \
           $(OPAL_SRCDIR)/opal/connection.cxx \
           $(OPAL_SRCDIR)/opal/call.cxx \
           $(OPAL_SRCDIR)/opal/mediafmt.cxx \
           $(OPAL_SRCDIR)/opal/mediastrm.cxx \
           $(OPAL_SRCDIR)/opal/patch.cxx \
           $(OPAL_SRCDIR)/opal/transcoders.cxx \
           $(OPAL_SRCDIR)/opal/transports.cxx \
           $(OPAL_SRCDIR)/opal/guid.cxx \
           $(OPAL_SRCDIR)/opal/pcss.cxx \
           $(OPAL_SRCDIR)/opal/ivr.cxx \
           $(OPAL_SRCDIR)/opal/opalvxml.cxx \
           $(OPAL_SRCDIR)/rtp/rtp.cxx \
           $(OPAL_SRCDIR)/rtp/jitter.cxx \

########################################
# H.323 files

ifeq ($(OPAL_H323),1)

ASN_SRCDIR := $(OPAL_SRCDIR)/asn
ASN_INCDIR := $(OPAL_INCDIR)/asn

H450_ASN_FILES := h4501 h4502 h4503 h4504 h4505 h4506 h4507 h4508 h4509 h45010 h45011
SIMPLE_ASN_FILES := x880 $(H450_ASN_FILES) mcs gcc t38 

ASN_H_FILES   := $(addprefix $(ASN_INCDIR)/,$(addsuffix .h,  $(SIMPLE_ASN_FILES)))
ASN_CXX_FILES := $(addprefix $(ASN_SRCDIR)/,$(addsuffix .cxx,$(SIMPLE_ASN_FILES)))

ASN_H_FILES   += $(ASN_INCDIR)/h225.h
ASN_CXX_FILES += $(ASN_SRCDIR)/h225_1.cxx $(ASN_SRCDIR)/h225_2.cxx

ASN_H_FILES   += $(ASN_INCDIR)/h235.h $(ASN_SRCDIR)/h235_t.cxx
ASN_CXX_FILES += $(ASN_SRCDIR)/h235.cxx

ASN_H_FILES   += $(ASN_INCDIR)/h245.h
ASN_CXX_FILES += $(ASN_SRCDIR)/h245_1.cxx $(ASN_SRCDIR)/h245_2.cxx $(ASN_SRCDIR)/h245_3.cxx

ASN_H_FILES   += $(ASN_INCDIR)/h248.h
ASN_CXX_FILES += $(ASN_SRCDIR)/h248.cxx

ASN_H_FILES   += $(ASN_INCDIR)/h501.h
ASN_CXX_FILES += $(ASN_SRCDIR)/h501.cxx

.PRECIOUS: $(ASN_CXX_FILES) $(ASN_H_FILES)


SOURCES += $(ASN_CXX_FILES) \
           $(OPAL_SRCDIR)/h323/h323ep.cxx \
           $(OPAL_SRCDIR)/h323/h323.cxx \
           $(OPAL_SRCDIR)/h323/h323caps.cxx \
           $(OPAL_SRCDIR)/h323/h323neg.cxx \
           $(OPAL_SRCDIR)/h323/h323pdu.cxx \
           $(OPAL_SRCDIR)/h323/h323rtp.cxx \
           $(OPAL_SRCDIR)/h323/channels.cxx \
           $(OPAL_SRCDIR)/h323/svcctrl.cxx \
           $(OPAL_SRCDIR)/h323/h450pdu.cxx \
           $(OPAL_SRCDIR)/h323/q931.cxx \
           $(OPAL_SRCDIR)/h323/transaddr.cxx \
           $(OPAL_SRCDIR)/h323/gkclient.cxx \
           $(OPAL_SRCDIR)/h323/gkserver.cxx \
           $(OPAL_SRCDIR)/h323/h225ras.cxx \
           $(OPAL_SRCDIR)/h323/h323trans.cxx \
           $(OPAL_SRCDIR)/h323/h235auth.cxx \
           $(OPAL_SRCDIR)/h323/h501pdu.cxx \
           $(OPAL_SRCDIR)/h323/h323annexg.cxx \
           $(OPAL_SRCDIR)/h323/peclient.cxx \

ifdef HAS_OPENSSL
SOURCES += $(OPAL_SRCDIR)/h235auth1.cxx
endif

SOURCES += $(OPAL_SRCDIR)/t120/t120proto.cxx \
           $(OPAL_SRCDIR)/t120/h323t120.cxx \
           $(OPAL_SRCDIR)/t120/x224.cxx \
           $(OPAL_SRCDIR)/t38/t38proto.cxx \
           $(OPAL_SRCDIR)/t38/h323t38.cxx \


endif

##################
# SIP files

ifeq ($(OPAL_SIP),1)

SOURCES += $(OPAL_SRCDIR)/sip/sipep.cxx \
           $(OPAL_SRCDIR)/sip/sipcon.cxx \
           $(OPAL_SRCDIR)/sip/sippdu.cxx \
           $(OPAL_SRCDIR)/sip/sdp.cxx \

endif

##################
# LIDS


SOURCES += $(OPAL_SRCDIR)/lids/lid.cxx \
           $(OPAL_SRCDIR)/lids/lidep.cxx \

ifdef HAS_IXJ
SOURCES += $(OPAL_SRCDIR)/lids/ixjunix.cxx
endif

ifdef HAS_VPB
SOURCES += $(OPAL_SRCDIR)/lids/vpblid.cxx
endif


##################
# Software codecs

SOURCES += $(OPAL_SRCDIR)/codec/g711codec.cxx \
           $(OPAL_SRCDIR)/codec/g711.c \
           $(OPAL_SRCDIR)/codec/rfc2833.cxx \
           $(OPAL_SRCDIR)/codec/vidcodec.cxx \
           $(OPAL_SRCDIR)/codec/opalwavfile.cxx \
	   $(OPAL_SRCDIR)/codec/silencedetect.cxx


# G.726

G726_DIR = g726

SOURCES  += $(OPAL_SRCDIR)/codec/g726codec.cxx \
            $(G726_DIR)/g72x.c \
            $(G726_DIR)/g726_16.c \
            $(G726_DIR)/g726_24.c \
            $(G726_DIR)/g726_32.c \
            $(G726_DIR)/g726_40.c


# GSM06.10

GSM_DIR 	= $(OPAL_SRCDIR)/codec/gsm
GSM_SRCDIR	= $(GSM_DIR)/src
GSM_INCDIR	= $(GSM_DIR)/inc

SOURCES += $(OPAL_SRCDIR)/codec/gsmcodec.cxx \
           $(GSM_SRCDIR)/gsm_create.c \
           $(GSM_SRCDIR)/gsm_destroy.c \
           $(GSM_SRCDIR)/gsm_decode.c \
           $(GSM_SRCDIR)/gsm_encode.c \
           $(GSM_SRCDIR)/gsm_option.c \
           $(GSM_SRCDIR)/code.c \
           $(GSM_SRCDIR)/decode.c \
           $(GSM_SRCDIR)/add.c \
           $(GSM_SRCDIR)/gsm_lpc.c \
           $(GSM_SRCDIR)/rpe.c \
           $(GSM_SRCDIR)/preprocess.c \
           $(GSM_SRCDIR)/long_term.c \
           $(GSM_SRCDIR)/short_term.c \
           $(GSM_SRCDIR)/table.c


SOURCES += $(OPAL_SRCDIR)/codec/mscodecs.cxx


# LPC-10

LPC10_DIR 	= $(OPAL_SRCDIR)/codec/lpc10
LPC10_INCDIR	= $(LPC10_DIR)
LPC10_SRCDIR	= $(LPC10_DIR)/src

SOURCES += $(OPAL_SRCDIR)/codec/lpc10codec.cxx \
           $(LPC10_SRCDIR)/f2clib.c \
           $(LPC10_SRCDIR)/analys.c \
           $(LPC10_SRCDIR)/bsynz.c \
           $(LPC10_SRCDIR)/chanwr.c \
           $(LPC10_SRCDIR)/dcbias.c \
           $(LPC10_SRCDIR)/decode_.c \
           $(LPC10_SRCDIR)/deemp.c \
           $(LPC10_SRCDIR)/difmag.c \
           $(LPC10_SRCDIR)/dyptrk.c \
           $(LPC10_SRCDIR)/encode_.c \
           $(LPC10_SRCDIR)/energy.c \
           $(LPC10_SRCDIR)/ham84.c \
           $(LPC10_SRCDIR)/hp100.c \
           $(LPC10_SRCDIR)/invert.c \
           $(LPC10_SRCDIR)/irc2pc.c \
           $(LPC10_SRCDIR)/ivfilt.c \
           $(LPC10_SRCDIR)/lpcdec.c \
           $(LPC10_SRCDIR)/lpcenc.c \
           $(LPC10_SRCDIR)/lpcini.c \
           $(LPC10_SRCDIR)/lpfilt.c \
           $(LPC10_SRCDIR)/median.c \
           $(LPC10_SRCDIR)/mload.c \
           $(LPC10_SRCDIR)/onset.c \
           $(LPC10_SRCDIR)/pitsyn.c \
           $(LPC10_SRCDIR)/placea.c \
           $(LPC10_SRCDIR)/placev.c \
           $(LPC10_SRCDIR)/preemp.c \
           $(LPC10_SRCDIR)/prepro.c \
           $(LPC10_SRCDIR)/random.c \
           $(LPC10_SRCDIR)/rcchk.c \
           $(LPC10_SRCDIR)/synths.c \
           $(LPC10_SRCDIR)/tbdm.c \
           $(LPC10_SRCDIR)/voicin.c \
           $(LPC10_SRCDIR)/vparms.c \


# Speex

SPEEX_DIR       = $(OPAL_SRCDIR)/codec/speex
SPEEX_INCDIR    = $(SPEEX_DIR)/libspeex
SPEEX_SRCDIR    = $(SPEEX_DIR)/libspeex

VPATH_C		+= $(SPEEX_SRCDIR)
VPATH_CXX	+= $(SPEEX_SRCDIR)

HEADER_FILES    += $(OPAL_INCDIR)/speexcodec.h \
		   $(SPEEX_INCDIR)/speex.h \
                   $(SPEEX_INCDIR)/speex_bits.h \
                   $(SPEEX_INCDIR)/speex_header.h \
                   $(SPEEX_INCDIR)/speex_callbacks.h

SOURCES 	+= $(OPAL_SRCDIR)/codec/speexcodec.cxx \
		   $(SPEEX_SRCDIR)/nb_celp.c \
                   $(SPEEX_SRCDIR)/sb_celp.c \
                   $(SPEEX_SRCDIR)/lpc.c \
                   $(SPEEX_SRCDIR)/ltp.c \
                   $(SPEEX_SRCDIR)/lsp.c \
                   $(SPEEX_SRCDIR)/quant_lsp.c \
                   $(SPEEX_SRCDIR)/lsp_tables_nb.c \
                   $(SPEEX_SRCDIR)/gain_table.c \
                   $(SPEEX_SRCDIR)/gain_table_lbr.c \
                   $(SPEEX_SRCDIR)/cb_search.c \
                   $(SPEEX_SRCDIR)/filters.c \
                   $(SPEEX_SRCDIR)/bits.c \
                   $(SPEEX_SRCDIR)/modes.c \
                   $(SPEEX_SRCDIR)/vq.c \
                   $(SPEEX_SRCDIR)/high_lsp_tables.c \
                   $(SPEEX_SRCDIR)/vbr.c \
                   $(SPEEX_SRCDIR)/hexc_table.c \
                   $(SPEEX_SRCDIR)/exc_5_256_table.c \
                   $(SPEEX_SRCDIR)/exc_5_64_table.c \
                   $(SPEEX_SRCDIR)/exc_8_128_table.c \
                   $(SPEEX_SRCDIR)/exc_10_32_table.c \
                   $(SPEEX_SRCDIR)/exc_10_16_table.c \
                   $(SPEEX_SRCDIR)/exc_20_32_table.c \
                   $(SPEEX_SRCDIR)/hexc_10_32_table.c \
                   $(SPEEX_SRCDIR)/misc.c \
                   $(SPEEX_SRCDIR)/speex_header.c \
                   $(SPEEX_SRCDIR)/speex_callbacks.c


# iLBC

ILBC_DIR 	= $(OPAL_SRCDIR)/codec/iLBC

VPATH_C		+= $(ILBC_DIR)
VPATH_CXX	+= $(ILBC_DIR)

HEADER_FILES	+= $(OPAL_INCDIR)/codec/ilbccodec.h
SOURCES	+= $(OPAL_SRCDIR)/codec/ilbccodec.cxx

HEADER_FILES	+= $(ILBC_DIR)/iLBC_define.h
HEADER_FILES	+= $(ILBC_DIR)/iLBC_decode.h
SOURCES		+= $(ILBC_DIR)/iLBC_decode.c
HEADER_FILES	+= $(ILBC_DIR)/iLBC_encode.h
SOURCES		+= $(ILBC_DIR)/iLBC_encode.c
HEADER_FILES	+= $(ILBC_DIR)/FrameClassify.h
SOURCES		+= $(ILBC_DIR)/FrameClassify.c
HEADER_FILES	+= $(ILBC_DIR)/LPCdecode.h
SOURCES		+= $(ILBC_DIR)/LPCdecode.c
HEADER_FILES	+= $(ILBC_DIR)/LPCencode.h
SOURCES		+= $(ILBC_DIR)/LPCencode.c
HEADER_FILES	+= $(ILBC_DIR)/StateConstructW.h
SOURCES		+= $(ILBC_DIR)/StateConstructW.c
HEADER_FILES	+= $(ILBC_DIR)/StateSearchW.h
SOURCES		+= $(ILBC_DIR)/StateSearchW.c
HEADER_FILES	+= $(ILBC_DIR)/anaFilter.h
SOURCES		+= $(ILBC_DIR)/anaFilter.c
HEADER_FILES	+= $(ILBC_DIR)/constants.h
SOURCES		+= $(ILBC_DIR)/constants.c
HEADER_FILES	+= $(ILBC_DIR)/createCB.h
SOURCES		+= $(ILBC_DIR)/createCB.c
HEADER_FILES	+= $(ILBC_DIR)/doCPLC.h
SOURCES		+= $(ILBC_DIR)/doCPLC.c
HEADER_FILES	+= $(ILBC_DIR)/enhancer.h
SOURCES		+= $(ILBC_DIR)/enhancer.c
HEADER_FILES	+= $(ILBC_DIR)/filter.h
SOURCES		+= $(ILBC_DIR)/filter.c
HEADER_FILES	+= $(ILBC_DIR)/gainquant.h
SOURCES		+= $(ILBC_DIR)/gainquant.c
HEADER_FILES	+= $(ILBC_DIR)/getCBvec.h
SOURCES		+= $(ILBC_DIR)/getCBvec.c
HEADER_FILES	+= $(ILBC_DIR)/helpfun.h
SOURCES		+= $(ILBC_DIR)/helpfun.c
HEADER_FILES	+= $(ILBC_DIR)/hpInput.h
SOURCES		+= $(ILBC_DIR)/hpInput.c
HEADER_FILES	+= $(ILBC_DIR)/hpOutput.h
SOURCES		+= $(ILBC_DIR)/hpOutput.c
HEADER_FILES	+= $(ILBC_DIR)/iCBConstruct.h
SOURCES		+= $(ILBC_DIR)/iCBConstruct.c
HEADER_FILES	+= $(ILBC_DIR)/iCBSearch.h
SOURCES		+= $(ILBC_DIR)/iCBSearch.c
HEADER_FILES	+= $(ILBC_DIR)/lsf.h
SOURCES		+= $(ILBC_DIR)/lsf.c
HEADER_FILES	+= $(ILBC_DIR)/packing.h
SOURCES		+= $(ILBC_DIR)/packing.c
HEADER_FILES	+= $(ILBC_DIR)/syntFilter.h
SOURCES		+= $(ILBC_DIR)/syntFilter.c


VIC_DIR = $(OPAL_SRCDIR)/codec/vic

SOURCES += $(OPAL_SRCDIR)/codec/h261codec.c \
           $(VIC_DIR)/dct.cxx \
           $(VIC_DIR)/p64.cxx \
           $(VIC_DIR)/huffcode.c \
           $(VIC_DIR)/bv.c \
           $(VIC_DIR)/encoder-h261.cxx \
           $(VIC_DIR)/p64encoder.cxx \
           $(VIC_DIR)/transmitter.cxx \
           $(VIC_DIR)/vid_coder.cxx 


#
# Files to be cleaned during make clean
#

CLEAN_FILES = $(OPAL_LIB) 


####################################################

include @PWLIBDIR@/make/common.mak

####################################################
# replace lib.mak

ifneq ($(OSTYPE),Darwin)
  LIBNAME_MAJ	= $(OPAL_FILE).$(MAJOR_VERSION)
  LIBNAME_MIN	= $(LIBNAME_MAJ).$(MINOR_VERSION)
  ifeq ($(BUILD_TYPE),.)
    LIBNAME_PAT	= $(LIBNAME_MIN).$(BUILD_NUMBER)
  else
    LIBNAME_PAT	= $(LIBNAME_MIN)-$(BUILD_TYPE)$(BUILD_NUMBER)
  endif
else
  LIBNAME_MAJ	= $(subst .$(LIB_SUFFIX),.$(MAJOR_VERSION).$(LIB_SUFFIX),$(OPAL_FILE))
  LIBNAME_MIN	= $(subst .$(LIB_SUFFIX),.$(MAJOR_VERSION).$(MINOR_VERSION).$(LIB_SUFFIX),$(OPAL_FILE))
  ifeq ($(BUILD_TYPE),.)
    LIBNAME_PAT	= $(subst .$(LIB_SUFFIX),.$(MAJOR_VERSION).$(MINOR_VERSION).$(BUILD_NUMBER).$(LIB_SUFFIX),$(OPAL_FILE))
  else
    LIBNAME_PAT	= $(subst .$(LIB_SUFFIX),.$(MAJOR_VERSION).$(MINOR_VERSION)-$(BUILD_TYPE)$(BUILD_NUMBER).$(LIB_SUFFIX),$(OPAL_FILE))
  endif
endif

LIB_SONAME	= $(LIBNAME_MAJ)

CLEAN_FILES += $(LIBDIR)/$(LIBNAME_PAT) $(LIBDIR)/$(OPAL_FILE) $(LIBDIR)/$(LIBNAME_MAJ) $(LIBDIR)/$(LIBNAME_MIN)

ifneq ($(P_SHAREDLIB),1)
  STATIC_LIB_FILE = $(LIBDIR)/$(OPAL_FILE)
else
  STATIC_LIB_FILE = $(LIBDIR)/$(subst .$(LIB_SUFFIX),_s.$(STATICLIBEXT),$(OPAL_FILE))
endif

$(LIBDIR)/$(OPAL_FILE) : $(TARGETLIB)

ifeq ($(P_SHAREDLIB),1)

  ENDLDLIBS := $(SYSLIBS) $(ENDLDLIBS)
  ifeq ($(OSTYPE),beos)
    # BeOS requires different options when building shared libraries
    # Also, when building a shared library x that references symbols in libraries y,
    # the y libraries need to be added to the linker command
    LDSOOPTS = -nostdlib -nostart
    EXTLIBS = -lstdc++.r4
    SYSLIBS += -L$(PW_LIBDIR) -l$(PTLIB_BASE)$(LIB_TYPE)
  else
    ifeq ($(OSTYPE),Darwin)
      LDSOOPTS = -dynamiclib
      SYSLIBS += -l$(PTLIB_BASE)$(LIB_TYPE)
    else
      LDSOOPTS = -shared
    endif
  endif

  ifeq ($(OSTYPE),rtems)
    EXTLIBS = -lstdc++
  endif

  ifneq ($(OSTYPE), QNX)
    ifneq (,$(findstring $(OSTYPE),FreeBSD OpenBSDs))
      ifdef P_PTHREADS
        EXTLIBS += -pthread
      endif
    else
      ifdef P_PTHREADS
        EXTLIBS += -lpthread
      endif
    endif
  endif

  # Solaris loader doesn't grok -soname  (sees it as -s -oname)
  # We could use -Wl,-h,$(LIB_BASENAME).1 but then we find that the arglist
  # to gcc is 2900+ bytes long and it will barf.  I fix this by invoking ld
  # directly and passing it the equivalent arguments   jpd louisiana edu
  ifeq ($(OSTYPE),solaris)
     LDSOOPTS = -Bdynamic -G -h $(LIB_SONAME)
     LD = $(CPLUS)
  else
    ifneq ($(OSTYPE),Darwin)
      LDSOOPTS += -Wl,-soname,$(LIB_SONAME)
    endif
    LD = $(CPLUS)
  endif

  $(LIBDIR)/$(OPAL_FILE): $(LIBDIR)/$(LIBNAME_PAT)
	cd $(LIBDIR) ; rm -f $(OPAL_FILE) ; ln -sf $(LIBNAME_PAT) $(OPAL_FILE)
	cd $(LIBDIR) ; rm -f $(LIBNAME_MAJ) ;  ln -sf $(LIBNAME_PAT) $(LIBNAME_MAJ)
	cd $(LIBDIR) ; rm -f $(LIBNAME_MIN) ;  ln -sf $(LIBNAME_PAT) $(LIBNAME_MIN)

  $(LIBDIR)/$(LIBNAME_PAT): $(STATIC_LIB_FILE)
	@echo EXTLIBS = $(EXTLIBS)
	@echo SYSLIBS = $(SYSLIBS)
	@if [ ! -d $(LIBDIR) ] ; then mkdir $(LIBDIR) ; fi
	$(LD) $(LDSOOPTS) -o $(LIBDIR)/$(LIBNAME_PAT) $(LDFLAGS) $(EXTLIBS) $(OBJS) $(ENDLDLIBS)

endif # P_SHAREDLIB

$(STATIC_LIB_FILE): $(OBJS)
	@if [ ! -d $(LIBDIR) ] ; then mkdir $(LIBDIR) ; fi
	$(ARCHIVE) $(STATIC_LIB_FILE) $(OBJS)
ifeq ($(P_USE_RANLIB),1)
	$(RANLIB) $(STATIC_LIB_FILE)
endif

####################################################

notrace::
	$(MAKE) NOTRACE=1 opt

# Build rules for VIC codecs

$(OPAL_OBJDIR)/%.o : $(VIC_DIR)/%.cxx
	@if [ ! -d $(OPAL_OBJDIR) ] ; then mkdir -p $(OPAL_OBJDIR) ; fi
	$(CPLUS) -I$(VIC_DIR) $(STDCCFLAGS) $(CFLAGS) -c $< -o $@

$(OPAL_OBJDIR)/%.o : $(VIC_DIR)/%.c
	@if [ ! -d $(OPAL_OBJDIR) ] ; then mkdir -p $(OPAL_OBJDIR) ; fi
	$(CC) -I$(VIC_DIR) $(STDCCFLAGS) $(CFLAGS) -c $< -o $@

$(DEPDIR)/%.dep : $(VIC_DIR)/%.c
	@if [ ! -d $(DEPDIR) ] ; then mkdir -p $(DEPDIR) ; fi
	@printf %s $(OPAL_OBJDIR)/ > $@
	$(CPLUS) -I$(VIC_DIR) $(STDCCFLAGS:-g=) $(CFLAGS) -M $< >> $@

$(DEPDIR)/%.dep : $(VIC_DIR)/%.cxx
	@if [ ! -d $(DEPDIR) ] ; then mkdir -p $(DEPDIR) ; fi
	@printf %s $(OPAL_OBJDIR)/ > $@
	$(CPLUS) -I$(VIC_DIR) $(STDCCFLAGS:-g=) $(CFLAGS) -M $< >> $@


# Build rules for the GSM codec

$(OPAL_OBJDIR)/%.o : $(GSM_SRCDIR)/%.c
	@if [ ! -d $(OPAL_OBJDIR) ] ; then mkdir -p $(OPAL_OBJDIR) ; fi
	$(CC) $(STDCCFLAGS) -ansi -I$(GSM_INCDIR) -DWAV49 -DNeedFunctionPrototypes=1 $(OPTCCFLAGS) $(CFLAGS) -c $< -o $@

$(DEPDIR)/%.dep : $(GSM_SRCDIR)/%.c
	@if [ ! -d $(DEPDIR) ] ; then mkdir -p $(DEPDIR) ; fi
	@printf %s $(OPAL_OBJDIR)/ > $@
	$(CC) -ansi -I$(GSM_INCDIR) -DWAV49 -DNeedFunctionPrototypes=1 $(CFLAGS) -M $< >> $@


# Build rules for the G.726 codec

$(OPAL_OBJDIR)/%.o : $(G726_DIR)/%.c
	@if [ ! -d $(OPAL_OBJDIR) ] ; then mkdir -p $(OPAL_OBJDIR) ; fi
	$(CC) $(STDCCFLAGS) $(CFLAGS) -c $< -o $@

$(DEPDIR)/%.dep : $(G726_DIR)/%.c
	@if [ ! -d $(DEPDIR) ] ; then mkdir -p $(DEPDIR) ; fi
	@printf %s $(OPAL_OBJDIR)/ > $@
	$(CC) $(CFLAGS) -M $< >> $@


# Build rules for the LPC10 codec

$(OPAL_OBJDIR)/%.o : $(LPC10_SRCDIR)/%.c
	@if [ ! -d $(OPAL_OBJDIR) ] ; then mkdir -p $(OPAL_OBJDIR) ; fi
	$(CC) $(STDCCFLAGS) -I$(LPC10_INCDIR) $(OPTCCFLAGS) $(CFLAGS) -c $< -o $@

$(DEPDIR)/%.dep : $(LPC10_SRCDIR)/%.c
	@if [ ! -d $(DEPDIR) ] ; then mkdir -p $(DEPDIR) ; fi
	@printf %s $(OPAL_OBJDIR)/ > $@
	$(CC) -I$(LPC10_INCDIR) $(CFLAGS) -M $< >> $@

LIBDIR= LIBDIR@

###############################################################################
#### Subdirectories
$(STANDARD_TARGETS) ::
	set -e; $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@;)


test:
	@echo $(ASN_CXX_FILES)


#### Install targets
install:
	mkdir -p $(DESTDIR)$(LIBDIR)
	( for dir in $(DESTDIR)$(LIBDIR) \
		     $(DESTDIR)$(PREFIX)/include/opal/asn \
		     $(DESTDIR)$(PREFIX)/include/opal/codec \
		     $(DESTDIR)$(PREFIX)/include/opal/h323 \
		     $(DESTDIR)$(PREFIX)/include/opal/lids \
		     $(DESTDIR)$(PREFIX)/include/opal/opal \
		     $(DESTDIR)$(PREFIX)/include/opal/rtp \
		     $(DESTDIR)$(PREFIX)/include/opal/sip \
		     $(DESTDIR)$(PREFIX)/include/opal/t120 \
		     $(DESTDIR)$(PREFIX)/include/opal/t38 \
		     $(DESTDIR)$(PREFIX)/share/opal ;\
		do mkdir -p $$dir ; chmod 755 $$dir ; \
	done)
	$(INSTALL) -m 755 lib/$(LIBNAME_PAT) $(DESTDIR)$(LIBDIR)
	ln -snf $(LIBNAME_PAT) \
		$(DESTDIR)$(LIBDIR)/$(OPAL_FILE).$(MAJOR_VERSION).$(MINOR_VERSION)
	ln -snf $(LIBNAME_PAT) \
		$(DESTDIR)$(LIBDIR)/$(OPAL_FILE).$(MAJOR_VERSION)
	ln -snf $(LIBNAME_PAT) \
		$(DESTDIR)$(LIBDIR)/$(OPAL_FILE)
	ln -snf $(LIBNAME_PAT) \
		$(DESTDIR)$(LIBDIR)/libopal.so
	( for fn in include/asn/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/asn ; \
	done)
	( for fn in include/codec/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/codec ; \
	done)
	( for fn in include/h323/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/h323 ; \
	done)
	( for fn in include/lids/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/lids ; \
	done)
	( for fn in include/opal/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/opal ; \
	done)
	( for fn in include/rtp/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/rtp ; \
	done)
	( for fn in include/sip/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/sip ; \
	done)
	( for fn in include/t120/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/t120 ; \
	done)
	( for fn in include/t38/*.h ; do \
		$(INSTALL) -m 644 $$fn $(DESTDIR)$(PREFIX)/include/opal/t38 ; \
	done)
	$(INSTALL) -m 644 opal_inc.mak $(DESTDIR)$(PREFIX)/share/opal

uninstall:
	rm -rf $(DESTDIR)$(PREFIX)/include/opal \
	       $(DESTDIR)$(PREFIX)/share/opal
	rm -f $(DESTDIR)$(LIBDIR)/$(OPAL_FILE) \
	      $(DESTDIR)$(LIBDIR)/libopal.so \
	      $(DESTDIR)$(LIBDIR)/$(OPAL_FILE).$(MAJOR_VERSION).$(MINOR_VERSION) \
	      $(DESTDIR)$(LIBDIR)/$(OPAL_FILE).$(MAJOR_VERSION) \
	      $(DESTDIR)$(LIBDIR)/$(LIBNAME_PAT)

  

 
docs:
	doxygen opal_cfg.dxy
 

# End of file #################################################################


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]