aboutsummaryrefslogtreecommitdiffstats
path: root/channels/h323
diff options
context:
space:
mode:
authorjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2005-04-29 04:30:51 +0000
committerjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2005-04-29 04:30:51 +0000
commitb0b24cc0fbb3952a2ed671d36c67262b7b3ad73c (patch)
treeb9d31cbbe83b742dab48acc818b1e1fe8a6ffe9f /channels/h323
parenteaa1e61e45af3966cd187275ea2c285871f2b605 (diff)
Rework astersk make process to be compatable with the Open H.323 build process. Bug #3981
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5527 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/h323')
-rwxr-xr-xchannels/h323/.cvsignore5
-rwxr-xr-xchannels/h323/Makefile134
-rwxr-xr-xchannels/h323/README10
3 files changed, 39 insertions, 110 deletions
diff --git a/channels/h323/.cvsignore b/channels/h323/.cvsignore
index 4671378ae..de62da24d 100755
--- a/channels/h323/.cvsignore
+++ b/channels/h323/.cvsignore
@@ -1 +1,6 @@
.depend
+Makefile.ast
+ast_h323.dep
+ast_h323.cxx
+ast_h323.o
+libchanh323.a
diff --git a/channels/h323/Makefile b/channels/h323/Makefile
index f35cfb226..0e9266164 100755
--- a/channels/h323/Makefile
+++ b/channels/h323/Makefile
@@ -1,117 +1,41 @@
-# include the Makefile of OpenH323
-
-ifndef OPENH323DIR
-OPENH323DIR=$(HOME)/openh323
-endif
-
-ifndef PWLIBDIR
-PWLIBDIR=$(HOME)/pwlib
-endif
-
-ifndef ASTERISKDIR
-ASTERISKDIR= /usr/lib/asterisk/modules
-endif
-
-ifndef ASTETCDIR
-ASTETCDIR=/etc/asterisk
-endif
-
-PWLIBVERSIONFILE=$(PWLIBDIR)/version.h
-OPENH323VERSIONFILE=$(OPENH323DIR)/version.h
-
-PWLIB_MAJOR_VERSION=$(shell test -e ${PWLIBVERSIONFILE} && cat ${PWLIBVERSIONFILE} | grep MAJOR_VERSION | cut -f3 -d' ')
-PWLIB_MINOR_VERSION=$(shell test -e ${PWLIBVERSIONFILE} && cat ${PWLIBVERSIONFILE} | grep MINOR_VERSION | cut -f3 -d' ')
-PWLIB_BUILD_NUMBER=$(shell test -e ${PWLIBVERSIONFILE} && cat ${PWLIBVERSIONFILE} | grep BUILD_NUMBER | cut -f3 -d' ')
-PWLIB_VERSION="${PWLIB_MAJOR_VERSION}.${PWLIB_MINOR_VERSION}.${PWLIB_BUILD_NUMBER}"
-
-OPENH323_MAJOR_VERSION=$(shell test -e ${OPENH323VERSIONFILE} && cat ${OPENH323VERSIONFILE} | grep MAJOR_VERSION | cut -f3 -d' ')
-OPENH323_MINOR_VERSION=$(shell test -e ${OPENH323VERSIONFILE} && cat ${OPENH323VERSIONFILE} | grep MINOR_VERSION | cut -f3 -d' ')
-OPENH323_BUILD_NUMBER=$(shell test -e ${OPENH323VERSIONFILE} && cat ${OPENH323VERSIONFILE} | grep BUILD_NUMBER | cut -f3 -d' ')
-OPENH323_VERSION="${OPENH323_MAJOR_VERSION}.${OPENH323_MINOR_VERSION}.${OPENH323_BUILD_NUMBER}"
-
#
-# This needs to be updated to deal with more than just little endian machines
+# Makefile
#
-OSARCH=$(shell uname -s)
-PROC=$(shell uname -m)
-ifneq (${OSARCH},FreeBSD)
-ifneq (${OSARCH},NetBSD)
-ifneq (${PROC},ppc)
-CFLAGS += -march=$(PROC)
-endif
-endif
-endif
-CFLAGS += -DPBYTE_ORDER=PLITTLE_ENDIAN
-
-ifeq (${OSARCH},Linux)
-LDLIBS+=-ldl
-endif
-
-#############################################
+# Make file for OpenH323 support layer
#
-# Only change below if you know WTF your doing
-#
-OSARCH=$(shell uname -s)
-CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
-CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes
-CFLAGS += -D_REENTRANT -D_GNU_SOURCE
-CFLAGS += -I../../include
-CFLAGS += -I$(PWLIBDIR)/include
-CFLAGS += -I$(OPENH323DIR)/include -Wno-missing-prototypes
-
-all: checkversion depend libchanh323.a
-
-samples:
- if [ -f $(ASTETCDIR)/h323.conf ]; then \
- mv -f $(ASTETCDIR)/h323.conf $(ASTETCDIR)/h323.conf.old ; \
- fi ;
- install h323.conf.sample $(ASTETCDIR)/h323.conf
-
-libchanh323.a: ast_h323.o
- ar cr $@ $<
+# Verify those options with main Makefile
+STDCCFLAGS += -DNDEBUG
+STDCCFLAGS += $(shell grep ^DEBUG_THREADS ../../Makefile | sed -e "s/^DEBUG_THREADS[ ]*=//" -e "s/\([^\#]*\)\#.*/\1/")
+STDCCFLAGS += -I../../include
+STDCCFLAGS += -Wmissing-prototypes
+STDCCFLAGS += -fPIC
+#OPTCCFLAGS +=
+CFLAGS += -pipe
+TARGET += libchanh323.a
+TARGET += Makefile.ast
+SOURCES = ast_h323.cxx
+OBJDIR = .
-ast_h323.o: ast_h323.cpp
- $(CXX) -g -c -o $@ $(CFLAGS) $<
-
-ifneq ($(wildcard .depend),)
-include .depend
+ifndef OPENH323DIR
+OPENH323DIR=$(HOME)/openh323
endif
-chan_h323.so:
- $(CXX) -g -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib $(CHANH323LIB)
+include $(OPENH323DIR)/openh323u.mak
-chan_h323_d.so: chan_h323.o ast_h323.o
- $(CXX) -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_d -L$(OPENH323DIR)/lib -lh323_linux_x86_d -L/usr/lib $(CHANH323LIB)
+$(SOURCES):: $(SOURCES:.cxx=.cpp)
+ ln -f $< $@
-chan_h323_s.so: chan_h323.o ast_h323.o
- $(CXX) -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_r_s -L$(OPENH323DIR)/lib -lh323_linux_x86_r_s -L/usr/lib $(CHANH323LIB)
-clean:
- rm -f *.o *.so core.* libchanh323.a .depend
+$(SOURCES):: Makefile ../../Makefile
+ touch $(SOURCES)
-depend: .depend
+libchanh323.a: $(OBJS)
+ ar crv $@ $(OBJS)
-.depend:
- ../../mkdep $(CFLAGS) `ls *.cpp`
+Makefile.ast: FORCE
+ @echo H323CFLAGS = $(STDCCFLAGS) $(OPTCCFLAGS) $(CFLAGS) >$@.tmp
+ @echo H323LDFLAGS = $(CFLAGS) $(LDFLAGS) >>$@.tmp
+ @echo H323LDLIBS = $(LDLIBS) $(ENDLDLIBS) $(ENDLDFLAGS) >>$@.tmp
+ @if [ -r $@ ] && cmp -s $@ $@.tmp; then rm -f $@.tmp; else mv -f $@.tmp $@; fi
-checkversion:
- @echo -n "PWLib version is ${PWLIB_VERSION}... "
- @if [ ${PWLIB_MAJOR_VERSION} -gt 1 -o ${PWLIB_MAJOR_VERSION} -eq 1 -a ${PWLIB_MINOR_VERSION} -gt 8 -o ${PWLIB_MAJOR_VERSION} -eq 1 -a ${PWLIB_MINOR_VERSION} -eq 8 -a ${PWLIB_BUILD_NUMBER} -ge 1 ]; then \
- echo "ok" ; \
- else \
- echo "BAD" ; \
- echo ; \
- echo "Please read README for further details!" ; \
- echo ; \
- exit 1 ; \
- fi
- @echo -n "OpenH323 version is ${OPENH323_VERSION}... "
- @if [ ${OPENH323_MAJOR_VERSION} -gt 1 -o ${OPENH323_MAJOR_VERSION} -eq 1 -a ${OPENH323_MINOR_VERSION} -gt 15 -o ${OPENH323_MAJOR_VERSION} -eq 1 -a ${OPENH323_MINOR_VERSION} -eq 15 -a ${OPENH323_BUILD_NUMBER} -ge 1 ]; then \
- echo "ok" ; \
- else \
- echo "BAD" ; \
- echo ; \
- echo "Please read README for further details!" ; \
- echo ; \
- exit 1 ; \
- fi
+FORCE:
diff --git a/channels/h323/README b/channels/h323/README
index 2f8c23d7e..794ba2d44 100755
--- a/channels/h323/README
+++ b/channels/h323/README
@@ -19,10 +19,10 @@ your distro did not install them for you without your knowledge.
To compile this code
--------------------
-Once PWLib and Open H.323 have been compiled per their specific build
-instructions, issue a make in the asterisk/channels/h323 directory,
-then go back to the Asterisk source top level directory and issue a make
-install.
+Once PWLib and Open H.323 have been compiled per their specific build
+instructions, issue a make in the asterisk/channels/h323 directory with
+argument used to build PWLib and OpenH323 (for example, make opt), then go
+back to the Asterisk source top level directory and issue a make install.
The most common compile error
@@ -45,7 +45,7 @@ cd /path/to/openh323
./configure
make clean opt
cd /path/to/asterisk/channels/h323
-make
+make opt
cd /path/to/asterisk
make install