Merge branch 'master' into winbuild-updates

This commit is contained in:
Charles J. Cliffe 2023-03-29 00:54:21 -04:00
commit 9fe4841cde
26 changed files with 7637 additions and 6716 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

@ -6,8 +6,8 @@ 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_SUFFIX "")
SET(CUBICSDR_VERSION_PATCH "8")
SET(CUBICSDR_VERSION_SUFFIX "a")
SET(CUBICSDR_VERSION "${CUBICSDR_VERSION_MAJOR}.${CUBICSDR_VERSION_MINOR}.${CUBICSDR_VERSION_PATCH}${CUBICSDR_VERSION_SUFFIX}")
SET(CPACK_PACKAGE_VERSION "${CUBICSDR_VERSION_MAJOR}.${CUBICSDR_VERSION_MINOR}.${CUBICSDR_VERSION_PATCH}")

View File

@ -1,4 +1,4 @@
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

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.

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

@ -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

@ -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