embedding freeswitch

来源:互联网 发布:网络端游什么游戏好玩 编辑:程序博客网 时间:2024/04/19 13:53

 [gang@dev105 embedding_freeswitch]$ cat embedding_freeswitch.cpp
#include <switch.h>

int main(int argc, char** argv)
{
        switch_core_flag_t flags = SCF_USE_SQL;
        bool console = true;
        const char *err = NULL;
        switch_core_set_globals();
        switch_core_init_and_modload(flags, console ? SWITCH_TRUE : SWITCH_FALSE, &err);
        switch_core_runtime_loop(!console);
        return 0;
}

 

[gang@dev105 embedding_freeswitch]$ cat makefile | more

 

freeswitch_srcdir=/home/gang/freeswitch/src

freeswitch_lib=$(freeswitch_srcdir)/libfreeswitch.la

CORE_CFLAGS=`$(freeswitch_srcdir)/libs/apr/apr-1-config --cflags /
    --cppflags --includes` /
    `$(freeswitch_srcdir)/libs/apr-util/apu-1-config --includes` /
    -I$(freeswitch_srcdir)/libs/stfu -I$(freeswitch_srcdir)/libs/sqlite /
    -I$(freeswitch_srcdir)/libs/pcre /
    -I$(freeswitch_srcdir)/libs/speex/include /
    -I$(freeswitch_srcdir)/libs/srtp/include /
    -I$(freeswitch_srcdir)/libs/srtp/crypto/include $(am__append_4) /
    $(am__append_6)

CORE_LIBS = $(freeswitch_srcdir)/libs/apr-util/libaprutil-1.la $(freeswitch_srcdir)/libs/apr/libapr-1.la /
    $(freeswitch_srcdir)/libs/sqlite/libsqlite3.la $(freeswitch_srcdir)/libs/pcre/libpcre.la /
    $(freeswitch_srcdir)/libs/speex/libspeex/libspeexdsp.la $(freeswitch_srcdir)/libs/srtp/libsrtp.la /
    $(am__append_5)

SWITCH_AM_CFLAGS = -I$(freeswitch_srcdir)/src/include -I$(freeswitch_srcdir)/libs/libteletone/src -fPIC -Werror -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1
 -g -ggdb
SWITCH_AM_CXXFLAGS = -I$(freeswitch_srcdir)/src/include -I$(freeswitch_srcdir)/libs/libteletone/src -fPIC -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1
SWITCH_AM_LDFLAGS = -lm

###############################################################################
# Gather all flags.
#
export _CFLAGS=$(SWITCH_AM_CFLAGS) $(CORE_CFLAGS)
export _CXXFLAGS=$(SWITCH_AM_CXXFLAGS) $(CORE_CFLAGS)
export _LDFLAGS=$(freeswitch_lib) $(SWITCH_AM_LDFLAGS) $(CORE_LIBS)

CC=gcc
CXX=g++
CXXLINK=libtool --mode=link

TARGET=embedding_freeswitch

OBJ_DIR=.

%.o: %.c
        $(CC) $(_CFLAGS) -c $< -o $(OBJ_DIR)/$@

%.o: %.cpp
        $(CXX) $(_CXXFLAGS) -c $< -o $(OBJ_DIR)/$@

SOURCES = $(wildcard *.c *.cpp)
OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCES)))

$(TARGET) : $(OBJS)
        $(CXXLINK) $(CXX) -o $(OBJ_DIR)/$(TARGET) `for X in $(OBJS) ; do echo "$(OBJ_DIR)/$$X"; done` $(_LDFLAGS)
        chmod a+x $(OBJ_DIR)/$(TARGET)

all: $(TARGET)

clean:
        rm -rf $(OBJ_DIR)/*.o $(OBJ_DIR)/$(TARGET)

原创粉丝点击