diff options
Diffstat (limited to 'gr-vocoder/lib')
-rw-r--r-- | gr-vocoder/lib/CMakeLists.txt | 68 | ||||
-rw-r--r-- | gr-vocoder/lib/codec2/CMakeLists.txt | 109 | ||||
-rw-r--r-- | gr-vocoder/lib/g7xx/CMakeLists.txt | 30 | ||||
-rw-r--r-- | gr-vocoder/lib/gsm/CMakeLists.txt | 49 |
4 files changed, 256 insertions, 0 deletions
diff --git a/gr-vocoder/lib/CMakeLists.txt b/gr-vocoder/lib/CMakeLists.txt new file mode 100644 index 000000000..c4c6dabe5 --- /dev/null +++ b/gr-vocoder/lib/CMakeLists.txt @@ -0,0 +1,68 @@ +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +######################################################################## +# Setup the include and linker paths +######################################################################## +INCLUDE_DIRECTORIES( + ${GNURADIO_CORE_INCLUDE_DIRS} + ${GR_VOCODER_INCLUDE_DIRS} +) + +INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) +LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) + +######################################################################## +# Setup library +######################################################################## +LIST(APPEND gr_vocoder_sources + vocoder_alaw_decode_bs.cc + vocoder_alaw_encode_sb.cc + vocoder_codec2_decode_ps.cc + vocoder_codec2_encode_sp.cc + vocoder_cvsd_encode_sb.cc + vocoder_cvsd_decode_bs.cc + vocoder_gsm_fr_decode_ps.cc + vocoder_gsm_fr_encode_sp.cc + vocoder_ulaw_decode_bs.cc + vocoder_ulaw_encode_sb.cc +) + +######################################################################## +# Include subdirs rather to populate to the sources lists. +######################################################################## +GR_INCLUDE_SUBDIRECTORY(codec2) +GR_INCLUDE_SUBDIRECTORY(g7xx) +GR_INCLUDE_SUBDIRECTORY(gsm) + +LIST(APPEND vocoder_libs + gnuradio-core + ${Boost_LIBRARIES} +) + +ADD_LIBRARY(gnuradio-vocoder SHARED ${gr_vocoder_sources}) +TARGET_LINK_LIBRARIES(gnuradio-vocoder ${vocoder_libs}) +SET_TARGET_PROPERTIES(gnuradio-vocoder PROPERTIES DEFINE_SYMBOL "gnuradio_vocoder_EXPORTS") +SET_TARGET_PROPERTIES(gnuradio-vocoder PROPERTIES SOVERSION ${LIBVER}) + +INSTALL(TARGETS gnuradio-vocoder + LIBRARY DESTINATION ${GR_LIBRARY_DIR} COMPONENT "vocoder_runtime" # .so/.dylib file + ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT "vocoder_devel" # .lib file + RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT "vocoder_runtime" # .dll file +) diff --git a/gr-vocoder/lib/codec2/CMakeLists.txt b/gr-vocoder/lib/codec2/CMakeLists.txt new file mode 100644 index 000000000..2b8273d16 --- /dev/null +++ b/gr-vocoder/lib/codec2/CMakeLists.txt @@ -0,0 +1,109 @@ +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +######################################################################## +# Create executable to generate other sources +######################################################################## +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) +ADD_EXECUTABLE(generate_codebook ${CMAKE_CURRENT_SOURCE_DIR}/generate_codebook.c) +TARGET_LINK_LIBRARIES(generate_codebook -lm) + +######################################################################## +# Create codebook +######################################################################## +SET(CODEBOOKS + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp1.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp2.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp3.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp4.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp5.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp6.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp7.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp8.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp9.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/lsp10.txt +) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebook.c + DEPENDS generate_codebook ${CODEBOOKS} + COMMAND generate_codebook lsp_cb ${CODEBOOKS} > ${CMAKE_CURRENT_BINARY_DIR}/codebook.c +) + +######################################################################## +# Create codebookd +######################################################################## +SET(CODEBOOKSD + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp1.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp2.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp3.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp4.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp5.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp6.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp7.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp8.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp9.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp10.txt +) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebookd.c + DEPENDS generate_codebook ${CODEBOOKSD} + COMMAND generate_codebook lsp_cbd ${CODEBOOKSD} > ${CMAKE_CURRENT_BINARY_DIR}/codebookd.c +) + +######################################################################## +# Create codebookdvq +######################################################################## +SET(CODEBOOKSDVQ + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp1.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp2.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp3.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp4.txt + ${CMAKE_CURRENT_SOURCE_DIR}/codebook/dlsp5.txt +) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebookdvq.c + DEPENDS generate_codebook ${CODEBOOKSDVQ} + COMMAND generate_codebook lsp_cbdvq ${CODEBOOKSDVQ} > ${CMAKE_CURRENT_BINARY_DIR}/codebookdvq.c +) + +######################################################################## +# Append all sources in this dir +######################################################################## +LIST(APPEND gr_vocoder_sources + ${CMAKE_CURRENT_BINARY_DIR}/codebook.c + ${CMAKE_CURRENT_BINARY_DIR}/codebookd.c + ${CMAKE_CURRENT_BINARY_DIR}/codebookdvq.c + + ${CMAKE_CURRENT_SOURCE_DIR}/dump.c + ${CMAKE_CURRENT_SOURCE_DIR}/lpc.c + ${CMAKE_CURRENT_SOURCE_DIR}/nlp.c + ${CMAKE_CURRENT_SOURCE_DIR}/postfilter.c + ${CMAKE_CURRENT_SOURCE_DIR}/sine.c + ${CMAKE_CURRENT_SOURCE_DIR}/codec2.c + ${CMAKE_CURRENT_SOURCE_DIR}/fft.c + ${CMAKE_CURRENT_SOURCE_DIR}/kiss_fft.c + ${CMAKE_CURRENT_SOURCE_DIR}/interp.c + ${CMAKE_CURRENT_SOURCE_DIR}/lsp.c + ${CMAKE_CURRENT_SOURCE_DIR}/phase.c + ${CMAKE_CURRENT_SOURCE_DIR}/quantise.c + ${CMAKE_CURRENT_SOURCE_DIR}/pack.c +) diff --git a/gr-vocoder/lib/g7xx/CMakeLists.txt b/gr-vocoder/lib/g7xx/CMakeLists.txt new file mode 100644 index 000000000..4c67109e1 --- /dev/null +++ b/gr-vocoder/lib/g7xx/CMakeLists.txt @@ -0,0 +1,30 @@ +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +######################################################################## +# Append all sources in this dir +######################################################################## +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) +LIST(APPEND gr_vocoder_sources + ${CMAKE_CURRENT_SOURCE_DIR}/g711.c + ${CMAKE_CURRENT_SOURCE_DIR}/g72x.c + ${CMAKE_CURRENT_SOURCE_DIR}/g721.c + ${CMAKE_CURRENT_SOURCE_DIR}/g723_24.c + ${CMAKE_CURRENT_SOURCE_DIR}/g723_40.c +) diff --git a/gr-vocoder/lib/gsm/CMakeLists.txt b/gr-vocoder/lib/gsm/CMakeLists.txt new file mode 100644 index 000000000..128f87231 --- /dev/null +++ b/gr-vocoder/lib/gsm/CMakeLists.txt @@ -0,0 +1,49 @@ +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +######################################################################## +# Append all sources in this dir +######################################################################## +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) + +SET(gsm_sources + ${CMAKE_CURRENT_SOURCE_DIR}/add.c + ${CMAKE_CURRENT_SOURCE_DIR}/code.c + ${CMAKE_CURRENT_SOURCE_DIR}/debug.c + ${CMAKE_CURRENT_SOURCE_DIR}/decode.c + ${CMAKE_CURRENT_SOURCE_DIR}/gsm_create.c + ${CMAKE_CURRENT_SOURCE_DIR}/gsm_decode.c + ${CMAKE_CURRENT_SOURCE_DIR}/gsm_destroy.c + ${CMAKE_CURRENT_SOURCE_DIR}/gsm_encode.c + ${CMAKE_CURRENT_SOURCE_DIR}/gsm_explode.c + ${CMAKE_CURRENT_SOURCE_DIR}/gsm_implode.c + ${CMAKE_CURRENT_SOURCE_DIR}/gsm_option.c + ${CMAKE_CURRENT_SOURCE_DIR}/gsm_print.c + ${CMAKE_CURRENT_SOURCE_DIR}/long_term.c + ${CMAKE_CURRENT_SOURCE_DIR}/lpc.c + ${CMAKE_CURRENT_SOURCE_DIR}/preprocess.c + ${CMAKE_CURRENT_SOURCE_DIR}/rpe.c + ${CMAKE_CURRENT_SOURCE_DIR}/short_term.c + ${CMAKE_CURRENT_SOURCE_DIR}/table.c +) + +SET_SOURCE_FILES_PROPERTIES(${gsm_sources} + PROPERTIES COMPILE_DEFINITION "NeedFunctionPrototypes=1" +) +LIST(APPEND gr_vocoder_sources ${gsm_sources}) |