# 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 # http://www.vtk.org/Wiki/CMake_Cross_Compiling#Using_executables_in_the_build_created_during_the_build ######################################################################## if(NOT CMAKE_CROSSCOMPILING) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) add_executable(generate_codebook ${CMAKE_CURRENT_SOURCE_DIR}/generate_codebook.c) target_link_libraries(generate_codebook -lm) export(TARGETS generate_codebook APPEND FILE ${EXPORT_FILE}) endif() ######################################################################## # 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 )