1 # Just set OC_BASE to the opencore root, or set AMR_BASE directly to
2 # a detached gsm_amr directory
3 OC_BASE = $(top_srcdir)/opencore
4 AMR_BASE = $(OC_BASE)/codecs_v2/audio/gsm_amr
6 DEC_DIR = $(AMR_BASE)/amr_nb/dec
7 ENC_DIR = $(AMR_BASE)/amr_nb/enc
8 COMMON_DIR = $(AMR_BASE)/amr_nb/common
9 DEC_SRC_DIR = $(DEC_DIR)/src
10 ENC_SRC_DIR = $(ENC_DIR)/src
11 COMMON_SRC_DIR = $(COMMON_DIR)/src
12 OSCL = $(top_srcdir)/oscl
14 AM_CFLAGS = -I$(OSCL) -I$(DEC_SRC_DIR) -I$(COMMON_DIR)/include \
15 -I$(DEC_DIR)/include -I$(AMR_BASE)/common/dec/include -I$(ENC_SRC_DIR)
18 AM_CFLAGS += -DPV_CPU_ARCH_VERSION=5 -DPV_COMPILER=1
22 AM_CFLAGS += -x c -std=c99
23 libopencore_amrnb_la_LINK = $(LINK) $(libopencore_amrnb_la_LDFLAGS)
24 # Mention a dummy pure C file to trigger generation of the $(LINK) variable
25 nodist_EXTRA_libopencore_amrnb_la_SOURCES = dummy.c
27 libopencore_amrnb_la_LINK = $(CXXLINK) $(libopencore_amrnb_la_LDFLAGS)
30 AM_CXXFLAGS = $(AM_CFLAGS)
32 amrnbincludedir = $(includedir)/opencore-amrnb
33 amrnbinclude_HEADERS =
35 pkgconfigdir = $(libdir)/pkgconfig
36 pkgconfig_DATA = opencore-amrnb.pc
38 lib_LTLIBRARIES = libopencore-amrnb.la
40 libopencore_amrnb_la_LDFLAGS = -version-info @OPENCORE_AMRNB_VERSION@ -no-undefined -export-symbols $(top_srcdir)/amrnb/opencore-amrnb.sym
41 EXTRA_DIST = $(top_srcdir)/amrnb/opencore-amrnb.sym
43 # Our sources to include. There are certain sources we exclude and they are
44 # $(DEC_SRC_DIR)/decoder_gsm_amr.cpp
45 # $(DEC_SRC_DIR)/pvgsmamrdecoder.cpp
46 # $(ENC_SRC_DIR)/gsmamr_encoder_wrapper.cpp
47 # $(COMMON_SRC_DIR)/bits2prm.cpp
48 # $(COMMON_SRC_DIR)/copy.cpp
49 # $(COMMON_SRC_DIR)/div_32.cpp
50 # $(COMMON_SRC_DIR)/l_abs.cpp
51 # $(COMMON_SRC_DIR)/r_fft.cpp
52 # $(COMMON_SRC_DIR)/vad1.cpp
53 # $(COMMON_SRC_DIR)/vad2.cpp
54 libopencore_amrnb_la_SOURCES = \
58 libopencore_amrnb_la_SOURCES += \
59 $(DEC_SRC_DIR)/agc.cpp \
60 $(DEC_SRC_DIR)/amrdecode.cpp \
61 $(DEC_SRC_DIR)/a_refl.cpp \
62 $(DEC_SRC_DIR)/b_cn_cod.cpp \
63 $(DEC_SRC_DIR)/bgnscd.cpp \
64 $(DEC_SRC_DIR)/c_g_aver.cpp \
65 $(DEC_SRC_DIR)/d1035pf.cpp \
66 $(DEC_SRC_DIR)/d2_11pf.cpp \
67 $(DEC_SRC_DIR)/d2_9pf.cpp \
68 $(DEC_SRC_DIR)/d3_14pf.cpp \
69 $(DEC_SRC_DIR)/d4_17pf.cpp \
70 $(DEC_SRC_DIR)/d8_31pf.cpp \
71 $(DEC_SRC_DIR)/dec_amr.cpp \
72 $(DEC_SRC_DIR)/dec_gain.cpp \
73 $(DEC_SRC_DIR)/dec_input_format_tab.cpp \
74 $(DEC_SRC_DIR)/dec_lag3.cpp \
75 $(DEC_SRC_DIR)/dec_lag6.cpp \
76 $(DEC_SRC_DIR)/d_gain_c.cpp \
77 $(DEC_SRC_DIR)/d_gain_p.cpp \
78 $(DEC_SRC_DIR)/d_plsf_3.cpp \
79 $(DEC_SRC_DIR)/d_plsf_5.cpp \
80 $(DEC_SRC_DIR)/d_plsf.cpp \
81 $(DEC_SRC_DIR)/dtx_dec.cpp \
82 $(DEC_SRC_DIR)/ec_gains.cpp \
83 $(DEC_SRC_DIR)/ex_ctrl.cpp \
84 $(DEC_SRC_DIR)/if2_to_ets.cpp \
85 $(DEC_SRC_DIR)/int_lsf.cpp \
86 $(DEC_SRC_DIR)/lsp_avg.cpp \
87 $(DEC_SRC_DIR)/ph_disp.cpp \
88 $(DEC_SRC_DIR)/post_pro.cpp \
89 $(DEC_SRC_DIR)/preemph.cpp \
90 $(DEC_SRC_DIR)/pstfilt.cpp \
91 $(DEC_SRC_DIR)/qgain475_tab.cpp \
92 $(DEC_SRC_DIR)/sp_dec.cpp \
93 $(DEC_SRC_DIR)/wmf_to_ets.cpp
94 amrnbinclude_HEADERS += interf_dec.h
96 AM_CFLAGS += -DDISABLE_AMRNB_DECODER
100 libopencore_amrnb_la_SOURCES += \
101 $(ENC_SRC_DIR)/amrencode.cpp \
102 $(ENC_SRC_DIR)/autocorr.cpp \
103 $(ENC_SRC_DIR)/c1035pf.cpp \
104 $(ENC_SRC_DIR)/c2_11pf.cpp \
105 $(ENC_SRC_DIR)/c2_9pf.cpp \
106 $(ENC_SRC_DIR)/c3_14pf.cpp \
107 $(ENC_SRC_DIR)/c4_17pf.cpp \
108 $(ENC_SRC_DIR)/c8_31pf.cpp \
109 $(ENC_SRC_DIR)/calc_cor.cpp \
110 $(ENC_SRC_DIR)/calc_en.cpp \
111 $(ENC_SRC_DIR)/cbsearch.cpp \
112 $(ENC_SRC_DIR)/cl_ltp.cpp \
113 $(ENC_SRC_DIR)/cod_amr.cpp \
114 $(ENC_SRC_DIR)/convolve.cpp \
115 $(ENC_SRC_DIR)/cor_h.cpp \
116 $(ENC_SRC_DIR)/cor_h_x2.cpp \
117 $(ENC_SRC_DIR)/cor_h_x.cpp \
118 $(ENC_SRC_DIR)/corrwght_tab.cpp \
119 $(ENC_SRC_DIR)/div_32.cpp \
120 $(ENC_SRC_DIR)/dtx_enc.cpp \
121 $(ENC_SRC_DIR)/enc_lag3.cpp \
122 $(ENC_SRC_DIR)/enc_lag6.cpp \
123 $(ENC_SRC_DIR)/enc_output_format_tab.cpp \
124 $(ENC_SRC_DIR)/ets_to_if2.cpp \
125 $(ENC_SRC_DIR)/ets_to_wmf.cpp \
126 $(ENC_SRC_DIR)/g_adapt.cpp \
127 $(ENC_SRC_DIR)/gain_q.cpp \
128 $(ENC_SRC_DIR)/g_code.cpp \
129 $(ENC_SRC_DIR)/g_pitch.cpp \
130 $(ENC_SRC_DIR)/hp_max.cpp \
131 $(ENC_SRC_DIR)/inter_36.cpp \
132 $(ENC_SRC_DIR)/inter_36_tab.cpp \
133 $(ENC_SRC_DIR)/l_abs.cpp \
134 $(ENC_SRC_DIR)/lag_wind.cpp \
135 $(ENC_SRC_DIR)/lag_wind_tab.cpp \
136 $(ENC_SRC_DIR)/l_comp.cpp \
137 $(ENC_SRC_DIR)/levinson.cpp \
138 $(ENC_SRC_DIR)/l_extract.cpp \
139 $(ENC_SRC_DIR)/lflg_upd.cpp \
140 $(ENC_SRC_DIR)/l_negate.cpp \
141 $(ENC_SRC_DIR)/lpc.cpp \
142 $(ENC_SRC_DIR)/ol_ltp.cpp \
143 $(ENC_SRC_DIR)/pitch_fr.cpp \
144 $(ENC_SRC_DIR)/pitch_ol.cpp \
145 $(ENC_SRC_DIR)/p_ol_wgh.cpp \
146 $(ENC_SRC_DIR)/pre_big.cpp \
147 $(ENC_SRC_DIR)/pre_proc.cpp \
148 $(ENC_SRC_DIR)/prm2bits.cpp \
149 $(ENC_SRC_DIR)/qgain475.cpp \
150 $(ENC_SRC_DIR)/qgain795.cpp \
151 $(ENC_SRC_DIR)/q_gain_c.cpp \
152 $(ENC_SRC_DIR)/q_gain_p.cpp \
153 $(ENC_SRC_DIR)/qua_gain.cpp \
154 $(ENC_SRC_DIR)/s10_8pf.cpp \
155 $(ENC_SRC_DIR)/set_sign.cpp \
156 $(ENC_SRC_DIR)/sid_sync.cpp \
157 $(ENC_SRC_DIR)/sp_enc.cpp \
158 $(ENC_SRC_DIR)/spreproc.cpp \
159 $(ENC_SRC_DIR)/spstproc.cpp \
160 $(ENC_SRC_DIR)/ton_stab.cpp \
161 $(ENC_SRC_DIR)/vad1.cpp
162 amrnbinclude_HEADERS += interf_enc.h
164 AM_CFLAGS += -DDISABLE_AMRNB_ENCODER
167 libopencore_amrnb_la_SOURCES += \
168 $(COMMON_SRC_DIR)/add.cpp \
169 $(COMMON_SRC_DIR)/az_lsp.cpp \
170 $(COMMON_SRC_DIR)/bitno_tab.cpp \
171 $(COMMON_SRC_DIR)/bitreorder_tab.cpp \
172 $(COMMON_SRC_DIR)/c2_9pf_tab.cpp \
173 $(COMMON_SRC_DIR)/div_s.cpp \
174 $(COMMON_SRC_DIR)/extract_h.cpp \
175 $(COMMON_SRC_DIR)/extract_l.cpp \
176 $(COMMON_SRC_DIR)/gains_tbl.cpp \
177 $(COMMON_SRC_DIR)/gc_pred.cpp \
178 $(COMMON_SRC_DIR)/get_const_tbls.cpp \
179 $(COMMON_SRC_DIR)/gmed_n.cpp \
180 $(COMMON_SRC_DIR)/gray_tbl.cpp \
181 $(COMMON_SRC_DIR)/grid_tbl.cpp \
182 $(COMMON_SRC_DIR)/int_lpc.cpp \
183 $(COMMON_SRC_DIR)/inv_sqrt.cpp \
184 $(COMMON_SRC_DIR)/inv_sqrt_tbl.cpp \
185 $(COMMON_SRC_DIR)/l_deposit_h.cpp \
186 $(COMMON_SRC_DIR)/l_deposit_l.cpp \
187 $(COMMON_SRC_DIR)/log2.cpp \
188 $(COMMON_SRC_DIR)/log2_norm.cpp \
189 $(COMMON_SRC_DIR)/log2_tbl.cpp \
190 $(COMMON_SRC_DIR)/lsfwt.cpp \
191 $(COMMON_SRC_DIR)/l_shr_r.cpp \
192 $(COMMON_SRC_DIR)/lsp_az.cpp \
193 $(COMMON_SRC_DIR)/lsp.cpp \
194 $(COMMON_SRC_DIR)/lsp_lsf.cpp \
195 $(COMMON_SRC_DIR)/lsp_lsf_tbl.cpp \
196 $(COMMON_SRC_DIR)/lsp_tab.cpp \
197 $(COMMON_SRC_DIR)/mult_r.cpp \
198 $(COMMON_SRC_DIR)/negate.cpp \
199 $(COMMON_SRC_DIR)/norm_l.cpp \
200 $(COMMON_SRC_DIR)/norm_s.cpp \
201 $(COMMON_SRC_DIR)/overflow_tbl.cpp \
202 $(COMMON_SRC_DIR)/ph_disp_tab.cpp \
203 $(COMMON_SRC_DIR)/pow2.cpp \
204 $(COMMON_SRC_DIR)/pow2_tbl.cpp \
205 $(COMMON_SRC_DIR)/pred_lt.cpp \
206 $(COMMON_SRC_DIR)/q_plsf_3.cpp \
207 $(COMMON_SRC_DIR)/q_plsf_3_tbl.cpp \
208 $(COMMON_SRC_DIR)/q_plsf_5.cpp \
209 $(COMMON_SRC_DIR)/q_plsf_5_tbl.cpp \
210 $(COMMON_SRC_DIR)/q_plsf.cpp \
211 $(COMMON_SRC_DIR)/qua_gain_tbl.cpp \
212 $(COMMON_SRC_DIR)/reorder.cpp \
213 $(COMMON_SRC_DIR)/residu.cpp \
214 $(COMMON_SRC_DIR)/round.cpp \
215 $(COMMON_SRC_DIR)/set_zero.cpp \
216 $(COMMON_SRC_DIR)/shr.cpp \
217 $(COMMON_SRC_DIR)/shr_r.cpp \
218 $(COMMON_SRC_DIR)/sqrt_l.cpp \
219 $(COMMON_SRC_DIR)/sqrt_l_tbl.cpp \
220 $(COMMON_SRC_DIR)/sub.cpp \
221 $(COMMON_SRC_DIR)/syn_filt.cpp \
222 $(COMMON_SRC_DIR)/weight_a.cpp \
223 $(COMMON_SRC_DIR)/window_tab.cpp