Compare commits

...

49 Commits

Author SHA1 Message Date
Charles J. Cliffe 033330367c
Merge pull request #1026 from cjcliffe/cjcliffe-readme-update-1
Update README.md
2024-03-05 20:50:29 -05:00
Charles J. Cliffe 2a2d626af9
Update README.md 2024-03-05 20:37:46 -05:00
Charles J. Cliffe b959ff3f06
Merge pull request #1014 from cjcliffe/cjcliffe-macos-bundlemod-soapy-root-to-cmake-install-prefiox
Update CMakeLists.txt
2023-10-27 01:06:03 -04:00
Charles J. Cliffe b3d25f62c7
Update CMakeLists.txt
Replace flaky SOAPY_SDR_ROOT with CMAKE_INSTALL_PREFIX; SOAPY_SDR_ROOT is now coming up blank randomly
2023-10-27 01:02:14 -04:00
Charles J. Cliffe e5149c28ad
Update CMakeLists.txt
Set default vendor to avoid CPack 'Humanity' default from prefixing itself to component
2023-10-17 21:53:26 -04:00
Charles J. Cliffe f96c1ec6bf
Merge pull request #1012 from cjcliffe/macos-code-signing-missed-files-1
Update code_sign.sh.in
2023-10-16 23:48:52 -04:00
Charles J. Cliffe 77627b6013
Update code_sign.sh.in
Update script to sign dylib in all app subfolders
2023-10-16 23:36:37 -04:00
Charles J. Cliffe 2c6716907e Actual fix was in build repo; revert ABI version reference 2023-08-17 00:51:36 -04:00
Charles J. Cliffe fcb646f385 Use prefix lib path if provided so we can override system libs for bundles 2023-08-17 00:15:32 -04:00
Charles J. Cliffe 74b52f7b97 Fix app bundle soapy module path mismatch (folder doesn't have suffix) 2023-08-16 21:47:02 -04:00
Charles J. Cliffe 1d1532e1f5
Update CubicSDR.desktop.in 2023-04-26 20:13:59 -04:00
Charles J. Cliffe 87f5d8835a
Merge pull request #999 from cjcliffe/fix-janky-bandwidth-ui
Fix modem bandwidth interaction lag; favor visual responsiveness
2023-04-17 23:38:53 -04:00
Charles J. Cliffe 5edd7ba845 Fix modem bandwidth interaction lag; favor visual responsiveness
- Trying to always show the active bandwidth state when liquid-dsp is being slow to generate resamplers makes interaction janky.  Let the audio state lag behind the visuals for a better experience.
- Minor out-of-order fixes for variable set/notify.
- Side thought; why is liquid-dsp slow at generating resamplers now?
2023-04-17 23:25:02 -04:00
Charles J. Cliffe 3426a0188e Donation/contribution list updates 2023-04-13 23:05:53 -04:00
Charles J. Cliffe 6afebe585b
Merge pull request #997 from cjcliffe/winbuild-updates
Winbuild updates
2023-04-13 21:26:15 -04:00
Charles J. Cliffe 674bfa1246
Merge branch 'master' into winbuild-updates 2023-04-13 21:22:08 -04:00
Charles J. Cliffe a93b698284 CMake v3.0 minimum breaks windows builds; go with 2.8.12 2023-04-11 21:28:09 -04:00
Charles J. Cliffe 40046b1655 Restore deleted pthread lib needed for user builds
Remove old vc redist used by installer
2023-04-11 20:41:52 -04:00
Charles J. Cliffe f9766ceaf0
Merge pull request #950 from classabbyamp/fix-build
fix build errors caused by commented parameters in function declarations
2023-03-29 01:57:08 -04:00
Charles J. Cliffe b12084d2e5
Merge branch 'master' into fix-build 2023-03-29 01:50:22 -04:00
Charles J. Cliffe 6c1cfcad65
Merge pull request #564 from f4grx/fix-liquid-libs
Avoid build failure when liquid-dsp is not in a default libdir
2023-03-29 01:45:11 -04:00
Charles J. Cliffe 9fe4841cde Merge branch 'master' into winbuild-updates 2023-03-29 00:54:21 -04:00
Charles J. Cliffe 6d65a1ca7c
Update README.md 2023-03-29 00:43:12 -04:00
Charles J. Cliffe 69a7b0b97a
Merge pull request #995 from cjcliffe/circleci-project-setup
Upgrade from Travis -> CircleCI
2023-03-29 00:34:43 -04:00
Charles J. Cliffe e1e30ed890 Delete .travis.yml 2023-03-29 00:29:59 -04:00
Charles J. Cliffe 165ace2c37 Don't use nproc on CI; it returns host threads 2023-03-29 00:10:20 -04:00
Charles J. Cliffe b3428c3ba8 Update config.yml
boost resource_class once more
2023-03-28 23:55:46 -04:00
Charles J. Cliffe b4fee0dff7 Update config.yml
needs a bit more memory to build I think; boost resource_class
2023-03-28 23:52:33 -04:00
Charles J. Cliffe c0e71c70d6 Update config.yml
wx cached; try remaining build steps
2023-03-28 23:40:45 -04:00
Charles J. Cliffe 1fd2f431cb Update config.yml
Try newer base image
2023-03-28 23:23:36 -04:00
Charles J. Cliffe 61797c2ac6 Build wx verbose (output timeout)
Disable other build steps for the moment; see if we can get a working wxwidgets cache first
2023-03-28 23:04:03 -04:00
Charles J. Cliffe 8ad45faec5 Just check build env using uname 2023-03-28 22:30:57 -04:00
Charles J. Cliffe 437a66b3bd job name not configurable? 2023-03-28 22:27:45 -04:00
Charles J. Cliffe 0b899dbdb3 Move scripts to circle-ci
Minor updates to build scripts
2023-03-28 22:24:29 -04:00
Charles J. Cliffe 2dff8948e3
Update config.yml 2023-03-28 21:46:34 -04:00
Charles J. Cliffe f4aacd11e2
Update config.yml 2023-03-28 21:43:56 -04:00
Charles J. Cliffe be641f1946
Update config.yml 2023-03-28 21:42:00 -04:00
Charles J. Cliffe eba9a18182
Update config.yml 2023-03-28 21:39:55 -04:00
Charles J. Cliffe f59e25a4bf
Update config.yml 2023-03-28 21:38:22 -04:00
Charles J. Cliffe 41d27ad357
Trying GPT-4 auto conversion from travis-ci yml 2023-03-28 21:31:34 -04:00
Charles J. Cliffe 50370cc74b Add .circleci/config.yml 2023-03-28 12:41:11 -04:00
vsonnier 071204f392 Updated Travis and Wiki to reference wxWidgets v3.2.1 at last a stable version 2023-01-14 11:11:01 +01:00
vsonnier e09e7e8381 Set maximum compatibility OpenGL profile for wxWidgets 2023-01-11 21:27:40 +01:00
vsonnier 0e3a785bd2 Fix for liquid-dsp v1.50 where msresamp_crcf_create() with mad As parameter somewhat creates crashes 2023-01-11 21:27:40 +01:00
vsonnier 8c23e370da Updates Windows liquid-dsp binaries to v1.5.0:
- Win32/64 bins liquid-dsp ref: c3e0de7e89cdcc0ec5da9ccaeb5738496263d4c0 (tag: v1.5.0)
    - Win32/64 bins using GCC 12.2 (MSYS2)
	- Arch : SSE4.1 for maximum compatibility
2023-01-11 21:27:40 +01:00
vsonnier 03ba4ff2ee Continue with version 0.28a (alpha) 2023-01-11 21:27:40 +01:00
Charles J. Cliffe 4fb3088936 Remove installer binaries; moving externals to winbuild project 2022-06-14 23:00:37 -04:00
classabbyamp 521f62900a
fix build errors caused by commented parameters in function declarations 2022-05-08 16:15:28 -04:00
Sebastien F4GRX aa29aa41c6 Avoid build failure when liquid-dsp is not in a default libdir 2017-08-03 15:38:01 +02:00
37 changed files with 10730 additions and 6767 deletions

34
.circleci/config.yml Normal file
View File

@ -0,0 +1,34 @@
version: 2.1
jobs:
build:
docker:
- image: cimg/base:current-22.04
resource_class: medium
environment:
- CACHE_DIR: ~/build/wxWidgets/staticlib
steps:
- checkout
- restore_cache:
keys:
- cache-{{ checksum ".circleci/scripts/build_wxwidgets.sh" }}
- run:
name: Install Dependencies
command: |
sudo apt-get update
sudo apt-get install -y build-essential cmake libpulse-dev libgtk-3-dev freeglut3 freeglut3-dev libhamlib-dev
- run:
name: Build wxWidgets
command: bash .circleci/scripts/build_wxwidgets.sh
- run:
name: Build LiquidDSP
command: bash .circleci/scripts/build_liquiddsp.sh
- run:
name: Build SoapySDR
command: bash .circleci/scripts/build_soapysdr.sh
- run:
name: Build CubicSDR
command: bash .circleci/scripts/build_cubicsdr.sh
- save_cache:
key: cache-{{ checksum ".circleci/scripts/build_wxwidgets.sh" }}
paths:
- ~/build/wxWidgets/staticlib

View File

@ -0,0 +1,5 @@
# CubicSDR
mkdir -p $HOME/build/cjcliffe/CubicSDR-build
cd $HOME/build/cjcliffe/CubicSDR-build
cmake ~/project -DCMAKE_BUILD_TYPE=Release -DwxWidgets_CONFIG_EXECUTABLE=$HOME/build/wxWidgets/staticlib/bin/wx-config -DUSE_HAMLIB=1 -DENABLE_DIGITAL_LAB=1
make -j2

View File

@ -1,11 +1,9 @@
# Liquid-DSP
cd $HOME/build
mkdir jgaeddert/
cd jgaeddert/
mkdir -p $HOME/build/jgaeddert
cd $HOME/build/jgaeddert
git clone https://github.com/jgaeddert/liquid-dsp.git
cd liquid-dsp/
cd $HOME/build/jgaeddert/liquid-dsp
./bootstrap.sh
echo "Configuring liquid-dsp.."
@ -13,4 +11,4 @@ echo "Configuring liquid-dsp.."
echo "Building liquid-dsp.."
make -j2 > /dev/null
sudo make install
sudo make install

View File

@ -0,0 +1,13 @@
# Soapy SDR
mkdir -p $HOME/build/pothosware/SoapySDR-build
cd $HOME/build/pothosware
git clone https://github.com/pothosware/SoapySDR.git
cd $HOME/build/pothosware/SoapySDR-build
cmake $HOME/build/pothosware/SoapySDR -DCMAKE_BUILD_TYPE=Release
echo "Building SoapySDR.."
make -j2 > /dev/null
sudo make install

View File

@ -8,25 +8,22 @@ fi
echo "Fetch wxWidgets.."
cd $HOME/build
mkdir -p $HOME/build/wxWidgets/staticlib
cd wxWidgets
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.5/wxWidgets-3.1.5.tar.bz2 > /dev/null
cd $HOME/build/wxWidgets
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.1/wxWidgets-3.2.1.tar.bz2 > /dev/null
echo "Unpacking wxWidgets.."
tar -xvjf wxWidgets-3.1.5.tar.bz2 > /dev/null
cd wxWidgets-3.1.5/
tar -xvjf wxWidgets-3.2.1.tar.bz2 > /dev/null
cd wxWidgets-3.2.1/
./autogen.sh
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
./configure --with-opengl --disable-glcanvasegl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webkit --disable-webview --disable-webviewwebkit --prefix=`echo $HOME/build/wxWidgets/staticlib` CXXFLAGS="-std=c++0x"
fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
if [ "$(uname)" == "Linux" ]; then
./configure --with-opengl --disable-glcanvasegl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webview --disable-webviewwebkit --prefix=`echo $HOME/build/wxWidgets/staticlib` CXXFLAGS="-std=c++0x"
elif [ "$(uname)" == "Darwin" ]; then
./configure --with-opengl --disable-glcanvasegl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --with-mac --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webkit --disable-webview --disable-webviewwebkit --prefix=`echo $HOME/build/wxWidgets/staticlib` CXXFLAGS="-std=c++0x" --with-libiconv=/usr
fi
echo "Building wxWidgets.."
make -j2
make V=1 -j2
make install

View File

@ -1,24 +0,0 @@
os:
- linux
- osx
osx_image: xcode11.3
dist: trusty
language: cpp
addons:
apt:
packages:
- libpulse-dev
- libgtk-3-dev
- freeglut3
- freeglut3-dev
- libhamlib-dev
script:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install hamlib; fi
- bash travis-ci/build_liquiddsp.sh
- bash travis-ci/build_soapysdr.sh
- bash travis-ci/build_wxwidgets.sh
- bash travis-ci/build_cubicsdr.sh
cache:
directories:
- $HOME/build/wxWidgets/staticlib

View File

@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 2.8)
cmake_minimum_required (VERSION 2.8.12)
project (CubicSDR)
@ -6,7 +6,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
SET(CUBICSDR_VERSION_MAJOR "0")
SET(CUBICSDR_VERSION_MINOR "2")
SET(CUBICSDR_VERSION_PATCH "7")
SET(CUBICSDR_VERSION_PATCH "8")
SET(CUBICSDR_VERSION_SUFFIX "")
SET(CUBICSDR_VERSION "${CUBICSDR_VERSION_MAJOR}.${CUBICSDR_VERSION_MINOR}.${CUBICSDR_VERSION_PATCH}${CUBICSDR_VERSION_SUFFIX}")
@ -14,6 +14,7 @@ SET(CPACK_PACKAGE_VERSION "${CUBICSDR_VERSION_MAJOR}.${CUBICSDR_VERSION_MINOR}.$
SET(CPACK_PACKAGE_VERSION_MAJOR ${CUBICSDR_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${CUBICSDR_VERSION_MINOR})
SET(CPACK_PACKAGE_VERSION_PATCH ${CUBICSDR_VERSION_PATCH})
set(CPACK_PACKAGE_VENDOR "cubicproductions")
SET (CUSTOM_BUILD OFF CACHE BOOL "Enable custom build options")
# Build options for custom deploys, optimization and debugging
@ -302,6 +303,9 @@ IF (APPLE)
SET(CMAKE_OSX_DEPLOYMENT_TARGET, "10.9")
SET(LIQUID_LIB liquid)
IF(CMAKE_INSTALL_PREFIX)
link_directories(${CMAKE_INSTALL_PREFIX}/lib)
ENDIF(CMAKE_INSTALL_PREFIX)
link_directories(/usr/local/lib)
link_directories(/opt/local/lib)
@ -689,7 +693,7 @@ IF (NOT BUNDLE_APP)
configure_files(${CUBICSDR_HEADER_IMAGE_DIR} ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} ${CUBICSDR_HEADER_IMAGE_FILE})
ENDIF()
add_executable(CubicSDR ${cubicsdr_sources} ${cubicsdr_headers} ${RES_FILES})
target_link_libraries(CubicSDR ${LIQUID_LIB} ${wxWidgets_LIBRARIES} ${OPENGL_LIBRARIES} ${OTHER_LIBRARIES})
target_link_libraries(CubicSDR ${wxWidgets_LIBRARIES} ${OPENGL_LIBRARIES} ${OTHER_LIBRARIES})
ENDIF (NOT BUNDLE_APP)
IF (MSVC)
@ -783,8 +787,8 @@ IF (APPLE AND BUNDLE_APP)
# SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
IF (BUNDLE_SOAPY_MODS)
message(STATUS "SOAPY_ROOT: ${SOAPY_SDR_ROOT}")
SET(SOAPY_SDR_MOD_PATH "${SOAPY_SDR_ROOT}/lib/SoapySDR/modules${SOAPY_SDR_ABI_VERSION}")
message(STATUS "SOAPY_ROOT: ${CMAKE_INSTALL_PREFIX}")
SET(SOAPY_SDR_MOD_PATH "${CMAKE_INSTALL_PREFIX}/lib/SoapySDR/modules${SOAPY_SDR_ABI_VERSION}")
message(STATUS "SOAPY_SDR_MOD_PATH: ${SOAPY_SDR_MOD_PATH}")
file(GLOB SOAPY_MODS ${SOAPY_SDR_MOD_PATH}/*.so)
@ -956,7 +960,8 @@ IF (WIN32 AND BUILD_INSTALLER)
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CUBICSDR_INSTALL_NAME} ${CPACK_PACKAGE_VERSION} (x86)")
set(CMAKE_CL_64 FALSE)
ENDIF(EX_PLATFORM EQUAL 64)
SET(BUNDLE_MSVC_REDIST "" CACHE STRING "Visual C++ Redistributable")
set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
install(TARGETS CubicSDR RUNTIME DESTINATION .)
@ -1011,8 +1016,13 @@ IF (WIN32 AND BUILD_INSTALLER)
set(CPACK_PACKAGE_EXECUTABLES CubicSDR "CubicSDR")
IF (MSVC)
install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/external/msvc/${EX_PLATFORM_NAME}/vc_redist.${EX_PLATFORM_NAME}.exe DESTINATION vc_redist)
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait '\\\"$INSTDIR\\\\vc_redist\\\\vc_redist.${EX_PLATFORM_NAME}.exe\\\" /passive /norestart'")
IF (BUNDLE_MSVC_REDIST)
message(STATUS "BUNDLE_MSVC_REDIST: ${BUNDLE_MSVC_REDIST}")
cmake_path(GET BUNDLE_MSVC_REDIST FILENAME BUNDLE_MSVC_REDIST_FN)
message(STATUS "BUNDLE_MSVC_REDIST_FN: ${BUNDLE_MSVC_REDIST_FN}")
install(PROGRAMS ${BUNDLE_MSVC_REDIST} DESTINATION vc_redist)
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait '\\\"$INSTDIR\\\\vc_redist\\\\${BUNDLE_MSVC_REDIST_FN}\\\" /passive /norestart'")
ENDIF()
ENDIF (MSVC)

View File

@ -1,9 +1,9 @@
CubicSDR
CubicSDR [![CircleCI](https://dl.circleci.com/status-badge/img/gh/cjcliffe/CubicSDR/tree/master.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/cjcliffe/CubicSDR/tree/master)
========
Cross-Platform Software-Defined Radio Application
- The latest downloads are available on the [CubicSDR Releases](https://github.com/cjcliffe/CubicSDR/releases) page.
- The latest releases are available on the [CubicSDR Releases](https://github.com/cjcliffe/CubicSDR/releases) page.
- Build instructions can be found at the [CubicSDR Wiki](https://github.com/cjcliffe/CubicSDR/wiki) page.
- Manual is available at [cubicsdr.readthedocs.io](http://cubicsdr.readthedocs.io).
- Manual contributions can be submitted to the [CubicSDR-Manual](https://github.com/cjcliffe/CubicSDR-Manual) repository.
@ -33,11 +33,11 @@ Recommended minimum requirements:
- Windows 7+ for 64 or 32-bit Windows binary releases.
- Linux and other embedded distribution support yet to be indexed, known to at least work on Debian 8+ and Ubuntu 14+.
Target Platforms:
----------------
- [x] OSX
- [x] Windows
- [x] Linux
Platform build scripts and test builds:
--------------------------------------
- MacOS (https://github.com/cjcliffe/CubicSDR-macOSBuild)
- Windows (https://github.com/cjcliffe/CubicSDR-WinBuild)
- Linux (AppImage) (https://github.com/cjcliffe/CubicSDR-AppImageKit)
License:

View File

@ -1,7 +1,7 @@
[Desktop Entry]
Type=Application
Exec=CubicSDR %u
Icon=@CMAKE_INSTALL_PREFIX@/share/cubicsdr/CubicSDR.png
Icon=@CMAKE_INSTALL_PREFIX@/share/cubicsdr/CubicSDR
Terminal=false
Name=CubicSDR
GenericName=CubicSDR

View File

@ -1,5 +1,5 @@
#!/bin/bash
for f in ${APPS}/Contents/MacOS/*.dylib
for f in ${APPS}/Contents/**/*.dylib
do
/usr/bin/codesign --force --verify --verbose --sign "${CUBICSDR_CERT}" $f
done

View File

@ -6,8 +6,57 @@
#define __LIQUID_CONFIG_H__
/* Support AVX (Advanced Vector Extensions) instructions */
#define HAVE_AVX 1
/* Define to 1 to support Advanced Bit Manipulation */
#define HAVE_ABM 1
/* Define to 1 to support Multi-Precision Add-Carry Instruction Extensions */
#define HAVE_ADX 1
/* Define to 1 to support Advanced Encryption Standard New Instruction Set
(AES-NI) */
/* #define HAVE_AES 1 */
/* Support Altivec instructions */
/* #undef HAVE_ALTIVEC */
/* Define to 1 to support Advanced Vector Extensions */
/* #define HAVE_AVX 1 */
/* Define to 1 to support Advanced Vector Extensions 2 */
/* #define HAVE_AVX2 1 */
/* Define to 1 to support AVX-512 Byte and Word Instructions */
/* #undef HAVE_AVX512_BW */
/* Define to 1 to support AVX-512 Conflict Detection Instructions */
/* #undef HAVE_AVX512_CD */
/* Define to 1 to support AVX-512 Doubleword and Quadword Instructions */
/* #undef HAVE_AVX512_DQ */
/* Define to 1 to support AVX-512 Exponential & Reciprocal Instructions */
/* #undef HAVE_AVX512_ER */
/* Define to 1 to support AVX-512 Foundation Extensions */
/* #undef HAVE_AVX512_F */
/* Define to 1 to support AVX-512 Integer Fused Multiply Add Instructions */
/* #undef HAVE_AVX512_IFMA */
/* Define to 1 to support AVX-512 Conflict Prefetch Instructions */
/* #undef HAVE_AVX512_PF */
/* Define to 1 to support AVX-512 Vector Byte Manipulation Instructions */
/* #undef HAVE_AVX512_VBMI */
/* Define to 1 to support AVX-512 Vector Length Extensions */
/* #undef HAVE_AVX512_VL */
/* Define to 1 to support Bit Manipulation Instruction Set 1 */
#define HAVE_BMI1 1
/* Define to 1 to support Bit Manipulation Instruction Set 2 */
#define HAVE_BMI2 1
/* Define to 1 if you have the `cargf' function. */
#define HAVE_CARGF 1
@ -27,9 +76,6 @@
/* Define to 1 if you have the `crealf' function. */
#define HAVE_CREALF 1
/* Define to 1 if you have the <emmintrin.h> header file. */
#define HAVE_EMMINTRIN_H 1
/* Define to 1 if you have the `expf' function. */
#define HAVE_EXPF 1
@ -42,15 +88,18 @@
/* Define to 1 if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1
/* Define to 1 to support Fused Multiply-Add Extensions 3 */
#define HAVE_FMA3 1
/* Define to 1 to support Fused Multiply-Add Extensions 4 */
/* #undef HAVE_FMA4 */
/* Define to 1 if you have the `free' function. */
#define HAVE_FREE 1
/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1
/* Define to 1 if you have the <immintrin.h> header file. */
#define HAVE_IMMINTRIN_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
@ -75,49 +124,52 @@
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `memset' function. */
#define HAVE_MEMSET 1
/* Define to 1 if you have the <mmintrin.h> header file. */
#define HAVE_MMINTRIN_H 1
/* Support MMX instructions */
/* Define to 1 to support Multimedia Extensions */
#define HAVE_MMX 1
/* Define to 1 if you have the <pmmintrin.h> header file. */
#define HAVE_PMMINTRIN_H 1
/* Define to 1 to support Memory Protection Extensions */
/* #undef HAVE_MPX */
/* Define to 1 to support Prefetch Vector Data Into Caches WT1 */
/* #undef HAVE_PREFETCHWT1 */
/* Define to 1 to support Digital Random Number Generator */
#define HAVE_RDRND 1
/* Define to 1 if you have the `realloc' function. */
#define HAVE_REALLOC 1
/* Define to 1 to support Secure Hash Algorithm Extension */
/* #undef HAVE_SHA */
/* Define to 1 if you have the `sinf' function. */
#define HAVE_SINF 1
/* Define to 1 if you have the <smmintrin.h> header file. */
#define HAVE_SMMINTRIN_H 1
/* Define to 1 if you have the `sqrtf' function. */
#define HAVE_SQRTF 1
/* Support SSE (Streaming SIMD Extensions) instructions */
/* Define to 1 to support Streaming SIMD Extensions */
#define HAVE_SSE 1
/* Support SSE2 (Streaming SIMD Extensions 2) instructions */
/* Define to 1 to support Streaming SIMD Extensions */
#define HAVE_SSE2 1
/* Support SSE3 (Streaming SIMD Extensions 3) instructions */
/* Define to 1 to support Streaming SIMD Extensions 3 */
#define HAVE_SSE3 1
/* Support SSE4.1 (Streaming SIMD Extensions 4.1) instructions */
#define HAVE_SSE41 1
/* Define to 1 to support Streaming SIMD Extensions 4.1 */
#define HAVE_SSE4_1 1
/* Support SSE4.2 (Streaming SIMD Extensions 4.2) instructions */
#define HAVE_SSE42 1
/* Define to 1 to support Streaming SIMD Extensions 4.2 */
#define HAVE_SSE4_2 1
/* Support SSSE3 (Supplemental Streaming SIMD Extensions 3) instructions */
/* Define to 1 to support AMD Streaming SIMD Extensions 4a */
/* #undef HAVE_SSE4a */
/* Define to 1 to support Supplemental Streaming SIMD Extensions 3 */
#define HAVE_SSSE3 1
/* Define to 1 if you have the <stdint.h> header file. */
@ -144,17 +196,17 @@
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <tmmintrin.h> header file. */
#define HAVE_TMMINTRIN_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <xmmintrin.h> header file. */
#define HAVE_XMMINTRIN_H 1
/* Support VSX instructions */
/* #undef HAVE_VSX */
/* Define to 1 to support eXtended Operations Extensions */
/* #undef HAVE_XOP */
/* Force internal FFT even if libfftw is available */
#define LIQUID_FFTOVERRIDE 1
#undef LIQUID_FFTOVERRIDE
/* Force overriding of SIMD (use portable C code) */
/* #undef LIQUID_SIMDOVERRIDE */
@ -172,7 +224,7 @@
#define PACKAGE_NAME "liquid-dsp"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "liquid-dsp 1.4.0"
#define PACKAGE_STRING "liquid-dsp 1.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "liquid-dsp"
@ -181,7 +233,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.4.0"
#define PACKAGE_VERSION "1.5"
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
@ -195,7 +247,9 @@
/* The size of `short int', as computed by sizeof. */
#define SIZEOF_SHORT_INT 2
/* Define to 1 if you have the ANSI C header files. */
/* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#define STDC_HEADERS 1
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -43,8 +43,10 @@
# autoconf initialization macros
NAME := liquid-dsp
VERSION := 1.4.0
VERSION := 1.5
BUGREPORT := joseph@liquidsdr.org
AR_LIB := a
SH_LIB := dll
# paths
prefix := /usr/local
@ -68,11 +70,11 @@ RANLIB := ranlib
# flags
INCLUDE_CFLAGS = $(addprefix -I,$(include_dirs))
COVERAGE_FLAGS = # dynamic library linker needs separate flag
#MINGW: optimizations goes here, use SSSE42 for 32bit
#MINGW: optimizations goes here, use SSSE42 for 32bit
CONFIG_CFLAGS = -m32 -O3 -msse4.2 -ffast-math ${COVERAGE_FLAGS}
CPPFLAGS = $(INCLUDE_CFLAGS)
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated
CXXFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated -Wno-return-type-c-linkage
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated -Wno-deprecated-declarations
CXXFLAGS = $(CFLAGS) -std=c++14 -Wno-return-type-c-linkage
LDFLAGS =
#MINGW:
LIBS = -lmsvcrt
@ -110,9 +112,12 @@ agc_objects = \
src/agc/src/agc_crcf.o \
src/agc/src/agc_rrrf.o \
agc_prototypes := \
src/agc/src/agc.proto.c \
# explicit targets and dependencies
src/agc/src/agc_crcf.o : %.o : %.c src/agc/src/agc.c $(include_headers)
src/agc/src/agc_rrrf.o : %.o : %.c src/agc/src/agc.c $(include_headers)
src/agc/src/agc_crcf.o : %.o : %.c $(include_headers) $(agc_prototypes)
src/agc/src/agc_rrrf.o : %.o : %.c $(include_headers) $(agc_prototypes)
# autotests
agc_autotests := \
@ -148,22 +153,20 @@ buffer_objects := \
src/buffer/src/bufferf.o \
src/buffer/src/buffercf.o \
buffer_includes := \
src/buffer/src/cbuffer.c \
src/buffer/src/wdelay.c \
src/buffer/src/window.c \
# src/buffer/src/buffer.proto.c
buffer_prototypes := \
src/buffer/src/cbuffer.proto.c \
src/buffer/src/wdelay.proto.c \
src/buffer/src/window.proto.c \
src/buffer/src/bufferf.o : %.o : %.c $(include_headers) $(buffer_includes)
src/buffer/src/buffercf.o : %.o : %.c $(include_headers) $(buffer_includes)
src/buffer/src/bufferf.o : %.o : %.c $(include_headers) $(buffer_prototypes)
src/buffer/src/buffercf.o : %.o : %.c $(include_headers) $(buffer_prototypes)
buffer_autotests := \
src/buffer/tests/cbuffer_autotest.c \
src/buffer/tests/wdelay_autotest.c \
src/buffer/tests/window_autotest.c \
# src/buffer/tests/sbuffer_autotest.c
buffer_benchmarks := \
src/buffer/bench/cbuffercf_benchmark.c \
@ -177,13 +180,15 @@ buffer_benchmarks := \
channel_objects := \
src/channel/src/channel_cccf.o \
channel_includes := \
src/channel/src/channel.c \
src/channel/src/tvmpch.c \
channel_prototypes := \
src/channel/src/channel.proto.c \
src/channel/src/tvmpch.proto.c \
src/channel/src/channel_cccf.o : %.o : %.c $(include_headers) $(channel_includes)
src/channel/src/channel_cccf.o : %.o : %.c $(include_headers) $(channel_prototypes)
channel_autotests := \
src/channel/tests/channel_copy_autotest.c \
src/channel/tests/tvmpch_copy_autotest.c \
#src/channel/tests/channel_cccf_autotest.c
@ -195,11 +200,11 @@ channel_benchmarks := \
# MODULE : dotprod
#
dotprod_objects := \
src/dotprod/src/dotprod_cccf.mmx.o src/dotprod/src/dotprod_crcf.mmx.o src/dotprod/src/dotprod_rrrf.mmx.o src/dotprod/src/sumsq.mmx.o \
src/dotprod/src/dotprod_cccf.mmx.o src/dotprod/src/dotprod_crcf.mmx.o src/dotprod/src/dotprod_rrrf.sse4.o src/dotprod/src/sumsq.mmx.o \
src/dotprod/src/dotprod_cccf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.c
src/dotprod/src/dotprod_crcf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.c
src/dotprod/src/dotprod_rrrf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.c
src/dotprod/src/dotprod_cccf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.proto.c
src/dotprod/src/dotprod_crcf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.proto.c
src/dotprod/src/dotprod_rrrf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.proto.c
src/dotprod/src/sumsq.o : %.o : %.c $(include_headers)
# specific machine architectures
@ -217,6 +222,9 @@ src/dotprod/src/sumsq.mmx.o : %.o : %.c $(include_headers)
# SSE4.1/2
src/dotprod/src/dotprod_rrrf.sse4.o : %.o : %.c $(include_headers)
# AVX
src/dotprod/src/sumsq.avx.o : %.o : %.c $(include_headers)
# ARM Neon
src/dotprod/src/dotprod_rrrf.neon.o : %.o : %.c $(include_headers)
src/dotprod/src/dotprod_crcf.neon.o : %.o : %.c $(include_headers)
@ -243,8 +251,11 @@ equalization_objects := \
src/equalization/src/equalizer_cccf.o \
src/equalization/src/equalizer_rrrf.o \
equalization_prototypes := \
src/equalization/src/eqlms.proto.c \
src/equalization/src/eqrls.proto.c \
$(equalization_objects) : %.o : %.c $(include_headers) src/equalization/src/eqlms.c src/equalization/src/eqrls.c
$(equalization_objects) : %.o : %.c $(include_headers) $(equalization_prototypes)
# autotests
@ -294,6 +305,7 @@ $(fec_objects) : %.o : %.c $(include_headers)
fec_autotests := \
src/fec/tests/crc_autotest.c \
src/fec/tests/fec_autotest.c \
src/fec/tests/fec_copy_autotest.c \
src/fec/tests/fec_soft_autotest.c \
src/fec/tests/fec_golay2412_autotest.c \
src/fec/tests/fec_hamming74_autotest.c \
@ -308,6 +320,7 @@ fec_autotests := \
src/fec/tests/fec_secded3932_autotest.c \
src/fec/tests/fec_secded7264_autotest.c \
src/fec/tests/interleaver_autotest.c \
src/fec/tests/packetizer_copy_autotest.c \
src/fec/tests/packetizer_autotest.c \
@ -332,26 +345,27 @@ fft_objects := \
src/fft/src/fft_utilities.o \
# explicit targets and dependencies
fft_includes := \
src/fft/src/fft_common.c \
src/fft/src/fft_dft.c \
src/fft/src/fft_radix2.c \
src/fft/src/fft_mixed_radix.c \
src/fft/src/fft_rader.c \
src/fft/src/fft_rader2.c \
src/fft/src/fft_r2r_1d.c \
fft_prototypes := \
src/fft/src/fft_common.proto.c \
src/fft/src/fft_dft.proto.c \
src/fft/src/fft_radix2.proto.c \
src/fft/src/fft_mixed_radix.proto.c \
src/fft/src/fft_rader.proto.c \
src/fft/src/fft_rader2.proto.c \
src/fft/src/fft_r2r_1d.proto.c \
src/fft/src/fftf.o : %.o : %.c $(include_headers) $(fft_includes)
src/fft/src/fftf.o : %.o : %.c $(include_headers) $(fft_prototypes)
src/fft/src/asgram.o : %.o : %.c $(include_headers)
src/fft/src/dct.o : %.o : %.c $(include_headers)
src/fft/src/fftf.o : %.o : %.c $(include_headers)
src/fft/src/fft_utilities.o : %.o : %.c $(include_headers)
src/fft/src/mdct.o : %.o : %.c $(include_headers)
src/fft/src/spgramcf.o : %.o : %.c $(include_headers) src/fft/src/asgram.c src/fft/src/spgram.c src/fft/src/spwaterfall.c
src/fft/src/spgramf.o : %.o : %.c $(include_headers) src/fft/src/asgram.c src/fft/src/spgram.c src/fft/src/spwaterfall.c
src/fft/src/spgramcf.o : %.o : %.c $(include_headers) src/fft/src/asgram.proto.c src/fft/src/spgram.proto.c src/fft/src/spwaterfall.proto.c
src/fft/src/spgramf.o : %.o : %.c $(include_headers) src/fft/src/asgram.proto.c src/fft/src/spgram.proto.c src/fft/src/spwaterfall.proto.c
# fft autotest scripts
fft_autotests := \
src/fft/tests/asgram_autotest.c \
src/fft/tests/fft_small_autotest.c \
src/fft/tests/fft_radix2_autotest.c \
src/fft/tests/fft_composite_autotest.c \
@ -407,6 +421,7 @@ fft_benchmarks := \
src/fft/bench/fft_prime_benchmark.c \
src/fft/bench/fft_radix2_benchmark.c \
src/fft/bench/fft_r2r_benchmark.c \
src/fft/bench/spgramcf_benchmark.c \
# additional benchmark objects
benchmark_extra_obj := \
@ -427,6 +442,7 @@ filter_objects := \
src/filter/src/filter_cccf.o \
src/filter/src/firdes.o \
src/filter/src/firdespm.o \
src/filter/src/firdespm_halfband.o \
src/filter/src/fnyquist.o \
src/filter/src/gmsk.o \
src/filter/src/group_delay.o \
@ -440,29 +456,29 @@ filter_objects := \
# list explicit targets and dependencies here
filter_includes := \
src/filter/src/autocorr.c \
src/filter/src/dds.c \
src/filter/src/fdelay.c \
src/filter/src/fftfilt.c \
src/filter/src/firdecim.c \
src/filter/src/firfarrow.c \
src/filter/src/firfilt.c \
src/filter/src/firhilb.c \
src/filter/src/firinterp.c \
src/filter/src/firpfb.c \
src/filter/src/iirdecim.c \
src/filter/src/iirfilt.c \
src/filter/src/iirfiltsos.c \
src/filter/src/iirhilb.c \
src/filter/src/iirinterp.c \
src/filter/src/msresamp.c \
src/filter/src/msresamp2.c \
src/filter/src/ordfilt.c \
src/filter/src/rresamp.c \
src/filter/src/resamp.fixed.c \
src/filter/src/resamp2.c \
src/filter/src/symsync.c \
filter_prototypes := \
src/filter/src/autocorr.proto.c \
src/filter/src/dds.proto.c \
src/filter/src/fdelay.proto.c \
src/filter/src/fftfilt.proto.c \
src/filter/src/firdecim.proto.c \
src/filter/src/firfarrow.proto.c \
src/filter/src/firfilt.proto.c \
src/filter/src/firhilb.proto.c \
src/filter/src/firinterp.proto.c \
src/filter/src/firpfb.proto.c \
src/filter/src/iirdecim.proto.c \
src/filter/src/iirfilt.proto.c \
src/filter/src/iirfiltsos.proto.c \
src/filter/src/iirhilb.proto.c \
src/filter/src/iirinterp.proto.c \
src/filter/src/msresamp.proto.c \
src/filter/src/msresamp2.proto.c \
src/filter/src/ordfilt.proto.c \
src/filter/src/rresamp.proto.c \
src/filter/src/resamp.fixed.proto.c \
src/filter/src/resamp2.proto.c \
src/filter/src/symsync.proto.c \
src/filter/src/bessel.o : %.o : %.c $(include_headers)
src/filter/src/bessel.o : %.o : %.c $(include_headers)
@ -470,9 +486,9 @@ src/filter/src/butter.o : %.o : %.c $(include_headers)
src/filter/src/cheby1.o : %.o : %.c $(include_headers)
src/filter/src/cheby2.o : %.o : %.c $(include_headers)
src/filter/src/ellip.o : %.o : %.c $(include_headers)
src/filter/src/filter_rrrf.o : %.o : %.c $(include_headers) $(filter_includes)
src/filter/src/filter_crcf.o : %.o : %.c $(include_headers) $(filter_includes)
src/filter/src/filter_cccf.o : %.o : %.c $(include_headers) $(filter_includes)
src/filter/src/filter_rrrf.o : %.o : %.c $(include_headers) $(filter_prototypes)
src/filter/src/filter_crcf.o : %.o : %.c $(include_headers) $(filter_prototypes)
src/filter/src/filter_cccf.o : %.o : %.c $(include_headers) $(filter_prototypes)
src/filter/src/firdes.o : %.o : %.c $(include_headers)
src/filter/src/firdespm.o : %.o : %.c $(include_headers)
src/filter/src/group_delay.o : %.o : %.c $(include_headers)
@ -486,30 +502,41 @@ src/filter/src/rrcos.o : %.o : %.c $(include_headers)
filter_autotests := \
src/filter/tests/dds_cccf_autotest.c \
src/filter/tests/fdelay_rrrf_autotest.c \
src/filter/tests/fftfilt_xxxf_autotest.c \
src/filter/tests/filter_crosscorr_autotest.c \
src/filter/tests/firdecim_autotest.c \
src/filter/tests/firdecim_xxxf_autotest.c \
src/filter/tests/firdes_autotest.c \
src/filter/tests/firdespm_autotest.c \
src/filter/tests/firfilt_autotest.c \
src/filter/tests/firfilt_cccf_notch_autotest.c \
src/filter/tests/firfilt_coefficients_autotest.c \
src/filter/tests/firfilt_rnyquist_autotest.c \
src/filter/tests/firfilt_xxxf_autotest.c \
src/filter/tests/firfilt_copy_autotest.c \
src/filter/tests/firhilb_autotest.c \
src/filter/tests/firinterp_autotest.c \
src/filter/tests/firpfb_autotest.c \
src/filter/tests/groupdelay_autotest.c \
src/filter/tests/iirdecim_autotest.c \
src/filter/tests/iirdes_autotest.c \
src/filter/tests/iirdes_support_autotest.c \
src/filter/tests/iirfilt_xxxf_autotest.c \
src/filter/tests/iirfiltsos_rrrf_autotest.c \
src/filter/tests/iirfilt_copy_autotest.c \
src/filter/tests/iirfiltsos_autotest.c \
src/filter/tests/iirhilb_autotest.c \
src/filter/tests/iirinterp_autotest.c \
src/filter/tests/lpc_autotest.c \
src/filter/tests/msresamp_crcf_autotest.c \
src/filter/tests/msresamp2_crcf_autotest.c \
src/filter/tests/ordfilt_autotest.c \
src/filter/tests/rresamp_crcf_autotest.c \
src/filter/tests/rresamp_crcf_partition_autotest.c \
src/filter/tests/resamp_crcf_autotest.c \
src/filter/tests/resamp2_crcf_autotest.c \
src/filter/tests/symsync_copy_autotest.c \
src/filter/tests/symsync_crcf_autotest.c \
src/filter/tests/symsync_rrrf_autotest.c \
@ -638,10 +665,10 @@ framing_objects := \
src/framing/src/bpacketgen.o : %.o : %.c $(include_headers)
src/framing/src/bpacketsync.o : %.o : %.c $(include_headers)
src/framing/src/bpresync_cccf.o : %.o : %.c $(include_headers) src/framing/src/bpresync.c
src/framing/src/bsync_rrrf.o : %.o : %.c $(include_headers) src/framing/src/bsync.c
src/framing/src/bsync_crcf.o : %.o : %.c $(include_headers) src/framing/src/bsync.c
src/framing/src/bsync_cccf.o : %.o : %.c $(include_headers) src/framing/src/bsync.c
src/framing/src/bpresync_cccf.o : %.o : %.c $(include_headers) src/framing/src/bpresync.proto.c
src/framing/src/bsync_rrrf.o : %.o : %.c $(include_headers) src/framing/src/bsync.proto.c
src/framing/src/bsync_crcf.o : %.o : %.c $(include_headers) src/framing/src/bsync.proto.c
src/framing/src/bsync_cccf.o : %.o : %.c $(include_headers) src/framing/src/bsync.proto.c
src/framing/src/detector_cccf.o : %.o : %.c $(include_headers)
src/framing/src/dsssframegen.o : %.o : %.c $(include_headers)
src/framing/src/dsssframesync.o : %.o : %.c $(include_headers)
@ -651,28 +678,34 @@ src/framing/src/framegen64.o : %.o : %.c $(include_headers)
src/framing/src/framesync64.o : %.o : %.c $(include_headers)
src/framing/src/flexframegen.o : %.o : %.c $(include_headers)
src/framing/src/flexframesync.o : %.o : %.c $(include_headers)
src/framing/src/msourcecf.o : %.o : %.c $(include_headers) src/framing/src/msource.c src/framing/src/qsource.c
src/framing/src/msourcecf.o : %.o : %.c $(include_headers) src/framing/src/msource.proto.c src/framing/src/qsource.proto.c
src/framing/src/ofdmflexframegen.o : %.o : %.c $(include_headers)
src/framing/src/ofdmflexframesync.o : %.o : %.c $(include_headers)
src/framing/src/presync_cccf.o : %.o : %.c $(include_headers) src/framing/src/presync.c
src/framing/src/presync_cccf.o : %.o : %.c $(include_headers) src/framing/src/presync.proto.c
src/framing/src/qpacketmodem.o : %.o : %.c $(include_headers)
src/framing/src/symstreamcf.o : %.o : %.c $(include_headers) src/framing/src/symstream.c
src/framing/src/symstreamrcf.o : %.o : %.c $(include_headers) src/framing/src/symstreamr.c
src/framing/src/symtrack_cccf.o : %.o : %.c $(include_headers) src/framing/src/symtrack.c
src/framing/src/symstreamcf.o : %.o : %.c $(include_headers) src/framing/src/symstream.proto.c
src/framing/src/symstreamrcf.o : %.o : %.c $(include_headers) src/framing/src/symstreamr.proto.c
src/framing/src/symtrack_cccf.o : %.o : %.c $(include_headers) src/framing/src/symtrack.proto.c
framing_autotests := \
src/framing/tests/bpacketsync_autotest.c \
src/framing/tests/bsync_autotest.c \
src/framing/tests/detector_autotest.c \
src/framing/tests/dsssframesync_autotest.c \
src/framing/tests/flexframesync_autotest.c \
src/framing/tests/framesync64_autotest.c \
src/framing/tests/gmskframe_autotest.c \
src/framing/tests/msource_autotest.c \
src/framing/tests/ofdmflexframe_autotest.c \
src/framing/tests/qdetector_cccf_autotest.c \
src/framing/tests/qdetector_cccf_copy_autotest.c \
src/framing/tests/qpacketmodem_autotest.c \
src/framing/tests/qpilotsync_autotest.c \
src/framing/tests/qsource_autotest.c \
src/framing/tests/symstreamcf_autotest.c \
src/framing/tests/symstreamcf_delay_autotest.c \
src/framing/tests/symstreamrcf_autotest.c \
src/framing/tests/symstreamrcf_delay_autotest.c \
src/framing/tests/symtrack_cccf_autotest.c \
@ -708,15 +741,15 @@ math_objects := \
src/math/src/windows.o \
poly_includes := \
src/math/src/poly.common.c \
src/math/src/poly.expand.c \
src/math/src/poly.lagrange.c \
poly_prototypes := \
src/math/src/poly.common.proto.c \
src/math/src/poly.expand.proto.c \
src/math/src/poly.lagrange.proto.c \
src/math/src/poly.o : %.o : %.c $(include_headers) $(poly_includes)
src/math/src/polyc.o : %.o : %.c $(include_headers) $(poly_includes)
src/math/src/polyf.o : %.o : %.c $(include_headers) $(poly_includes)
src/math/src/polycf.o : %.o : %.c $(include_headers) $(poly_includes)
src/math/src/poly.o : %.o : %.c $(include_headers) $(poly_prototypes)
src/math/src/polyc.o : %.o : %.c $(include_headers) $(poly_prototypes)
src/math/src/polyf.o : %.o : %.c $(include_headers) $(poly_prototypes)
src/math/src/polycf.o : %.o : %.c $(include_headers) $(poly_prototypes)
src/math/src/math.o : %.o : %.c $(include_headers)
src/math/src/math.bessel.o : %.o : %.c $(include_headers)
src/math/src/math.gamma.o : %.o : %.c $(include_headers)
@ -757,24 +790,24 @@ matrix_objects := \
src/matrix/src/smatrixi.o \
matrix_includes := \
src/matrix/src/matrix.base.c \
src/matrix/src/matrix.cgsolve.c \
src/matrix/src/matrix.chol.c \
src/matrix/src/matrix.gramschmidt.c \
src/matrix/src/matrix.inv.c \
src/matrix/src/matrix.linsolve.c \
src/matrix/src/matrix.ludecomp.c \
src/matrix/src/matrix.qrdecomp.c \
src/matrix/src/matrix.math.c \
matrix_prototypes := \
src/matrix/src/matrix.base.proto.c \
src/matrix/src/matrix.cgsolve.proto.c \
src/matrix/src/matrix.chol.proto.c \
src/matrix/src/matrix.gramschmidt.proto.c \
src/matrix/src/matrix.inv.proto.c \
src/matrix/src/matrix.linsolve.proto.c \
src/matrix/src/matrix.ludecomp.proto.c \
src/matrix/src/matrix.qrdecomp.proto.c \
src/matrix/src/matrix.math.proto.c \
src/matrix/src/matrix.o : %.o : %.c $(include_headers) $(matrix_includes)
src/matrix/src/matrixc.o : %.o : %.c $(include_headers) $(matrix_includes)
src/matrix/src/matrixf.o : %.o : %.c $(include_headers) $(matrix_includes)
src/matrix/src/matrixcf.o : %.o : %.c $(include_headers) $(matrix_includes)
src/matrix/src/smatrixb.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.c
src/matrix/src/smatrixf.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.c
src/matrix/src/smatrixi.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.c
src/matrix/src/matrix.o : %.o : %.c $(include_headers) $(matrix_prototypes)
src/matrix/src/matrixc.o : %.o : %.c $(include_headers) $(matrix_prototypes)
src/matrix/src/matrixf.o : %.o : %.c $(include_headers) $(matrix_prototypes)
src/matrix/src/matrixcf.o : %.o : %.c $(include_headers) $(matrix_prototypes)
src/matrix/src/smatrixb.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.proto.c
src/matrix/src/smatrixf.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.proto.c
src/matrix/src/smatrixi.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.proto.c
# matrix autotest scripts
@ -835,26 +868,26 @@ modem_objects := \
src/modem/src/modem_arb_const.o \
# explicit targets and dependencies
modem_includes := \
src/modem/src/freqdem.c \
src/modem/src/freqmod.c \
src/modem/src/modem_common.c \
src/modem/src/modem_psk.c \
src/modem/src/modem_dpsk.c \
src/modem/src/modem_ask.c \
src/modem/src/modem_qam.c \
src/modem/src/modem_apsk.c \
src/modem/src/modem_bpsk.c \
src/modem/src/modem_qpsk.c \
src/modem/src/modem_ook.c \
src/modem/src/modem_pi4dqpsk.c \
src/modem/src/modem_sqam32.c \
src/modem/src/modem_sqam128.c \
src/modem/src/modem_arb.c \
modem_prototypes := \
src/modem/src/freqdem.proto.c \
src/modem/src/freqmod.proto.c \
src/modem/src/modem_common.proto.c \
src/modem/src/modem_psk.proto.c \
src/modem/src/modem_dpsk.proto.c \
src/modem/src/modem_ask.proto.c \
src/modem/src/modem_qam.proto.c \
src/modem/src/modem_apsk.proto.c \
src/modem/src/modem_bpsk.proto.c \
src/modem/src/modem_qpsk.proto.c \
src/modem/src/modem_ook.proto.c \
src/modem/src/modem_pi4dqpsk.proto.c \
src/modem/src/modem_sqam32.proto.c \
src/modem/src/modem_sqam128.proto.c \
src/modem/src/modem_arb.proto.c \
#src/modem/src/modem_demod_soft_const.c
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_includes)
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_prototypes)
src/modem/src/modem.shim.o : %.o : %.c $(include_headers)
src/modem/src/gmskmod.o : %.o : %.c $(include_headers)
src/modem/src/gmskdem.o : %.o : %.c $(include_headers)
@ -870,7 +903,9 @@ modem_autotests := \
src/modem/tests/cpfskmodem_autotest.c \
src/modem/tests/freqmodem_autotest.c \
src/modem/tests/fskmodem_autotest.c \
src/modem/tests/gmskmodem_autotest.c \
src/modem/tests/modem_autotest.c \
src/modem/tests/modem_copy_autotest.c \
src/modem/tests/modem_demodsoft_autotest.c \
src/modem/tests/modem_demodstats_autotest.c \
src/modem/tests/modem_utilities_autotest.c \
@ -900,13 +935,13 @@ multichannel_objects := \
$(multichannel_objects) : %.o : %.c $(include_headers)
# list explicit targets and dependencies here
multichannel_includes := \
src/multichannel/src/firpfbch.c \
src/multichannel/src/firpfbch2.c \
src/multichannel/src/firpfbchr.c \
multichannel_prototypes := \
src/multichannel/src/firpfbch.proto.c \
src/multichannel/src/firpfbch2.proto.c \
src/multichannel/src/firpfbchr.proto.c \
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_includes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_includes)
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_prototypes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_prototypes)
# autotests
multichannel_autotests := \
@ -930,16 +965,18 @@ multichannel_benchmarks := \
nco_objects := \
src/nco/src/nco_crcf.o \
src/nco/src/nco.utilities.o \
src/nco/src/synth_crcf.o \
nco_prototypes := \
src/nco/src/nco.proto.c \
src/nco/src/synth.proto.c \
src/nco/src/nco_crcf.o : %.o : %.c $(include_headers) src/nco/src/nco.c
src/nco/src/nco_crcf.o : %.o : %.c $(include_headers) $(nco_prototypes)
src/nco/src/nco.utilities.o : %.o : %.c $(include_headers)
src/nco/src/synth_crcf.o : %.o : %.c $(include_headers) src/nco/src/synth.c
# autotests
nco_autotests := \
src/nco/tests/nco_crcf_copy_autotest.c \
src/nco/tests/nco_crcf_frequency_autotest.c \
src/nco/tests/nco_crcf_mix_autotest.c \
src/nco/tests/nco_crcf_phase_autotest.c \
@ -968,6 +1005,7 @@ optim_objects := \
src/optim/src/gradsearch.o \
src/optim/src/optim.common.o \
src/optim/src/qnsearch.o \
src/optim/src/qs1dsearch.o \
src/optim/src/utilities.o \
$(optim_objects) : %.o : %.c $(include_headers)
@ -975,6 +1013,7 @@ $(optim_objects) : %.o : %.c $(include_headers)
# autotests
optim_autotests := \
src/optim/tests/gradsearch_autotest.c \
src/optim/tests/qs1dsearch_autotest.c \
# benchmarks
optim_benchmarks :=
@ -990,10 +1029,12 @@ quantization_objects := \
src/quantization/src/quantizerf.o \
src/quantization/src/quantizer.inline.o \
quantization_prototypes := \
src/quantization/src/quantizer.proto.c \
src/quantization/src/compand.o : %.o : %.c $(include_headers)
src/quantization/src/quantizercf.o : %.o : %.c $(include_headers) src/quantization/src/quantizer.c
src/quantization/src/quantizerf.o : %.o : %.c $(include_headers) src/quantization/src/quantizer.c
src/quantization/src/quantizercf.o : %.o : %.c $(include_headers) $(quantization_prototypes)
src/quantization/src/quantizerf.o : %.o : %.c $(include_headers) $(quantization_prototypes)
src/quantization/src/quantizer.inline.o : %.o : %.c $(include_headers)
@ -1066,6 +1107,7 @@ sequence_benchmarks := \
utility_objects := \
src/utility/src/bshift_array.o \
src/utility/src/byte_utilities.o \
src/utility/src/memory.o \
src/utility/src/msb_index.o \
src/utility/src/pack_bytes.o \
src/utility/src/shift_array.o \
@ -1094,14 +1136,14 @@ vector_objects := \
src/vector/src/vectorf_add.port.o src/vector/src/vectorf_norm.port.o src/vector/src/vectorf_mul.port.o src/vector/src/vectorf_trig.port.o src/vector/src/vectorcf_add.port.o src/vector/src/vectorcf_norm.port.o src/vector/src/vectorcf_mul.port.o src/vector/src/vectorcf_trig.port.o \
# portable builds
src/vector/src/vectorf_add.port.o : %.o : %.c $(include_headers) src/vector/src/vector_add.c
src/vector/src/vectorf_norm.port.o : %.o : %.c $(include_headers) src/vector/src/vector_norm.c
src/vector/src/vectorf_mul.port.o : %.o : %.c $(include_headers) src/vector/src/vector_mul.c
src/vector/src/vectorf_trig.port.o : %.o : %.c $(include_headers) src/vector/src/vector_trig.c
src/vector/src/vectorcf_add.port.o : %.o : %.c $(include_headers) src/vector/src/vector_add.c
src/vector/src/vectorcf_norm.port.o : %.o : %.c $(include_headers) src/vector/src/vector_norm.c
src/vector/src/vectorcf_mul.port.o : %.o : %.c $(include_headers) src/vector/src/vector_mul.c
src/vector/src/vectorcf_trig.port.o : %.o : %.c $(include_headers) src/vector/src/vector_trig.c
src/vector/src/vectorf_add.port.o : %.o : %.c $(include_headers) src/vector/src/vector_add.proto.c
src/vector/src/vectorf_norm.port.o : %.o : %.c $(include_headers) src/vector/src/vector_norm.proto.c
src/vector/src/vectorf_mul.port.o : %.o : %.c $(include_headers) src/vector/src/vector_mul.proto.c
src/vector/src/vectorf_trig.port.o : %.o : %.c $(include_headers) src/vector/src/vector_trig.proto.c
src/vector/src/vectorcf_add.port.o : %.o : %.c $(include_headers) src/vector/src/vector_add.proto.c
src/vector/src/vectorcf_norm.port.o : %.o : %.c $(include_headers) src/vector/src/vector_norm.proto.c
src/vector/src/vectorcf_mul.port.o : %.o : %.c $(include_headers) src/vector/src/vector_mul.proto.c
src/vector/src/vectorcf_trig.port.o : %.o : %.c $(include_headers) src/vector/src/vector_trig.proto.c
# builds for specific architectures
# ...
@ -1202,10 +1244,9 @@ benchmark_sources := \
##
.PHONY: all
# Shared library
ARCHIVE_LIB = libliquid.a
#MINGW:
SHARED_LIB = libliquid.dll
# Shared library targets
ARCHIVE_LIB = libliquid.${AR_LIB}
SHARED_LIB = libliquid.${SH_LIB}
#
# darwin
@ -1237,7 +1278,7 @@ all: ${ARCHIVE_LIB} ${SHARED_LIB}
## TARGET : help - print list of targets
##
# look for all occurences of '## TARGET : ' and print rest of line to screen
# look for all occurrences of '## TARGET : ' and print rest of line to screen
help:
@echo "Targets for liquid-dsp makefile:"
@$(GREP) -E "^## TARGET : " [Mm]akefile | $(SED) 's/## TARGET : / /'
@ -1249,11 +1290,13 @@ help:
install: all
@echo "installing..."
@echo ""
mkdir -p $(DESTDIR)$(prefix)/include
mkdir -p $(DESTDIR)$(prefix)/include/liquid
mkdir -p $(DESTDIR)$(libdir)
install -m 644 -p ${ARCHIVE_LIB} ${SHARED_LIB} $(DESTDIR)$(libdir)
install -m 644 -p $(addprefix include/,$(headers_install)) $(DESTDIR)$(prefix)/include/liquid
install -m 644 -p libliquid.${AR_LIB} $(DESTDIR)$(libdir)/libliquid.${AR_LIB}.${VERSION}
install -m 644 -p libliquid.${SH_LIB} $(DESTDIR)$(libdir)/libliquid.${SH_LIB}.${VERSION}
install -m 644 -p include/liquid.h $(DESTDIR)$(prefix)/include/liquid/liquid.h
ln -sf libliquid.${SH_LIB}.${VERSION} $(DESTDIR)$(libdir)/libliquid.${SH_LIB}
ln -sf libliquid.${SH_LIB}.${VERSION} $(DESTDIR)$(libdir)/libliquid.${SH_LIB}.1
@echo ""
@echo "---------------------------------------------------------"
@echo " liquid-dsp was successfully installed. "
@ -1272,11 +1315,14 @@ install: all
## TARGET : uninstall - uninstalls the libraries and header files in the host system
##
#$(RM) $(addprefix $(DESTDIR)$(prefix)/include/liquid/, $(headers_install))
uninstall:
@echo "uninstalling..."
$(RM) $(addprefix $(DESTDIR)$(prefix)/include/liquid/, $(headers_install))
$(RM) $(DESTDIR)$(libdir)/${ARCHIVE_LIB}
$(RM) $(DESTDIR)$(libdir)/${SHARED_LIB}
$(RM) $(DESTDIR)$(prefix)/include/liquid/liquid.h
$(RM) $(DESTDIR)$(libdir)/libliquid.${AR_LIB}.${VERSION}
$(RM) $(DESTDIR)$(libdir)/libliquid.${SH_LIB}.${VERSION}
$(RM) $(DESTDIR)$(libdir)/libliquid.${SH_LIB}.1
$(RM) $(DESTDIR)$(libdir)/libliquid.${SH_LIB}
@echo "done."
##
@ -1311,26 +1357,19 @@ autotest_include.h : scripts/autoscript $(autotest_sources) $(include_headers)
# autotest objects
# NOTE: by default, gcc compiles any file with a '.h' extension as a 'pre-compiled
# header' so we need to explicity tell it to compile as a c source file with
# header' so we need to explicitly tell it to compile as a c source file with
# the '-x c' flag
autotest_obj = $(patsubst %.c,%.o,$(autotest_sources))
$(autotest_obj) : %.o : %.c $(include_headers)
$(CC) $(CPPFLAGS) $(CFLAGS) $< -c -o $@
# additional autotest objects
$(autotest_extra_obj) : %.o : %.c $(include_headers)
# compile the autotest internal library functions without linking
autotest/autotestlib.o : autotest/autotestlib.c autotest/autotest.h
$(autotest_obj) $(autotest_extra_obj) autotest/autotest.o : %.o : %.c $(include_headers) autotest/autotest.h
$(CC) $(CPPFLAGS) $(CFLAGS) $< -c -o $@
# compile the autotest program without linking
$(autotest_prog).o : autotest/autotest.c autotest/autotest.h autotest_include.h
$(autotest_prog).o : autotest/xautotest.c autotest/autotest.h autotest_include.h
$(CC) $(CPPFLAGS) $(CFLAGS) $< -c -o $@
# link the autotest program with the objects
# NOTE: linked libraries must come _after_ the target program
$(autotest_prog): $(autotest_prog).o $(autotest_obj) $(autotest_extra_obj) autotest/autotestlib.o ${ARCHIVE_LIB}
$(autotest_prog): $(autotest_prog).o $(autotest_obj) $(autotest_extra_obj) autotest/autotest.o ${ARCHIVE_LIB}
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS)
# run the autotest program
@ -1343,10 +1382,12 @@ test: check
# clean the generated files
clean-check:
$(RM) autotest_include.h $(autotest_prog).o $(autotest_prog)
$(RM) autotest/autotestlib.o
$(RM) $(autotest_obj)
$(RM) $(autotest_extra_obj)
$(RM) autotest/autotest.o
$(RM) autotest.json
$(RM) autotest/logs/*.m autotest/logs/*.dat
$(RM) autotest/logs/*.bin autotest/logs/*.gnu autotest/logs/*.png
##
## TARGET : doc-check - build and run basic documentation checks
@ -1414,7 +1455,7 @@ benchmark_include.h : scripts/autoscript $(benchmark_sources) $(include_headers)
# benchmark objects
# NOTE: by default, gcc compiles any file with a '.h' extension as a 'pre-compiled
# header' so we need to explicity tell it to compile as a c source file with
# header' so we need to explicitly tell it to compile as a c source file with
# the '-x c' flag
benchmark_obj = $(patsubst %.c,%.o,$(benchmark_sources))
$(benchmark_obj) : %.o : %.c $(include_headers)
@ -1436,10 +1477,6 @@ $(bench_prog): $(bench_prog).o $(benchmark_obj) $(benchmark_extra_obj) ${ARCHIVE
bench: $(bench_prog)
./$(bench_prog) -o benchmark.json
# benchmark compare script
scripts/benchmark_compare : % : %.c
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS)
# fftbench program
bench/fftbench.o : %.o : %.c
$(CC) $(BENCH_CPPFLAGS) $(BENCH_CFLAGS) $< -c -o $@
@ -1450,7 +1487,6 @@ bench/fftbench : % : %.o ${ARCHIVE_LIB}
# clean up the generated files
clean-bench:
$(RM) benchmark_include.h $(bench_prog).o $(bench_prog)
$(RM) scripts/benchmark_compare
$(RM) $(benchmark_obj)
$(RM) $(benchmark_extra_obj)
$(RM) bench/fftbench.o
@ -1504,11 +1540,14 @@ example_programs := \
examples/firfarrow_rrrf_example \
examples/firfilt_cccf_example \
examples/firfilt_cccf_notch_example \
examples/firfilt_crcf_copy_example \
examples/firfilt_crcf_example \
examples/firfilt_crcf_dcblocker_example \
examples/firfilt_rrrf_example \
examples/firdes_doppler_example \
examples/firdes_kaiser_example \
examples/firdespm_callback_example \
examples/firdespm_halfband_example \
examples/firdespm_example \
examples/firdespm_lowpass_example \
examples/firhilb_example \
@ -1525,6 +1564,7 @@ example_programs := \
examples/firinterp_rrrf_window_example \
examples/firpfbch_crcf_example \
examples/firpfbch_crcf_analysis_example \
examples/firpfbch_crcf_msource_example \
examples/firpfbch_crcf_synthesis_example \
examples/flexframesync_example \
examples/flexframesync_reconfig_example \
@ -1595,6 +1635,7 @@ example_programs := \
examples/qpacketmodem_example \
examples/qpilotsync_example \
examples/qnsearch_example \
examples/qs1dsearch_example \
examples/quantize_example \
examples/random_histogram_example \
examples/repack_bytes_example \
@ -1704,6 +1745,7 @@ sandbox_programs = \
sandbox/firdes_gmskrx_test \
sandbox/firdes_group_delay_test \
sandbox/firdes_length_test \
sandbox/firdespm_halfband_test \
sandbox/firfarrow_rrrf_test \
sandbox/firfilt_dcblocker_test \
sandbox/firpfbch_analysis_alignment_test \
@ -1751,6 +1793,7 @@ sandbox_programs = \
sandbox/resamp2_crcf_filterbank_test \
sandbox/resamp2_crcf_interp_recreate_test \
sandbox/reverse_byte_gentab \
sandbox/rhamming_test \
sandbox/rkaiser2_test \
sandbox/shadowing_test \
sandbox/simplex_test \
@ -1783,6 +1826,23 @@ clean-sandbox:
$(RM) sandbox/*.o
$(RM) $(sandbox_programs)
##
## TARGET : check-link- test linking to installed library
##
# run program, ensuring proper error code
check-link: scripts/liquid_linker_test ; ./$<
# use subset of compiler flags so we don't try to build or link against
# local files
scripts/liquid_linker_test.o : %.o : %.c
$(CC) -c -Wall -O2 -o $@ $<
scripts/liquid_linker_test : % : %.o
$(CC) -Wall -O2 -o $@ $< -L/usr/local/lib ${LIBS} -lliquid
extra_clean += scripts/liquid_linker_test.o scripts/liquid_linker_test
##
## TARGET : programs - build all programs, but don't run anything
##
@ -1813,7 +1873,7 @@ clean: clean-modules clean-autoscript clean-check clean-coverage clean-bench cle
distclean: clean
@echo "cleaning distribution..."
$(RM) octave-core *.m
$(RM) octave-core *_example.m
$(RM) configure config.h config.h.in config.h.in~ config.log config.status
$(RM) -r autom4te.cache
$(RM) aclocal.m4

View File

@ -43,8 +43,10 @@
# autoconf initialization macros
NAME := liquid-dsp
VERSION := 1.4.0
VERSION := 1.5
BUGREPORT := joseph@liquidsdr.org
AR_LIB := a
SH_LIB := dll
# paths
prefix := /usr/local
@ -71,8 +73,8 @@ COVERAGE_FLAGS = # dynamic library linker needs separate flag
#MINGW: optimizations goes here, use SSSE42 for 64bit
CONFIG_CFLAGS = -O3 -msse4.2 -ffast-math ${COVERAGE_FLAGS}
CPPFLAGS = $(INCLUDE_CFLAGS)
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated
CXXFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated -Wno-return-type-c-linkage
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated -Wno-deprecated-declarations
CXXFLAGS = $(CFLAGS) -std=c++14 -Wno-return-type-c-linkage
LDFLAGS =
#MINGW:
LIBS = -lmsvcrt
@ -110,9 +112,12 @@ agc_objects = \
src/agc/src/agc_crcf.o \
src/agc/src/agc_rrrf.o \
agc_prototypes := \
src/agc/src/agc.proto.c \
# explicit targets and dependencies
src/agc/src/agc_crcf.o : %.o : %.c src/agc/src/agc.c $(include_headers)
src/agc/src/agc_rrrf.o : %.o : %.c src/agc/src/agc.c $(include_headers)
src/agc/src/agc_crcf.o : %.o : %.c $(include_headers) $(agc_prototypes)
src/agc/src/agc_rrrf.o : %.o : %.c $(include_headers) $(agc_prototypes)
# autotests
agc_autotests := \
@ -148,22 +153,20 @@ buffer_objects := \
src/buffer/src/bufferf.o \
src/buffer/src/buffercf.o \
buffer_includes := \
src/buffer/src/cbuffer.c \
src/buffer/src/wdelay.c \
src/buffer/src/window.c \
# src/buffer/src/buffer.proto.c
buffer_prototypes := \
src/buffer/src/cbuffer.proto.c \
src/buffer/src/wdelay.proto.c \
src/buffer/src/window.proto.c \
src/buffer/src/bufferf.o : %.o : %.c $(include_headers) $(buffer_includes)
src/buffer/src/buffercf.o : %.o : %.c $(include_headers) $(buffer_includes)
src/buffer/src/bufferf.o : %.o : %.c $(include_headers) $(buffer_prototypes)
src/buffer/src/buffercf.o : %.o : %.c $(include_headers) $(buffer_prototypes)
buffer_autotests := \
src/buffer/tests/cbuffer_autotest.c \
src/buffer/tests/wdelay_autotest.c \
src/buffer/tests/window_autotest.c \
# src/buffer/tests/sbuffer_autotest.c
buffer_benchmarks := \
src/buffer/bench/cbuffercf_benchmark.c \
@ -177,13 +180,15 @@ buffer_benchmarks := \
channel_objects := \
src/channel/src/channel_cccf.o \
channel_includes := \
src/channel/src/channel.c \
src/channel/src/tvmpch.c \
channel_prototypes := \
src/channel/src/channel.proto.c \
src/channel/src/tvmpch.proto.c \
src/channel/src/channel_cccf.o : %.o : %.c $(include_headers) $(channel_includes)
src/channel/src/channel_cccf.o : %.o : %.c $(include_headers) $(channel_prototypes)
channel_autotests := \
src/channel/tests/channel_copy_autotest.c \
src/channel/tests/tvmpch_copy_autotest.c \
#src/channel/tests/channel_cccf_autotest.c
@ -195,11 +200,11 @@ channel_benchmarks := \
# MODULE : dotprod
#
dotprod_objects := \
src/dotprod/src/dotprod_cccf.mmx.o src/dotprod/src/dotprod_crcf.mmx.o src/dotprod/src/dotprod_rrrf.mmx.o src/dotprod/src/sumsq.mmx.o \
src/dotprod/src/dotprod_cccf.mmx.o src/dotprod/src/dotprod_crcf.mmx.o src/dotprod/src/dotprod_rrrf.sse4.o src/dotprod/src/sumsq.mmx.o \
src/dotprod/src/dotprod_cccf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.c
src/dotprod/src/dotprod_crcf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.c
src/dotprod/src/dotprod_rrrf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.c
src/dotprod/src/dotprod_cccf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.proto.c
src/dotprod/src/dotprod_crcf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.proto.c
src/dotprod/src/dotprod_rrrf.o : %.o : %.c $(include_headers) src/dotprod/src/dotprod.proto.c
src/dotprod/src/sumsq.o : %.o : %.c $(include_headers)
# specific machine architectures
@ -217,6 +222,9 @@ src/dotprod/src/sumsq.mmx.o : %.o : %.c $(include_headers)
# SSE4.1/2
src/dotprod/src/dotprod_rrrf.sse4.o : %.o : %.c $(include_headers)
# AVX
src/dotprod/src/sumsq.avx.o : %.o : %.c $(include_headers)
# ARM Neon
src/dotprod/src/dotprod_rrrf.neon.o : %.o : %.c $(include_headers)
src/dotprod/src/dotprod_crcf.neon.o : %.o : %.c $(include_headers)
@ -243,8 +251,11 @@ equalization_objects := \
src/equalization/src/equalizer_cccf.o \
src/equalization/src/equalizer_rrrf.o \
equalization_prototypes := \
src/equalization/src/eqlms.proto.c \
src/equalization/src/eqrls.proto.c \
$(equalization_objects) : %.o : %.c $(include_headers) src/equalization/src/eqlms.c src/equalization/src/eqrls.c
$(equalization_objects) : %.o : %.c $(include_headers) $(equalization_prototypes)
# autotests
@ -294,6 +305,7 @@ $(fec_objects) : %.o : %.c $(include_headers)
fec_autotests := \
src/fec/tests/crc_autotest.c \
src/fec/tests/fec_autotest.c \
src/fec/tests/fec_copy_autotest.c \
src/fec/tests/fec_soft_autotest.c \
src/fec/tests/fec_golay2412_autotest.c \
src/fec/tests/fec_hamming74_autotest.c \
@ -308,6 +320,7 @@ fec_autotests := \
src/fec/tests/fec_secded3932_autotest.c \
src/fec/tests/fec_secded7264_autotest.c \
src/fec/tests/interleaver_autotest.c \
src/fec/tests/packetizer_copy_autotest.c \
src/fec/tests/packetizer_autotest.c \
@ -332,26 +345,27 @@ fft_objects := \
src/fft/src/fft_utilities.o \
# explicit targets and dependencies
fft_includes := \
src/fft/src/fft_common.c \
src/fft/src/fft_dft.c \
src/fft/src/fft_radix2.c \
src/fft/src/fft_mixed_radix.c \
src/fft/src/fft_rader.c \
src/fft/src/fft_rader2.c \
src/fft/src/fft_r2r_1d.c \
fft_prototypes := \
src/fft/src/fft_common.proto.c \
src/fft/src/fft_dft.proto.c \
src/fft/src/fft_radix2.proto.c \
src/fft/src/fft_mixed_radix.proto.c \
src/fft/src/fft_rader.proto.c \
src/fft/src/fft_rader2.proto.c \
src/fft/src/fft_r2r_1d.proto.c \
src/fft/src/fftf.o : %.o : %.c $(include_headers) $(fft_includes)
src/fft/src/fftf.o : %.o : %.c $(include_headers) $(fft_prototypes)
src/fft/src/asgram.o : %.o : %.c $(include_headers)
src/fft/src/dct.o : %.o : %.c $(include_headers)
src/fft/src/fftf.o : %.o : %.c $(include_headers)
src/fft/src/fft_utilities.o : %.o : %.c $(include_headers)
src/fft/src/mdct.o : %.o : %.c $(include_headers)
src/fft/src/spgramcf.o : %.o : %.c $(include_headers) src/fft/src/asgram.c src/fft/src/spgram.c src/fft/src/spwaterfall.c
src/fft/src/spgramf.o : %.o : %.c $(include_headers) src/fft/src/asgram.c src/fft/src/spgram.c src/fft/src/spwaterfall.c
src/fft/src/spgramcf.o : %.o : %.c $(include_headers) src/fft/src/asgram.proto.c src/fft/src/spgram.proto.c src/fft/src/spwaterfall.proto.c
src/fft/src/spgramf.o : %.o : %.c $(include_headers) src/fft/src/asgram.proto.c src/fft/src/spgram.proto.c src/fft/src/spwaterfall.proto.c
# fft autotest scripts
fft_autotests := \
src/fft/tests/asgram_autotest.c \
src/fft/tests/fft_small_autotest.c \
src/fft/tests/fft_radix2_autotest.c \
src/fft/tests/fft_composite_autotest.c \
@ -407,6 +421,7 @@ fft_benchmarks := \
src/fft/bench/fft_prime_benchmark.c \
src/fft/bench/fft_radix2_benchmark.c \
src/fft/bench/fft_r2r_benchmark.c \
src/fft/bench/spgramcf_benchmark.c \
# additional benchmark objects
benchmark_extra_obj := \
@ -427,6 +442,7 @@ filter_objects := \
src/filter/src/filter_cccf.o \
src/filter/src/firdes.o \
src/filter/src/firdespm.o \
src/filter/src/firdespm_halfband.o \
src/filter/src/fnyquist.o \
src/filter/src/gmsk.o \
src/filter/src/group_delay.o \
@ -440,29 +456,29 @@ filter_objects := \
# list explicit targets and dependencies here
filter_includes := \
src/filter/src/autocorr.c \
src/filter/src/dds.c \
src/filter/src/fdelay.c \
src/filter/src/fftfilt.c \
src/filter/src/firdecim.c \
src/filter/src/firfarrow.c \
src/filter/src/firfilt.c \
src/filter/src/firhilb.c \
src/filter/src/firinterp.c \
src/filter/src/firpfb.c \
src/filter/src/iirdecim.c \
src/filter/src/iirfilt.c \
src/filter/src/iirfiltsos.c \
src/filter/src/iirhilb.c \
src/filter/src/iirinterp.c \
src/filter/src/msresamp.c \
src/filter/src/msresamp2.c \
src/filter/src/ordfilt.c \
src/filter/src/rresamp.c \
src/filter/src/resamp.fixed.c \
src/filter/src/resamp2.c \
src/filter/src/symsync.c \
filter_prototypes := \
src/filter/src/autocorr.proto.c \
src/filter/src/dds.proto.c \
src/filter/src/fdelay.proto.c \
src/filter/src/fftfilt.proto.c \
src/filter/src/firdecim.proto.c \
src/filter/src/firfarrow.proto.c \
src/filter/src/firfilt.proto.c \
src/filter/src/firhilb.proto.c \
src/filter/src/firinterp.proto.c \
src/filter/src/firpfb.proto.c \
src/filter/src/iirdecim.proto.c \
src/filter/src/iirfilt.proto.c \
src/filter/src/iirfiltsos.proto.c \
src/filter/src/iirhilb.proto.c \
src/filter/src/iirinterp.proto.c \
src/filter/src/msresamp.proto.c \
src/filter/src/msresamp2.proto.c \
src/filter/src/ordfilt.proto.c \
src/filter/src/rresamp.proto.c \
src/filter/src/resamp.fixed.proto.c \
src/filter/src/resamp2.proto.c \
src/filter/src/symsync.proto.c \
src/filter/src/bessel.o : %.o : %.c $(include_headers)
src/filter/src/bessel.o : %.o : %.c $(include_headers)
@ -470,9 +486,9 @@ src/filter/src/butter.o : %.o : %.c $(include_headers)
src/filter/src/cheby1.o : %.o : %.c $(include_headers)
src/filter/src/cheby2.o : %.o : %.c $(include_headers)
src/filter/src/ellip.o : %.o : %.c $(include_headers)
src/filter/src/filter_rrrf.o : %.o : %.c $(include_headers) $(filter_includes)
src/filter/src/filter_crcf.o : %.o : %.c $(include_headers) $(filter_includes)
src/filter/src/filter_cccf.o : %.o : %.c $(include_headers) $(filter_includes)
src/filter/src/filter_rrrf.o : %.o : %.c $(include_headers) $(filter_prototypes)
src/filter/src/filter_crcf.o : %.o : %.c $(include_headers) $(filter_prototypes)
src/filter/src/filter_cccf.o : %.o : %.c $(include_headers) $(filter_prototypes)
src/filter/src/firdes.o : %.o : %.c $(include_headers)
src/filter/src/firdespm.o : %.o : %.c $(include_headers)
src/filter/src/group_delay.o : %.o : %.c $(include_headers)
@ -486,30 +502,41 @@ src/filter/src/rrcos.o : %.o : %.c $(include_headers)
filter_autotests := \
src/filter/tests/dds_cccf_autotest.c \
src/filter/tests/fdelay_rrrf_autotest.c \
src/filter/tests/fftfilt_xxxf_autotest.c \
src/filter/tests/filter_crosscorr_autotest.c \
src/filter/tests/firdecim_autotest.c \
src/filter/tests/firdecim_xxxf_autotest.c \
src/filter/tests/firdes_autotest.c \
src/filter/tests/firdespm_autotest.c \
src/filter/tests/firfilt_autotest.c \
src/filter/tests/firfilt_cccf_notch_autotest.c \
src/filter/tests/firfilt_coefficients_autotest.c \
src/filter/tests/firfilt_rnyquist_autotest.c \
src/filter/tests/firfilt_xxxf_autotest.c \
src/filter/tests/firfilt_copy_autotest.c \
src/filter/tests/firhilb_autotest.c \
src/filter/tests/firinterp_autotest.c \
src/filter/tests/firpfb_autotest.c \
src/filter/tests/groupdelay_autotest.c \
src/filter/tests/iirdecim_autotest.c \
src/filter/tests/iirdes_autotest.c \
src/filter/tests/iirdes_support_autotest.c \
src/filter/tests/iirfilt_xxxf_autotest.c \
src/filter/tests/iirfiltsos_rrrf_autotest.c \
src/filter/tests/iirfilt_copy_autotest.c \
src/filter/tests/iirfiltsos_autotest.c \
src/filter/tests/iirhilb_autotest.c \
src/filter/tests/iirinterp_autotest.c \
src/filter/tests/lpc_autotest.c \
src/filter/tests/msresamp_crcf_autotest.c \
src/filter/tests/msresamp2_crcf_autotest.c \
src/filter/tests/ordfilt_autotest.c \
src/filter/tests/rresamp_crcf_autotest.c \
src/filter/tests/rresamp_crcf_partition_autotest.c \
src/filter/tests/resamp_crcf_autotest.c \
src/filter/tests/resamp2_crcf_autotest.c \
src/filter/tests/symsync_copy_autotest.c \
src/filter/tests/symsync_crcf_autotest.c \
src/filter/tests/symsync_rrrf_autotest.c \
@ -638,10 +665,10 @@ framing_objects := \
src/framing/src/bpacketgen.o : %.o : %.c $(include_headers)
src/framing/src/bpacketsync.o : %.o : %.c $(include_headers)
src/framing/src/bpresync_cccf.o : %.o : %.c $(include_headers) src/framing/src/bpresync.c
src/framing/src/bsync_rrrf.o : %.o : %.c $(include_headers) src/framing/src/bsync.c
src/framing/src/bsync_crcf.o : %.o : %.c $(include_headers) src/framing/src/bsync.c
src/framing/src/bsync_cccf.o : %.o : %.c $(include_headers) src/framing/src/bsync.c
src/framing/src/bpresync_cccf.o : %.o : %.c $(include_headers) src/framing/src/bpresync.proto.c
src/framing/src/bsync_rrrf.o : %.o : %.c $(include_headers) src/framing/src/bsync.proto.c
src/framing/src/bsync_crcf.o : %.o : %.c $(include_headers) src/framing/src/bsync.proto.c
src/framing/src/bsync_cccf.o : %.o : %.c $(include_headers) src/framing/src/bsync.proto.c
src/framing/src/detector_cccf.o : %.o : %.c $(include_headers)
src/framing/src/dsssframegen.o : %.o : %.c $(include_headers)
src/framing/src/dsssframesync.o : %.o : %.c $(include_headers)
@ -651,28 +678,34 @@ src/framing/src/framegen64.o : %.o : %.c $(include_headers)
src/framing/src/framesync64.o : %.o : %.c $(include_headers)
src/framing/src/flexframegen.o : %.o : %.c $(include_headers)
src/framing/src/flexframesync.o : %.o : %.c $(include_headers)
src/framing/src/msourcecf.o : %.o : %.c $(include_headers) src/framing/src/msource.c src/framing/src/qsource.c
src/framing/src/msourcecf.o : %.o : %.c $(include_headers) src/framing/src/msource.proto.c src/framing/src/qsource.proto.c
src/framing/src/ofdmflexframegen.o : %.o : %.c $(include_headers)
src/framing/src/ofdmflexframesync.o : %.o : %.c $(include_headers)
src/framing/src/presync_cccf.o : %.o : %.c $(include_headers) src/framing/src/presync.c
src/framing/src/presync_cccf.o : %.o : %.c $(include_headers) src/framing/src/presync.proto.c
src/framing/src/qpacketmodem.o : %.o : %.c $(include_headers)
src/framing/src/symstreamcf.o : %.o : %.c $(include_headers) src/framing/src/symstream.c
src/framing/src/symstreamrcf.o : %.o : %.c $(include_headers) src/framing/src/symstreamr.c
src/framing/src/symtrack_cccf.o : %.o : %.c $(include_headers) src/framing/src/symtrack.c
src/framing/src/symstreamcf.o : %.o : %.c $(include_headers) src/framing/src/symstream.proto.c
src/framing/src/symstreamrcf.o : %.o : %.c $(include_headers) src/framing/src/symstreamr.proto.c
src/framing/src/symtrack_cccf.o : %.o : %.c $(include_headers) src/framing/src/symtrack.proto.c
framing_autotests := \
src/framing/tests/bpacketsync_autotest.c \
src/framing/tests/bsync_autotest.c \
src/framing/tests/detector_autotest.c \
src/framing/tests/dsssframesync_autotest.c \
src/framing/tests/flexframesync_autotest.c \
src/framing/tests/framesync64_autotest.c \
src/framing/tests/gmskframe_autotest.c \
src/framing/tests/msource_autotest.c \
src/framing/tests/ofdmflexframe_autotest.c \
src/framing/tests/qdetector_cccf_autotest.c \
src/framing/tests/qdetector_cccf_copy_autotest.c \
src/framing/tests/qpacketmodem_autotest.c \
src/framing/tests/qpilotsync_autotest.c \
src/framing/tests/qsource_autotest.c \
src/framing/tests/symstreamcf_autotest.c \
src/framing/tests/symstreamcf_delay_autotest.c \
src/framing/tests/symstreamrcf_autotest.c \
src/framing/tests/symstreamrcf_delay_autotest.c \
src/framing/tests/symtrack_cccf_autotest.c \
@ -708,15 +741,15 @@ math_objects := \
src/math/src/windows.o \
poly_includes := \
src/math/src/poly.common.c \
src/math/src/poly.expand.c \
src/math/src/poly.lagrange.c \
poly_prototypes := \
src/math/src/poly.common.proto.c \
src/math/src/poly.expand.proto.c \
src/math/src/poly.lagrange.proto.c \
src/math/src/poly.o : %.o : %.c $(include_headers) $(poly_includes)
src/math/src/polyc.o : %.o : %.c $(include_headers) $(poly_includes)
src/math/src/polyf.o : %.o : %.c $(include_headers) $(poly_includes)
src/math/src/polycf.o : %.o : %.c $(include_headers) $(poly_includes)
src/math/src/poly.o : %.o : %.c $(include_headers) $(poly_prototypes)
src/math/src/polyc.o : %.o : %.c $(include_headers) $(poly_prototypes)
src/math/src/polyf.o : %.o : %.c $(include_headers) $(poly_prototypes)
src/math/src/polycf.o : %.o : %.c $(include_headers) $(poly_prototypes)
src/math/src/math.o : %.o : %.c $(include_headers)
src/math/src/math.bessel.o : %.o : %.c $(include_headers)
src/math/src/math.gamma.o : %.o : %.c $(include_headers)
@ -757,24 +790,24 @@ matrix_objects := \
src/matrix/src/smatrixi.o \
matrix_includes := \
src/matrix/src/matrix.base.c \
src/matrix/src/matrix.cgsolve.c \
src/matrix/src/matrix.chol.c \
src/matrix/src/matrix.gramschmidt.c \
src/matrix/src/matrix.inv.c \
src/matrix/src/matrix.linsolve.c \
src/matrix/src/matrix.ludecomp.c \
src/matrix/src/matrix.qrdecomp.c \
src/matrix/src/matrix.math.c \
matrix_prototypes := \
src/matrix/src/matrix.base.proto.c \
src/matrix/src/matrix.cgsolve.proto.c \
src/matrix/src/matrix.chol.proto.c \
src/matrix/src/matrix.gramschmidt.proto.c \
src/matrix/src/matrix.inv.proto.c \
src/matrix/src/matrix.linsolve.proto.c \
src/matrix/src/matrix.ludecomp.proto.c \
src/matrix/src/matrix.qrdecomp.proto.c \
src/matrix/src/matrix.math.proto.c \
src/matrix/src/matrix.o : %.o : %.c $(include_headers) $(matrix_includes)
src/matrix/src/matrixc.o : %.o : %.c $(include_headers) $(matrix_includes)
src/matrix/src/matrixf.o : %.o : %.c $(include_headers) $(matrix_includes)
src/matrix/src/matrixcf.o : %.o : %.c $(include_headers) $(matrix_includes)
src/matrix/src/smatrixb.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.c
src/matrix/src/smatrixf.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.c
src/matrix/src/smatrixi.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.c
src/matrix/src/matrix.o : %.o : %.c $(include_headers) $(matrix_prototypes)
src/matrix/src/matrixc.o : %.o : %.c $(include_headers) $(matrix_prototypes)
src/matrix/src/matrixf.o : %.o : %.c $(include_headers) $(matrix_prototypes)
src/matrix/src/matrixcf.o : %.o : %.c $(include_headers) $(matrix_prototypes)
src/matrix/src/smatrixb.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.proto.c
src/matrix/src/smatrixf.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.proto.c
src/matrix/src/smatrixi.o : %.o : %.c $(include_headers) src/matrix/src/smatrix.proto.c
# matrix autotest scripts
@ -835,26 +868,26 @@ modem_objects := \
src/modem/src/modem_arb_const.o \
# explicit targets and dependencies
modem_includes := \
src/modem/src/freqdem.c \
src/modem/src/freqmod.c \
src/modem/src/modem_common.c \
src/modem/src/modem_psk.c \
src/modem/src/modem_dpsk.c \
src/modem/src/modem_ask.c \
src/modem/src/modem_qam.c \
src/modem/src/modem_apsk.c \
src/modem/src/modem_bpsk.c \
src/modem/src/modem_qpsk.c \
src/modem/src/modem_ook.c \
src/modem/src/modem_pi4dqpsk.c \
src/modem/src/modem_sqam32.c \
src/modem/src/modem_sqam128.c \
src/modem/src/modem_arb.c \
modem_prototypes := \
src/modem/src/freqdem.proto.c \
src/modem/src/freqmod.proto.c \
src/modem/src/modem_common.proto.c \
src/modem/src/modem_psk.proto.c \
src/modem/src/modem_dpsk.proto.c \
src/modem/src/modem_ask.proto.c \
src/modem/src/modem_qam.proto.c \
src/modem/src/modem_apsk.proto.c \
src/modem/src/modem_bpsk.proto.c \
src/modem/src/modem_qpsk.proto.c \
src/modem/src/modem_ook.proto.c \
src/modem/src/modem_pi4dqpsk.proto.c \
src/modem/src/modem_sqam32.proto.c \
src/modem/src/modem_sqam128.proto.c \
src/modem/src/modem_arb.proto.c \
#src/modem/src/modem_demod_soft_const.c
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_includes)
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_prototypes)
src/modem/src/modem.shim.o : %.o : %.c $(include_headers)
src/modem/src/gmskmod.o : %.o : %.c $(include_headers)
src/modem/src/gmskdem.o : %.o : %.c $(include_headers)
@ -870,7 +903,9 @@ modem_autotests := \
src/modem/tests/cpfskmodem_autotest.c \
src/modem/tests/freqmodem_autotest.c \
src/modem/tests/fskmodem_autotest.c \
src/modem/tests/gmskmodem_autotest.c \
src/modem/tests/modem_autotest.c \
src/modem/tests/modem_copy_autotest.c \
src/modem/tests/modem_demodsoft_autotest.c \
src/modem/tests/modem_demodstats_autotest.c \
src/modem/tests/modem_utilities_autotest.c \
@ -900,13 +935,13 @@ multichannel_objects := \
$(multichannel_objects) : %.o : %.c $(include_headers)
# list explicit targets and dependencies here
multichannel_includes := \
src/multichannel/src/firpfbch.c \
src/multichannel/src/firpfbch2.c \
src/multichannel/src/firpfbchr.c \
multichannel_prototypes := \
src/multichannel/src/firpfbch.proto.c \
src/multichannel/src/firpfbch2.proto.c \
src/multichannel/src/firpfbchr.proto.c \
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_includes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_includes)
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_prototypes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_prototypes)
# autotests
multichannel_autotests := \
@ -930,16 +965,18 @@ multichannel_benchmarks := \
nco_objects := \
src/nco/src/nco_crcf.o \
src/nco/src/nco.utilities.o \
src/nco/src/synth_crcf.o \
nco_prototypes := \
src/nco/src/nco.proto.c \
src/nco/src/synth.proto.c \
src/nco/src/nco_crcf.o : %.o : %.c $(include_headers) src/nco/src/nco.c
src/nco/src/nco_crcf.o : %.o : %.c $(include_headers) $(nco_prototypes)
src/nco/src/nco.utilities.o : %.o : %.c $(include_headers)
src/nco/src/synth_crcf.o : %.o : %.c $(include_headers) src/nco/src/synth.c
# autotests
nco_autotests := \
src/nco/tests/nco_crcf_copy_autotest.c \
src/nco/tests/nco_crcf_frequency_autotest.c \
src/nco/tests/nco_crcf_mix_autotest.c \
src/nco/tests/nco_crcf_phase_autotest.c \
@ -968,6 +1005,7 @@ optim_objects := \
src/optim/src/gradsearch.o \
src/optim/src/optim.common.o \
src/optim/src/qnsearch.o \
src/optim/src/qs1dsearch.o \
src/optim/src/utilities.o \
$(optim_objects) : %.o : %.c $(include_headers)
@ -975,6 +1013,7 @@ $(optim_objects) : %.o : %.c $(include_headers)
# autotests
optim_autotests := \
src/optim/tests/gradsearch_autotest.c \
src/optim/tests/qs1dsearch_autotest.c \
# benchmarks
optim_benchmarks :=
@ -990,10 +1029,12 @@ quantization_objects := \
src/quantization/src/quantizerf.o \
src/quantization/src/quantizer.inline.o \
quantization_prototypes := \
src/quantization/src/quantizer.proto.c \
src/quantization/src/compand.o : %.o : %.c $(include_headers)
src/quantization/src/quantizercf.o : %.o : %.c $(include_headers) src/quantization/src/quantizer.c
src/quantization/src/quantizerf.o : %.o : %.c $(include_headers) src/quantization/src/quantizer.c
src/quantization/src/quantizercf.o : %.o : %.c $(include_headers) $(quantization_prototypes)
src/quantization/src/quantizerf.o : %.o : %.c $(include_headers) $(quantization_prototypes)
src/quantization/src/quantizer.inline.o : %.o : %.c $(include_headers)
@ -1066,6 +1107,7 @@ sequence_benchmarks := \
utility_objects := \
src/utility/src/bshift_array.o \
src/utility/src/byte_utilities.o \
src/utility/src/memory.o \
src/utility/src/msb_index.o \
src/utility/src/pack_bytes.o \
src/utility/src/shift_array.o \
@ -1094,14 +1136,14 @@ vector_objects := \
src/vector/src/vectorf_add.port.o src/vector/src/vectorf_norm.port.o src/vector/src/vectorf_mul.port.o src/vector/src/vectorf_trig.port.o src/vector/src/vectorcf_add.port.o src/vector/src/vectorcf_norm.port.o src/vector/src/vectorcf_mul.port.o src/vector/src/vectorcf_trig.port.o \
# portable builds
src/vector/src/vectorf_add.port.o : %.o : %.c $(include_headers) src/vector/src/vector_add.c
src/vector/src/vectorf_norm.port.o : %.o : %.c $(include_headers) src/vector/src/vector_norm.c
src/vector/src/vectorf_mul.port.o : %.o : %.c $(include_headers) src/vector/src/vector_mul.c
src/vector/src/vectorf_trig.port.o : %.o : %.c $(include_headers) src/vector/src/vector_trig.c
src/vector/src/vectorcf_add.port.o : %.o : %.c $(include_headers) src/vector/src/vector_add.c
src/vector/src/vectorcf_norm.port.o : %.o : %.c $(include_headers) src/vector/src/vector_norm.c
src/vector/src/vectorcf_mul.port.o : %.o : %.c $(include_headers) src/vector/src/vector_mul.c
src/vector/src/vectorcf_trig.port.o : %.o : %.c $(include_headers) src/vector/src/vector_trig.c
src/vector/src/vectorf_add.port.o : %.o : %.c $(include_headers) src/vector/src/vector_add.proto.c
src/vector/src/vectorf_norm.port.o : %.o : %.c $(include_headers) src/vector/src/vector_norm.proto.c
src/vector/src/vectorf_mul.port.o : %.o : %.c $(include_headers) src/vector/src/vector_mul.proto.c
src/vector/src/vectorf_trig.port.o : %.o : %.c $(include_headers) src/vector/src/vector_trig.proto.c
src/vector/src/vectorcf_add.port.o : %.o : %.c $(include_headers) src/vector/src/vector_add.proto.c
src/vector/src/vectorcf_norm.port.o : %.o : %.c $(include_headers) src/vector/src/vector_norm.proto.c
src/vector/src/vectorcf_mul.port.o : %.o : %.c $(include_headers) src/vector/src/vector_mul.proto.c
src/vector/src/vectorcf_trig.port.o : %.o : %.c $(include_headers) src/vector/src/vector_trig.proto.c
# builds for specific architectures
# ...
@ -1202,10 +1244,9 @@ benchmark_sources := \
##
.PHONY: all
# Shared library
ARCHIVE_LIB = libliquid.a
#MINGW:
SHARED_LIB = libliquid.dll
# Shared library targets
ARCHIVE_LIB = libliquid.${AR_LIB}
SHARED_LIB = libliquid.${SH_LIB}
#
# darwin
@ -1237,7 +1278,7 @@ all: ${ARCHIVE_LIB} ${SHARED_LIB}
## TARGET : help - print list of targets
##
# look for all occurences of '## TARGET : ' and print rest of line to screen
# look for all occurrences of '## TARGET : ' and print rest of line to screen
help:
@echo "Targets for liquid-dsp makefile:"
@$(GREP) -E "^## TARGET : " [Mm]akefile | $(SED) 's/## TARGET : / /'
@ -1249,11 +1290,13 @@ help:
install: all
@echo "installing..."
@echo ""
mkdir -p $(DESTDIR)$(prefix)/include
mkdir -p $(DESTDIR)$(prefix)/include/liquid
mkdir -p $(DESTDIR)$(libdir)
install -m 644 -p ${ARCHIVE_LIB} ${SHARED_LIB} $(DESTDIR)$(libdir)
install -m 644 -p $(addprefix include/,$(headers_install)) $(DESTDIR)$(prefix)/include/liquid
install -m 644 -p libliquid.${AR_LIB} $(DESTDIR)$(libdir)/libliquid.${AR_LIB}.${VERSION}
install -m 644 -p libliquid.${SH_LIB} $(DESTDIR)$(libdir)/libliquid.${SH_LIB}.${VERSION}
install -m 644 -p include/liquid.h $(DESTDIR)$(prefix)/include/liquid/liquid.h
ln -sf libliquid.${SH_LIB}.${VERSION} $(DESTDIR)$(libdir)/libliquid.${SH_LIB}
ln -sf libliquid.${SH_LIB}.${VERSION} $(DESTDIR)$(libdir)/libliquid.${SH_LIB}.1
@echo ""
@echo "---------------------------------------------------------"
@echo " liquid-dsp was successfully installed. "
@ -1272,11 +1315,14 @@ install: all
## TARGET : uninstall - uninstalls the libraries and header files in the host system
##
#$(RM) $(addprefix $(DESTDIR)$(prefix)/include/liquid/, $(headers_install))
uninstall:
@echo "uninstalling..."
$(RM) $(addprefix $(DESTDIR)$(prefix)/include/liquid/, $(headers_install))
$(RM) $(DESTDIR)$(libdir)/${ARCHIVE_LIB}
$(RM) $(DESTDIR)$(libdir)/${SHARED_LIB}
$(RM) $(DESTDIR)$(prefix)/include/liquid/liquid.h
$(RM) $(DESTDIR)$(libdir)/libliquid.${AR_LIB}.${VERSION}
$(RM) $(DESTDIR)$(libdir)/libliquid.${SH_LIB}.${VERSION}
$(RM) $(DESTDIR)$(libdir)/libliquid.${SH_LIB}.1
$(RM) $(DESTDIR)$(libdir)/libliquid.${SH_LIB}
@echo "done."
##
@ -1311,26 +1357,19 @@ autotest_include.h : scripts/autoscript $(autotest_sources) $(include_headers)
# autotest objects
# NOTE: by default, gcc compiles any file with a '.h' extension as a 'pre-compiled
# header' so we need to explicity tell it to compile as a c source file with
# header' so we need to explicitly tell it to compile as a c source file with
# the '-x c' flag
autotest_obj = $(patsubst %.c,%.o,$(autotest_sources))
$(autotest_obj) : %.o : %.c $(include_headers)
$(CC) $(CPPFLAGS) $(CFLAGS) $< -c -o $@
# additional autotest objects
$(autotest_extra_obj) : %.o : %.c $(include_headers)
# compile the autotest internal library functions without linking
autotest/autotestlib.o : autotest/autotestlib.c autotest/autotest.h
$(autotest_obj) $(autotest_extra_obj) autotest/autotest.o : %.o : %.c $(include_headers) autotest/autotest.h
$(CC) $(CPPFLAGS) $(CFLAGS) $< -c -o $@
# compile the autotest program without linking
$(autotest_prog).o : autotest/autotest.c autotest/autotest.h autotest_include.h
$(autotest_prog).o : autotest/xautotest.c autotest/autotest.h autotest_include.h
$(CC) $(CPPFLAGS) $(CFLAGS) $< -c -o $@
# link the autotest program with the objects
# NOTE: linked libraries must come _after_ the target program
$(autotest_prog): $(autotest_prog).o $(autotest_obj) $(autotest_extra_obj) autotest/autotestlib.o ${ARCHIVE_LIB}
$(autotest_prog): $(autotest_prog).o $(autotest_obj) $(autotest_extra_obj) autotest/autotest.o ${ARCHIVE_LIB}
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS)
# run the autotest program
@ -1343,10 +1382,12 @@ test: check
# clean the generated files
clean-check:
$(RM) autotest_include.h $(autotest_prog).o $(autotest_prog)
$(RM) autotest/autotestlib.o
$(RM) $(autotest_obj)
$(RM) $(autotest_extra_obj)
$(RM) autotest/autotest.o
$(RM) autotest.json
$(RM) autotest/logs/*.m autotest/logs/*.dat
$(RM) autotest/logs/*.bin autotest/logs/*.gnu autotest/logs/*.png
##
## TARGET : doc-check - build and run basic documentation checks
@ -1414,7 +1455,7 @@ benchmark_include.h : scripts/autoscript $(benchmark_sources) $(include_headers)
# benchmark objects
# NOTE: by default, gcc compiles any file with a '.h' extension as a 'pre-compiled
# header' so we need to explicity tell it to compile as a c source file with
# header' so we need to explicitly tell it to compile as a c source file with
# the '-x c' flag
benchmark_obj = $(patsubst %.c,%.o,$(benchmark_sources))
$(benchmark_obj) : %.o : %.c $(include_headers)
@ -1436,10 +1477,6 @@ $(bench_prog): $(bench_prog).o $(benchmark_obj) $(benchmark_extra_obj) ${ARCHIVE
bench: $(bench_prog)
./$(bench_prog) -o benchmark.json
# benchmark compare script
scripts/benchmark_compare : % : %.c
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS)
# fftbench program
bench/fftbench.o : %.o : %.c
$(CC) $(BENCH_CPPFLAGS) $(BENCH_CFLAGS) $< -c -o $@
@ -1450,7 +1487,6 @@ bench/fftbench : % : %.o ${ARCHIVE_LIB}
# clean up the generated files
clean-bench:
$(RM) benchmark_include.h $(bench_prog).o $(bench_prog)
$(RM) scripts/benchmark_compare
$(RM) $(benchmark_obj)
$(RM) $(benchmark_extra_obj)
$(RM) bench/fftbench.o
@ -1504,11 +1540,14 @@ example_programs := \
examples/firfarrow_rrrf_example \
examples/firfilt_cccf_example \
examples/firfilt_cccf_notch_example \
examples/firfilt_crcf_copy_example \
examples/firfilt_crcf_example \
examples/firfilt_crcf_dcblocker_example \
examples/firfilt_rrrf_example \
examples/firdes_doppler_example \
examples/firdes_kaiser_example \
examples/firdespm_callback_example \
examples/firdespm_halfband_example \
examples/firdespm_example \
examples/firdespm_lowpass_example \
examples/firhilb_example \
@ -1525,6 +1564,7 @@ example_programs := \
examples/firinterp_rrrf_window_example \
examples/firpfbch_crcf_example \
examples/firpfbch_crcf_analysis_example \
examples/firpfbch_crcf_msource_example \
examples/firpfbch_crcf_synthesis_example \
examples/flexframesync_example \
examples/flexframesync_reconfig_example \
@ -1595,6 +1635,7 @@ example_programs := \
examples/qpacketmodem_example \
examples/qpilotsync_example \
examples/qnsearch_example \
examples/qs1dsearch_example \
examples/quantize_example \
examples/random_histogram_example \
examples/repack_bytes_example \
@ -1704,6 +1745,7 @@ sandbox_programs = \
sandbox/firdes_gmskrx_test \
sandbox/firdes_group_delay_test \
sandbox/firdes_length_test \
sandbox/firdespm_halfband_test \
sandbox/firfarrow_rrrf_test \
sandbox/firfilt_dcblocker_test \
sandbox/firpfbch_analysis_alignment_test \
@ -1751,6 +1793,7 @@ sandbox_programs = \
sandbox/resamp2_crcf_filterbank_test \
sandbox/resamp2_crcf_interp_recreate_test \
sandbox/reverse_byte_gentab \
sandbox/rhamming_test \
sandbox/rkaiser2_test \
sandbox/shadowing_test \
sandbox/simplex_test \
@ -1783,6 +1826,23 @@ clean-sandbox:
$(RM) sandbox/*.o
$(RM) $(sandbox_programs)
##
## TARGET : check-link- test linking to installed library
##
# run program, ensuring proper error code
check-link: scripts/liquid_linker_test ; ./$<
# use subset of compiler flags so we don't try to build or link against
# local files
scripts/liquid_linker_test.o : %.o : %.c
$(CC) -c -Wall -O2 -o $@ $<
scripts/liquid_linker_test : % : %.o
$(CC) -Wall -O2 -o $@ $< -L/usr/local/lib ${LIBS} -lliquid
extra_clean += scripts/liquid_linker_test.o scripts/liquid_linker_test
##
## TARGET : programs - build all programs, but don't run anything
##
@ -1813,7 +1873,7 @@ clean: clean-modules clean-autoscript clean-check clean-coverage clean-bench cle
distclean: clean
@echo "cleaning distribution..."
$(RM) octave-core *.m
$(RM) octave-core *_example.m
$(RM) configure config.h config.h.in config.h.in~ config.log config.status
$(RM) -r autom4te.cache
$(RM) aclocal.m4

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -225,7 +225,7 @@ CubicSDR::CubicSDR() : frequency(0), offset(0), ppm(0), snap(1), sampleRate(DEFA
m_glContextAttributes = new wxGLContextAttrs();
wxGLContextAttrs glSettings;
glSettings.PlatformDefaults().EndList();
glSettings.CompatibilityProfile().EndList();
*m_glContextAttributes = glSettings;
}

View File

@ -33,7 +33,7 @@ DemodulatorPreThread::DemodulatorPreThread(DemodulatorInstance* parent) : IOThre
workerThread->setOutputQueue("WorkerResultQueue",workerResults);
newSampleRate = currentSampleRate = 0;
newBandwidth = currentBandwidth = 0;
currentBandwidth = 0;
newAudioSampleRate = currentAudioSampleRate = 0;
newFrequency = currentFrequency = 0;
@ -102,12 +102,12 @@ void DemodulatorPreThread::run() {
}
}
if (demodTypeChanged.load() && (newSampleRate && newAudioSampleRate && newBandwidth)) {
if (demodTypeChanged.load() && (newSampleRate && newAudioSampleRate && currentBandwidth)) {
DemodulatorWorkerThreadCommand command(DemodulatorWorkerThreadCommand::Type::DEMOD_WORKER_THREAD_CMD_MAKE_DEMOD);
command.frequency = newFrequency;
command.sampleRate = newSampleRate;
command.demodType = newDemodType;
command.bandwidth = newBandwidth;
command.bandwidth = currentBandwidth;
command.audioSampleRate = newAudioSampleRate;
demodType = newDemodType;
sampleRateChanged.store(false);
@ -135,12 +135,12 @@ void DemodulatorPreThread::run() {
else if (
cModemKit && cModem &&
(bandwidthChanged.load() || sampleRateChanged.load() || audioSampleRateChanged.load() || cModem->shouldRebuildKit()) &&
(newSampleRate && newAudioSampleRate && newBandwidth)
(newSampleRate && newAudioSampleRate && currentBandwidth)
) {
DemodulatorWorkerThreadCommand command(DemodulatorWorkerThreadCommand::Type::DEMOD_WORKER_THREAD_CMD_BUILD_FILTERS);
command.frequency = newFrequency;
command.sampleRate = newSampleRate;
command.bandwidth = newBandwidth;
command.bandwidth = currentBandwidth;
command.audioSampleRate = newAudioSampleRate;
bandwidthChanged.store(false);
sampleRateChanged.store(false);
@ -249,10 +249,6 @@ void DemodulatorPreThread::run() {
currentAudioSampleRate = cModemKit->audioSampleRate;
}
if (result.bandwidth) {
currentBandwidth = result.bandwidth;
}
if (result.sampleRate) {
currentSampleRate = result.sampleRate;
}
@ -295,8 +291,8 @@ std::string DemodulatorPreThread::getDemodType() {
}
void DemodulatorPreThread::setFrequency(long long freq) {
frequencyChanged.store(true);
newFrequency = freq;
frequencyChanged.store(true);
}
long long DemodulatorPreThread::getFrequency() {
@ -307,8 +303,8 @@ long long DemodulatorPreThread::getFrequency() {
}
void DemodulatorPreThread::setSampleRate(long long sampleRate) {
sampleRateChanged.store(true);
newSampleRate = sampleRate;
sampleRateChanged.store(true);
}
long long DemodulatorPreThread::getSampleRate() {
@ -319,21 +315,17 @@ long long DemodulatorPreThread::getSampleRate() {
}
void DemodulatorPreThread::setBandwidth(int bandwidth) {
currentBandwidth = bandwidth;
bandwidthChanged.store(true);
newBandwidth = bandwidth;
}
int DemodulatorPreThread::getBandwidth() {
// if (bandwidthChanged.load()) {
// return newBandwidth;
// }
return currentBandwidth;
}
void DemodulatorPreThread::setAudioSampleRate(int rate) {
audioSampleRateChanged.store(true);
newAudioSampleRate = rate;
audioSampleRateChanged.store(true);
}
int DemodulatorPreThread::getAudioSampleRate() {

View File

@ -62,7 +62,7 @@ protected:
std::atomic_llong currentSampleRate, newSampleRate;
std::atomic_llong currentFrequency, newFrequency;
std::atomic_int currentBandwidth, newBandwidth;
std::atomic_int currentBandwidth;
std::atomic_int currentAudioSampleRate, newAudioSampleRate;
std::atomic_bool sampleRateChanged, frequencyChanged, bandwidthChanged, audioSampleRateChanged;

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 26 2018)
// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
@ -230,6 +230,62 @@ AboutDialogBase::AboutDialogBase( wxWindow* parent, wxWindowID id, const wxStrin
m_cghDiB->Wrap( -1 );
m_cSizer->Add( m_cghDiB, 0, wxALL, 5 );
m_cPaulColby = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("Paul Colby"), wxDefaultPosition, wxDefaultSize, 0 );
m_cPaulColby->Wrap( -1 );
m_cSizer->Add( m_cPaulColby, 0, wxALL, 5 );
m_cghCACRI = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("@colbyAtCRI"), wxDefaultPosition, wxDefaultSize, 0 );
m_cghCACRI->Wrap( -1 );
m_cSizer->Add( m_cghCACRI, 0, wxALL, 5 );
m_cclassabbyamp = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("classabbyamp"), wxDefaultPosition, wxDefaultSize, 0 );
m_cclassabbyamp->Wrap( -1 );
m_cSizer->Add( m_cclassabbyamp, 0, wxALL, 5 );
m_cghclassabbyamp = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("@classabbyamp"), wxDefaultPosition, wxDefaultSize, 0 );
m_cghclassabbyamp->Wrap( -1 );
m_cSizer->Add( m_cghclassabbyamp, 0, wxALL, 5 );
m_cSDRplay = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("SDRplay"), wxDefaultPosition, wxDefaultSize, 0 );
m_cSDRplay->Wrap( -1 );
m_cSizer->Add( m_cSDRplay, 0, wxALL, 5 );
m_cghSDRplay = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("@SDRplay"), wxDefaultPosition, wxDefaultSize, 0 );
m_cghSDRplay->Wrap( -1 );
m_cSizer->Add( m_cghSDRplay, 0, wxALL, 5 );
m_cdforsi = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("dforsi"), wxDefaultPosition, wxDefaultSize, 0 );
m_cdforsi->Wrap( -1 );
m_cSizer->Add( m_cdforsi, 0, wxALL, 5 );
m_cghdforsi = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("@dforsi"), wxDefaultPosition, wxDefaultSize, 0 );
m_cghdforsi->Wrap( -1 );
m_cSizer->Add( m_cghdforsi, 0, wxALL, 5 );
m_cMagalex2x14 = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("Aleksey Makarenko"), wxDefaultPosition, wxDefaultSize, 0 );
m_cMagalex2x14->Wrap( -1 );
m_cSizer->Add( m_cMagalex2x14, 0, wxALL, 5 );
m_cghMagalex2x14 = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("@Magalex2x14"), wxDefaultPosition, wxDefaultSize, 0 );
m_cghMagalex2x14->Wrap( -1 );
m_cSizer->Add( m_cghMagalex2x14, 0, wxALL, 5 );
m_cjawatson = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("James Watson"), wxDefaultPosition, wxDefaultSize, 0 );
m_cjawatson->Wrap( -1 );
m_cSizer->Add( m_cjawatson, 0, wxALL, 5 );
m_cghjawatson = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("@jawatson"), wxDefaultPosition, wxDefaultSize, 0 );
m_cghjawatson->Wrap( -1 );
m_cSizer->Add( m_cghjawatson, 0, wxALL, 5 );
m_cghf4grx = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("f4grx"), wxDefaultPosition, wxDefaultSize, 0 );
m_cghf4grx->Wrap( -1 );
m_cSizer->Add( m_cghf4grx, 0, wxALL, 5 );
m_cf4grx = new wxStaticText( m_dbPanel2, wxID_ANY, wxT("@f4grx"), wxDefaultPosition, wxDefaultSize, 0 );
m_cf4grx->Wrap( -1 );
m_cSizer->Add( m_cf4grx, 0, wxALL, 5 );
m_dbPanel2->SetSizer( m_cSizer );
m_dbPanel2->Layout();
@ -285,13 +341,21 @@ AboutDialogBase::AboutDialogBase( wxWindow* parent, wxWindowID id, const wxStrin
m_dMichaelRooke->Wrap( -1 );
m_dSizer->Add( m_dMichaelRooke, 0, wxALL, 5 );
m_dErikWied = new wxStaticText( m_dScroll, wxID_ANY, wxT("Erik Mikkel Wied"), wxDefaultPosition, wxDefaultSize, 0 );
m_dErikWied->Wrap( -1 );
m_dSizer->Add( m_dErikWied, 0, wxALL, 5 );
m_dChristopherEsser = new wxStaticText( m_dScroll, wxID_ANY, wxT("Christopher Esser"), wxDefaultPosition, wxDefaultSize, 0 );
m_dChristopherEsser->Wrap( -1 );
m_dSizer->Add( m_dChristopherEsser, 0, wxALL, 5 );
m_dTNCOM = new wxStaticText( m_dScroll, wxID_ANY, wxT("TNCOM"), wxDefaultPosition, wxDefaultSize, 0 );
m_dTNCOM->Wrap( -1 );
m_dSizer->Add( m_dTNCOM, 0, wxALL, 5 );
m_dErikWied = new wxStaticText( m_dScroll, wxID_ANY, wxT("Erik Mikkel Wied"), wxDefaultPosition, wxDefaultSize, 0 );
m_dErikWied->Wrap( -1 );
m_dSizer->Add( m_dErikWied, 0, wxALL, 5 );
m_dAlexanderSadleir = new wxStaticText( m_dScroll, wxID_ANY, wxT("Alexander Sadleir"), wxDefaultPosition, wxDefaultSize, 0 );
m_dAlexanderSadleir->Wrap( -1 );
m_dSizer->Add( m_dAlexanderSadleir, 0, wxALL, 5 );
m_dRobertDuering = new wxStaticText( m_dScroll, wxID_ANY, wxT("Robert Duering"), wxDefaultPosition, wxDefaultSize, 0 );
m_dRobertDuering->Wrap( -1 );
@ -567,6 +631,126 @@ AboutDialogBase::AboutDialogBase( wxWindow* parent, wxWindowID id, const wxStrin
m_dDavidLawrence->Wrap( -1 );
m_dSizer->Add( m_dDavidLawrence, 0, wxALL, 5 );
m_dJohnIsella = new wxStaticText( m_dScroll, wxID_ANY, wxT("John Isella"), wxDefaultPosition, wxDefaultSize, 0 );
m_dJohnIsella->Wrap( -1 );
m_dSizer->Add( m_dJohnIsella, 0, wxALL, 5 );
m_dChrisKurowicki = new wxStaticText( m_dScroll, wxID_ANY, wxT("Chris Kurowicki"), wxDefaultPosition, wxDefaultSize, 0 );
m_dChrisKurowicki->Wrap( -1 );
m_dSizer->Add( m_dChrisKurowicki, 0, wxALL, 5 );
m_dWilliamCollins = new wxStaticText( m_dScroll, wxID_ANY, wxT("William Collins"), wxDefaultPosition, wxDefaultSize, 0 );
m_dWilliamCollins->Wrap( -1 );
m_dSizer->Add( m_dWilliamCollins, 0, wxALL, 5 );
m_dStefanoPasini = new wxStaticText( m_dScroll, wxID_ANY, wxT("Stefano Pasini"), wxDefaultPosition, wxDefaultSize, 0 );
m_dStefanoPasini->Wrap( -1 );
m_dSizer->Add( m_dStefanoPasini, 0, wxALL, 5 );
m_dScottForbes = new wxStaticText( m_dScroll, wxID_ANY, wxT("Scott Forbes"), wxDefaultPosition, wxDefaultSize, 0 );
m_dScottForbes->Wrap( -1 );
m_dSizer->Add( m_dScottForbes, 0, wxALL, 5 );
m_dRafaelMendezTrigueros = new wxStaticText( m_dScroll, wxID_ANY, wxT("Rafael Mendez Trigueros"), wxDefaultPosition, wxDefaultSize, 0 );
m_dRafaelMendezTrigueros->Wrap( -1 );
m_dSizer->Add( m_dRafaelMendezTrigueros, 0, wxALL, 5 );
m_dDuaneDamiano = new wxStaticText( m_dScroll, wxID_ANY, wxT("Duane Damiano"), wxDefaultPosition, wxDefaultSize, 0 );
m_dDuaneDamiano->Wrap( -1 );
m_dSizer->Add( m_dDuaneDamiano, 0, wxALL, 5 );
m_dWhitakerAudio = new wxStaticText( m_dScroll, wxID_ANY, wxT("WhitakerAudio"), wxDefaultPosition, wxDefaultSize, 0 );
m_dWhitakerAudio->Wrap( -1 );
m_dSizer->Add( m_dWhitakerAudio, 0, wxALL, 5 );
m_dAlanNashRadiusLLC = new wxStaticText( m_dScroll, wxID_ANY, wxT("Alan at Radius LLC"), wxDefaultPosition, wxDefaultSize, 0 );
m_dAlanNashRadiusLLC->Wrap( -1 );
m_dSizer->Add( m_dAlanNashRadiusLLC, 0, wxALL, 5 );
m_dMelvinCharters = new wxStaticText( m_dScroll, wxID_ANY, wxT("Melvin Charters"), wxDefaultPosition, wxDefaultSize, 0 );
m_dMelvinCharters->Wrap( -1 );
m_dSizer->Add( m_dMelvinCharters, 0, wxALL, 5 );
m_dSethFulton = new wxStaticText( m_dScroll, wxID_ANY, wxT("Seth Fulton"), wxDefaultPosition, wxDefaultSize, 0 );
m_dSethFulton->Wrap( -1 );
m_dSizer->Add( m_dSethFulton, 0, wxALL, 5 );
m_dBoydKing = new wxStaticText( m_dScroll, wxID_ANY, wxT("Boyd King"), wxDefaultPosition, wxDefaultSize, 0 );
m_dBoydKing->Wrap( -1 );
m_dSizer->Add( m_dBoydKing, 0, wxALL, 5 );
m_dThomasZicarelli = new wxStaticText( m_dScroll, wxID_ANY, wxT("Thomas Zicarelli"), wxDefaultPosition, wxDefaultSize, 0 );
m_dThomasZicarelli->Wrap( -1 );
m_dSizer->Add( m_dThomasZicarelli, 0, wxALL, 5 );
m_dDarrinAbend = new wxStaticText( m_dScroll, wxID_ANY, wxT("Darrin Abend"), wxDefaultPosition, wxDefaultSize, 0 );
m_dDarrinAbend->Wrap( -1 );
m_dSizer->Add( m_dDarrinAbend, 0, wxALL, 5 );
m_dDavidSchulz = new wxStaticText( m_dScroll, wxID_ANY, wxT("David Schulz"), wxDefaultPosition, wxDefaultSize, 0 );
m_dDavidSchulz->Wrap( -1 );
m_dSizer->Add( m_dDavidSchulz, 0, wxALL, 5 );
m_dKlaudiusGodziek = new wxStaticText( m_dScroll, wxID_ANY, wxT("Klaudius Godziek"), wxDefaultPosition, wxDefaultSize, 0 );
m_dKlaudiusGodziek->Wrap( -1 );
m_dSizer->Add( m_dKlaudiusGodziek, 0, wxALL, 5 );
m_dDonaldDryden = new wxStaticText( m_dScroll, wxID_ANY, wxT("Donald Dryden"), wxDefaultPosition, wxDefaultSize, 0 );
m_dDonaldDryden->Wrap( -1 );
m_dSizer->Add( m_dDonaldDryden, 0, wxALL, 5 );
m_dSDCSistemasdeControl = new wxStaticText( m_dScroll, wxID_ANY, wxT("SDC Sistemas de Control"), wxDefaultPosition, wxDefaultSize, 0 );
m_dSDCSistemasdeControl->Wrap( -1 );
m_dSizer->Add( m_dSDCSistemasdeControl, 0, wxALL, 5 );
m_dVicBaker = new wxStaticText( m_dScroll, wxID_ANY, wxT("Vic Baker"), wxDefaultPosition, wxDefaultSize, 0 );
m_dVicBaker->Wrap( -1 );
m_dSizer->Add( m_dVicBaker, 0, wxALL, 5 );
m_dLuisGimenezCarpena = new wxStaticText( m_dScroll, wxID_ANY, wxT("Luis Gimenez Carpena"), wxDefaultPosition, wxDefaultSize, 0 );
m_dLuisGimenezCarpena->Wrap( -1 );
m_dSizer->Add( m_dLuisGimenezCarpena, 0, wxALL, 5 );
m_dJohnHutchins = new wxStaticText( m_dScroll, wxID_ANY, wxT("John Hutchins"), wxDefaultPosition, wxDefaultSize, 0 );
m_dJohnHutchins->Wrap( -1 );
m_dSizer->Add( m_dJohnHutchins, 0, wxALL, 5 );
m_dChrisAlbone = new wxStaticText( m_dScroll, wxID_ANY, wxT("Chris Albone"), wxDefaultPosition, wxDefaultSize, 0 );
m_dChrisAlbone->Wrap( -1 );
m_dSizer->Add( m_dChrisAlbone, 0, wxALL, 5 );
m_dHenriDavid = new wxStaticText( m_dScroll, wxID_ANY, wxT("Henri David"), wxDefaultPosition, wxDefaultSize, 0 );
m_dHenriDavid->Wrap( -1 );
m_dSizer->Add( m_dHenriDavid, 0, wxALL, 5 );
m_dKoyoMasore = new wxStaticText( m_dScroll, wxID_ANY, wxT("Koyo Masore"), wxDefaultPosition, wxDefaultSize, 0 );
m_dKoyoMasore->Wrap( -1 );
m_dSizer->Add( m_dKoyoMasore, 0, wxALL, 5 );
m_dMarkJacob = new wxStaticText( m_dScroll, wxID_ANY, wxT("Mark Jacob"), wxDefaultPosition, wxDefaultSize, 0 );
m_dMarkJacob->Wrap( -1 );
m_dSizer->Add( m_dMarkJacob, 0, wxALL, 5 );
m_dLuisAynat = new wxStaticText( m_dScroll, wxID_ANY, wxT("Luis Aynat"), wxDefaultPosition, wxDefaultSize, 0 );
m_dLuisAynat->Wrap( -1 );
m_dSizer->Add( m_dLuisAynat, 0, wxALL, 5 );
m_dMichaelCarter = new wxStaticText( m_dScroll, wxID_ANY, wxT("Michael Carter"), wxDefaultPosition, wxDefaultSize, 0 );
m_dMichaelCarter->Wrap( -1 );
m_dSizer->Add( m_dMichaelCarter, 0, wxALL, 5 );
m_dManuelSerranoCardenas = new wxStaticText( m_dScroll, wxID_ANY, wxT("Manuel Serrano Cárdenas"), wxDefaultPosition, wxDefaultSize, 0 );
m_dManuelSerranoCardenas->Wrap( -1 );
m_dSizer->Add( m_dManuelSerranoCardenas, 0, wxALL, 5 );
m_dVincentPortier = new wxStaticText( m_dScroll, wxID_ANY, wxT("Vincent Portier"), wxDefaultPosition, wxDefaultSize, 0 );
m_dVincentPortier->Wrap( -1 );
m_dSizer->Add( m_dVincentPortier, 0, wxALL, 5 );
m_dJeanFrancoisLaperriere = new wxStaticText( m_dScroll, wxID_ANY, wxT("Jean-Francois Laperriere"), wxDefaultPosition, wxDefaultSize, 0 );
m_dJeanFrancoisLaperriere->Wrap( -1 );
m_dSizer->Add( m_dJeanFrancoisLaperriere, 0, wxALL, 5 );
m_dScroll->SetSizer( m_dSizer );
m_dScroll->Layout();
@ -601,7 +785,7 @@ AboutDialogBase::AboutDialogBase( wxWindow* parent, wxWindowID id, const wxStrin
m_stSoapyDevAssistHeader = new wxStaticText( m_stScroll, wxID_ANY, wxT("SoapySDR Development and Assistance:"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
m_stSoapyDevAssistHeader->Wrap( -1 );
m_stSoapyDevAssistHeader->SetFont( wxFont( 10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
m_stSoapyDevAssistHeader->SetFont( wxFont( 10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
m_stSizer->Add( m_stSoapyDevAssistHeader, 0, wxALL, 5 );
@ -614,7 +798,7 @@ AboutDialogBase::AboutDialogBase( wxWindow* parent, wxWindowID id, const wxStrin
m_stLiquidDSPHeader = new wxStaticText( m_stScroll, wxID_ANY, wxT("Liquid-DSP Development and Assistance:"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
m_stLiquidDSPHeader->Wrap( -1 );
m_stLiquidDSPHeader->SetFont( wxFont( 10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
m_stLiquidDSPHeader->SetFont( wxFont( 10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
m_stSizer->Add( m_stLiquidDSPHeader, 0, wxALL, 5 );
@ -627,7 +811,7 @@ AboutDialogBase::AboutDialogBase( wxWindow* parent, wxWindowID id, const wxStrin
m_stIdeasDirectionsHeader = new wxStaticText( m_stScroll, wxID_ANY, wxT("Ideas, Direction && Encouragement:"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
m_stIdeasDirectionsHeader->Wrap( -1 );
m_stIdeasDirectionsHeader->SetFont( wxFont( 10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
m_stIdeasDirectionsHeader->SetFont( wxFont( 10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
m_stSizer->Add( m_stIdeasDirectionsHeader, 0, wxALL, 5 );

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 26 2018)
// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
@ -83,6 +83,20 @@ class AboutDialogBase : public wxDialog
wxStaticText* m_cghBA;
wxStaticText* m_cDianeBruce;
wxStaticText* m_cghDiB;
wxStaticText* m_cPaulColby;
wxStaticText* m_cghCACRI;
wxStaticText* m_cclassabbyamp;
wxStaticText* m_cghclassabbyamp;
wxStaticText* m_cSDRplay;
wxStaticText* m_cghSDRplay;
wxStaticText* m_cdforsi;
wxStaticText* m_cghdforsi;
wxStaticText* m_cMagalex2x14;
wxStaticText* m_cghMagalex2x14;
wxStaticText* m_cjawatson;
wxStaticText* m_cghjawatson;
wxStaticText* m_cghf4grx;
wxStaticText* m_cf4grx;
wxPanel* m_dPanel;
wxScrolledWindow* m_dScroll;
wxStaticText* m_dHeader;
@ -92,8 +106,10 @@ class AboutDialogBase : public wxDialog
wxStaticText* m_dAutoMotiveTemplates;
wxStaticText* m_dJorgeMorales;
wxStaticText* m_dMichaelRooke;
wxStaticText* m_dTNCOM;
wxStaticText* m_dErikWied;
wxStaticText* m_dChristopherEsser;
wxStaticText* m_dTNCOM;
wxStaticText* m_dAlexanderSadleir;
wxStaticText* m_dRobertDuering;
wxStaticText* m_dJimDeitch;
wxStaticText* m_dNooElec;
@ -163,6 +179,36 @@ class AboutDialogBase : public wxDialog
wxStaticText* m_dArturoCaballero;
wxStaticText* m_dRonaldTissier;
wxStaticText* m_dDavidLawrence;
wxStaticText* m_dJohnIsella;
wxStaticText* m_dChrisKurowicki;
wxStaticText* m_dWilliamCollins;
wxStaticText* m_dStefanoPasini;
wxStaticText* m_dScottForbes;
wxStaticText* m_dRafaelMendezTrigueros;
wxStaticText* m_dDuaneDamiano;
wxStaticText* m_dWhitakerAudio;
wxStaticText* m_dAlanNashRadiusLLC;
wxStaticText* m_dMelvinCharters;
wxStaticText* m_dSethFulton;
wxStaticText* m_dBoydKing;
wxStaticText* m_dThomasZicarelli;
wxStaticText* m_dDarrinAbend;
wxStaticText* m_dDavidSchulz;
wxStaticText* m_dKlaudiusGodziek;
wxStaticText* m_dDonaldDryden;
wxStaticText* m_dSDCSistemasdeControl;
wxStaticText* m_dVicBaker;
wxStaticText* m_dLuisGimenezCarpena;
wxStaticText* m_dJohnHutchins;
wxStaticText* m_dChrisAlbone;
wxStaticText* m_dHenriDavid;
wxStaticText* m_dKoyoMasore;
wxStaticText* m_dMarkJacob;
wxStaticText* m_dLuisAynat;
wxStaticText* m_dMichaelCarter;
wxStaticText* m_dManuelSerranoCardenas;
wxStaticText* m_dVincentPortier;
wxStaticText* m_dJeanFrancoisLaperriere;
wxPanel* m_stPanel;
wxScrolledWindow* m_stScroll;
wxStaticText* m_stHeader;
@ -188,6 +234,7 @@ class AboutDialogBase : public wxDialog
public:
AboutDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("About"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 600,450 ), long style = wxDEFAULT_DIALOG_STYLE );
~AboutDialogBase();
};

View File

@ -352,7 +352,7 @@ void SpectrumVisualProcessor::process() {
}
if (!resampler || resampleBw != lastBandwidth || lastInputBandwidth != iqData->sampleRate) {
float As = 480.0;
float As = 60.0;
if (resampler) {
msresamp_crcf_destroy(resampler);

View File

@ -269,7 +269,7 @@ void TuningCanvas::StepTuner(ActiveState state, TuningDirection tuningDir, int d
}
}
void TuningCanvas::OnIdle(wxIdleEvent & /* event */) {
void TuningCanvas::OnIdle(wxIdleEvent & event) {
if (mouseTracker.mouseDown()) {
if (downState != TUNING_HOVER_NONE) {
dragAccum += 5.0*mouseTracker.getOriginDeltaMouseX();

View File

@ -482,7 +482,7 @@ void WaterfallCanvas::OnKeyDown(wxKeyEvent& event) {
}
}
void WaterfallCanvas::OnIdle(wxIdleEvent & /* event */) {
void WaterfallCanvas::OnIdle(wxIdleEvent & event) {
processInputQueue();
Refresh();
}

View File

@ -1,7 +0,0 @@
# CubicSDR
cd $HOME/build
mkdir cjcliffe/CubicSDR-build
cd cjcliffe/CubicSDR-build
cmake ../CubicSDR -DCMAKE_BUILD_TYPE=Release -DwxWidgets_CONFIG_EXECUTABLE=$HOME/build/wxWidgets/staticlib/bin/wx-config -DUSE_HAMLIB=1 -DENABLE_DIGITAL_LAB=1
make -j2

View File

@ -1,16 +0,0 @@
# Soapy SDR
cd $HOME/build
mkdir pothosware/
cd pothosware/
git clone https://github.com/pothosware/SoapySDR.git
mkdir SoapySDR-build
cd SoapySDR-build
cmake ../SoapySDR -DCMAKE_BUILD_TYPE=Release
echo "Building SoapySDR.."
make -j2 > /dev/null
sudo make install