1LOCAL_PATH := $(call my-dir)
2
3include $(CLEAR_VARS)
4LOCAL_MODULE    := libopus
5OGG_DIR         := external/libogg
6LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/src $(LOCAL_PATH)/silk \
7                    $(LOCAL_PATH)/celt $(LOCAL_PATH)/silk/fixed $(OGG_DIR)/include
8LOCAL_SRC_FILES := celt/bands.c \
9                   celt/celt.c \
10                   celt/celt_decoder.c \
11                   celt/celt_encoder.c \
12                   celt/celt_lpc.c \
13                   celt/cwrs.c \
14                   celt/entcode.c \
15                   celt/entdec.c \
16                   celt/entenc.c \
17                   celt/kiss_fft.c \
18                   celt/laplace.c \
19                   celt/mathops.c \
20                   celt/mdct.c \
21                   celt/modes.c \
22                   celt/pitch.c \
23                   celt/quant_bands.c \
24                   celt/rate.c \
25                   celt/vq.c \
26                   silk/A2NLSF.c \
27                   silk/ana_filt_bank_1.c \
28                   silk/biquad_alt.c \
29                   silk/bwexpander_32.c \
30                   silk/bwexpander.c \
31                   silk/check_control_input.c \
32                   silk/CNG.c \
33                   silk/code_signs.c \
34                   silk/control_audio_bandwidth.c \
35                   silk/control_codec.c \
36                   silk/control_SNR.c \
37                   silk/debug.c \
38                   silk/dec_API.c \
39                   silk/decode_core.c \
40                   silk/decode_frame.c \
41                   silk/decode_indices.c \
42                   silk/decode_parameters.c \
43                   silk/decode_pitch.c \
44                   silk/decode_pulses.c \
45                   silk/decoder_set_fs.c \
46                   silk/enc_API.c \
47                   silk/encode_indices.c \
48                   silk/encode_pulses.c \
49                   silk/gain_quant.c \
50                   silk/HP_variable_cutoff.c \
51                   silk/init_decoder.c \
52                   silk/init_encoder.c \
53                   silk/inner_prod_aligned.c \
54                   silk/interpolate.c \
55                   silk/lin2log.c \
56                   silk/log2lin.c \
57                   silk/LPC_analysis_filter.c \
58                   silk/LPC_inv_pred_gain.c \
59                   silk/LP_variable_cutoff.c \
60                   silk/NLSF2A.c \
61                   silk/NLSF_decode.c \
62                   silk/NLSF_del_dec_quant.c \
63                   silk/NLSF_encode.c \
64                   silk/NLSF_stabilize.c \
65                   silk/NLSF_unpack.c \
66                   silk/NLSF_VQ.c \
67                   silk/NLSF_VQ_weights_laroia.c \
68                   silk/NSQ.c \
69                   silk/NSQ_del_dec.c \
70                   silk/pitch_est_tables.c \
71                   silk/PLC.c \
72                   silk/process_NLSFs.c \
73                   silk/quant_LTP_gains.c \
74                   silk/resampler.c \
75                   silk/resampler_down2_3.c \
76                   silk/resampler_down2.c \
77                   silk/resampler_private_AR2.c \
78                   silk/resampler_private_down_FIR.c \
79                   silk/resampler_private_IIR_FIR.c \
80                   silk/resampler_private_up2_HQ.c \
81                   silk/resampler_rom.c \
82                   silk/shell_coder.c \
83                   silk/sigm_Q15.c \
84                   silk/sort.c \
85                   silk/stereo_decode_pred.c \
86                   silk/stereo_encode_pred.c \
87                   silk/stereo_find_predictor.c \
88                   silk/stereo_LR_to_MS.c \
89                   silk/stereo_MS_to_LR.c \
90                   silk/stereo_quant_pred.c \
91                   silk/sum_sqr_shift.c \
92                   silk/table_LSF_cos.c \
93                   silk/tables_gain.c \
94                   silk/tables_LTP.c \
95                   silk/tables_NLSF_CB_NB_MB.c \
96                   silk/tables_NLSF_CB_WB.c \
97                   silk/tables_other.c \
98                   silk/tables_pitch_lag.c \
99                   silk/tables_pulses_per_block.c \
100                   silk/VAD.c \
101                   silk/VQ_WMat_EC.c \
102                   silk/fixed/apply_sine_window_FIX.c \
103                   silk/fixed/autocorr_FIX.c \
104                   silk/fixed/burg_modified_FIX.c \
105                   silk/fixed/corrMatrix_FIX.c \
106                   silk/fixed/encode_frame_FIX.c \
107                   silk/fixed/find_LPC_FIX.c \
108                   silk/fixed/find_LTP_FIX.c \
109                   silk/fixed/find_pitch_lags_FIX.c \
110                   silk/fixed/find_pred_coefs_FIX.c \
111                   silk/fixed/k2a_FIX.c \
112                   silk/fixed/k2a_Q16_FIX.c \
113                   silk/fixed/LTP_analysis_filter_FIX.c \
114                   silk/fixed/LTP_scale_ctrl_FIX.c \
115                   silk/fixed/noise_shape_analysis_FIX.c \
116                   silk/fixed/pitch_analysis_core_FIX.c \
117                   silk/fixed/prefilter_FIX.c \
118                   silk/fixed/process_gains_FIX.c \
119                   silk/fixed/regularize_correlations_FIX.c \
120                   silk/fixed/residual_energy16_FIX.c \
121                   silk/fixed/residual_energy_FIX.c \
122                   silk/fixed/schur64_FIX.c \
123                   silk/fixed/schur_FIX.c \
124                   silk/fixed/solve_LS_FIX.c \
125                   silk/fixed/vector_ops_FIX.c \
126                   silk/fixed/warped_autocorrelation_FIX.c \
127                   src/analysis.c \
128                   src/mlp.c \
129                   src/mlp_data.c \
130                   src/opus.c \
131                   src/opus_decoder.c \
132                   src/opus_encoder.c \
133                   src/opus_multistream.c \
134                   src/opus_multistream_decoder.c \
135                   src/opus_multistream_encoder.c \
136                   src/repacketizer.c \
137                   src/repacketizer_demo.c
138
139LOCAL_CFLAGS        := -DNULL=0 -DSOCKLEN_T=socklen_t -DLOCALE_NOT_USED \
140                       -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 \
141                       -Drestrict='' -D__EMX__ -DOPUS_BUILD -DFIXED_POINT \
142                       -DUSE_ALLOCA -DHAVE_LRINT -DHAVE_LRINTF -O1 -fno-math-errno
143LOCAL_CPPFLAGS      := -DBSD=1 -ffast-math -O1 -funroll-loops
144
145LOCAL_STATIC_LIBRARIES := libogg
146
147include $(BUILD_SHARED_LIBRARY)
148