1 # Just set OC_BASE to the opencore root, or set AMR_BASE directly to
2 # a detached gsm_amr directory
4 AMR_BASE = $(OC_BASE)/codecs_v2/audio/gsm_amr
8 # To compile as C instead of C++, define BUILD_AS_C
9 ifneq (, $(BUILD_AS_C))
11 CXXFLAGS += -x c -std=c99
18 DEC_DIR = $(AMR_BASE)/amr_wb/dec
19 DEC_SRC_DIR = $(DEC_DIR)/src
22 CPPFLAGS = -I$(OSCL) -I$(DEC_SRC_DIR) -I$(DEC_DIR)/include -I$(AMR_BASE)/common/dec/include
24 # Find all the source files
25 # Exclude only decoder_amr_wb.cpp, not dtx_decoder_amr_wb.cpp
26 DEC_SRC := $(shell cd $(DEC_SRC_DIR) && echo *.cpp | sed 's/ decoder_amr_wb.cpp//')
28 DEC_OBJS := $(DEC_SRC:.cpp=.o)
29 DEC_OBJS := $(patsubst %,$(DEC_SRC_DIR)/%, $(DEC_OBJS))
31 OBJS = wrapper.o $(DEC_OBJS)
32 SOBJS = $(OBJS:%.o=%.lo)
38 VERSION = $(MAJOR).$(MINOR).$(REVISION)
40 ifeq ($(shell uname), Darwin)
42 SHLIB_FLAGS = -dynamiclib
44 ifeq ($(shell uname | sed -e 's/\(MINGW32_NT\)\(.*\)/\1/'), MINGW32_NT)
45 SHLIB_EXT = $(MAJOR).$(MINOR).$(REVISION).dll
47 SONAME = libopencore-amrwb-$(MAJOR).dll
49 SHLIB_EXT = so.$(MAJOR).$(MINOR).$(REVISION)
51 SONAME = libopencore-amrwb.so.$(MAJOR)
54 SHLIB = libopencore-amrwb.$(SHLIB_EXT)
56 all: libopencore-amrwb.a $(SHLIB)
59 ifeq ($(shell uname), Darwin)
60 $(CXX) $(SHLIB_FLAGS) -o $@ $+ $(LDFLAGS)
62 $(CXX) $(SHLIB_FLAGS) -o $@ $+ -Wl,-soname,$(SONAME) $(LDFLAGS)
66 $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -DPIC -c $< -o $@
69 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -DPIC -c $< -o $@
71 libopencore-amrwb.a: $(OBJS)
74 install: libopencore-amrwb.a $(SHLIB)
75 install -d $(DESTDIR)$(PREFIX)/$(LIBDIR)
76 install -m 644 libopencore-amrwb.a $(DESTDIR)$(PREFIX)/$(LIBDIR)
77 ifeq ($(shell uname | sed -e 's/\(MINGW32_NT\)\(.*\)/\1/'), MINGW32_NT)
78 install -d $(DESTDIR)$(PREFIX)/$(BINDIR)
79 install $(SHLIB) $(DESTDIR)$(PREFIX)/$(BINDIR)
81 install $(SHLIB) $(DESTDIR)$(PREFIX)/$(LIBDIR)
83 ifneq ($(shell uname), Darwin)
84 ifeq ($(shell uname | sed -e 's/\(MINGW32_NT\)\(.*\)/\1/'), MINGW32_NT)
85 ln -sf $(SHLIB) $(DESTDIR)$(PREFIX)/$(BINDIR)/$(SONAME)
86 ln -sf $(DESTDIR)$(PREFIX)/$(BINDIR)/$(SONAME) $(DESTDIR)$(PREFIX)/$(BINDIR)/libopencore-amrwb.dll
88 ln -sf $(SHLIB) $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(SONAME)
89 ln -sf $(SONAME) $(DESTDIR)$(PREFIX)/$(LIBDIR)/libopencore-amrwb.so
92 install -d $(DESTDIR)$(PREFIX)/include/opencore-amrwb
93 install -m 644 dec_if.h $(DESTDIR)$(PREFIX)/include/opencore-amrwb
94 install -m 644 if_rom.h $(DESTDIR)$(PREFIX)/include/opencore-amrwb
97 rm -f $(SHLIB) libopencore-amrwb.a *.o *.lo $(OBJS) $(SOBJS)