Compare commits

..

No commits in common. "e09e7e8381acc753fa35bee870e977a0f9dc4321" and "ba7a35c336f8a8e0af8154b3075e5a3ac2b87c70" have entirely different histories.

17 changed files with 6650 additions and 7571 deletions

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 "8")
SET(CUBICSDR_VERSION_SUFFIX "a")
SET(CUBICSDR_VERSION_PATCH "7")
SET(CUBICSDR_VERSION_SUFFIX "")
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

@ -6,57 +6,8 @@
#define __LIQUID_CONFIG_H__
/* 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
/* Support AVX (Advanced Vector Extensions) instructions */
#define HAVE_AVX 1
/* Define to 1 if you have the `cargf' function. */
#define HAVE_CARGF 1
@ -76,6 +27,9 @@
/* 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
@ -88,18 +42,15 @@
/* 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
@ -124,52 +75,49 @@
/* 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 to support Multimedia Extensions */
/* Define to 1 if you have the <mmintrin.h> header file. */
#define HAVE_MMINTRIN_H 1
/* Support MMX instructions */
#define HAVE_MMX 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 <pmmintrin.h> header file. */
#define HAVE_PMMINTRIN_H 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
/* Define to 1 to support Streaming SIMD Extensions */
/* Support SSE (Streaming SIMD Extensions) instructions */
#define HAVE_SSE 1
/* Define to 1 to support Streaming SIMD Extensions */
/* Support SSE2 (Streaming SIMD Extensions 2) instructions */
#define HAVE_SSE2 1
/* Define to 1 to support Streaming SIMD Extensions 3 */
/* Support SSE3 (Streaming SIMD Extensions 3) instructions */
#define HAVE_SSE3 1
/* Define to 1 to support Streaming SIMD Extensions 4.1 */
#define HAVE_SSE4_1 1
/* Support SSE4.1 (Streaming SIMD Extensions 4.1) instructions */
#define HAVE_SSE41 1
/* Define to 1 to support Streaming SIMD Extensions 4.2 */
#define HAVE_SSE4_2 1
/* Support SSE4.2 (Streaming SIMD Extensions 4.2) instructions */
#define HAVE_SSE42 1
/* Define to 1 to support AMD Streaming SIMD Extensions 4a */
/* #undef HAVE_SSE4a */
/* Define to 1 to support Supplemental Streaming SIMD Extensions 3 */
/* Support SSSE3 (Supplemental Streaming SIMD Extensions 3) instructions */
#define HAVE_SSSE3 1
/* Define to 1 if you have the <stdint.h> header file. */
@ -196,17 +144,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
/* Support VSX instructions */
/* #undef HAVE_VSX */
/* Define to 1 to support eXtended Operations Extensions */
/* #undef HAVE_XOP */
/* Define to 1 if you have the <xmmintrin.h> header file. */
#define HAVE_XMMINTRIN_H 1
/* Force internal FFT even if libfftw is available */
#undef LIQUID_FFTOVERRIDE
#define LIQUID_FFTOVERRIDE 1
/* Force overriding of SIMD (use portable C code) */
/* #undef LIQUID_SIMDOVERRIDE */
@ -224,7 +172,7 @@
#define PACKAGE_NAME "liquid-dsp"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "liquid-dsp 1.5"
#define PACKAGE_STRING "liquid-dsp 1.4.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "liquid-dsp"
@ -233,7 +181,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.5"
#define PACKAGE_VERSION "1.4.0"
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
@ -247,9 +195,7 @@
/* The size of `short int', as computed by sizeof. */
#define SIZEOF_SHORT_INT 2
/* 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 to 1 if you have the ANSI C header files. */
#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,10 +43,8 @@
# autoconf initialization macros
NAME := liquid-dsp
VERSION := 1.5
VERSION := 1.4.0
BUGREPORT := joseph@liquidsdr.org
AR_LIB := a
SH_LIB := dll
# paths
prefix := /usr/local
@ -70,11 +68,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 -Wno-deprecated-declarations
CXXFLAGS = $(CFLAGS) -std=c++14 -Wno-return-type-c-linkage
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated
CXXFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated -Wno-return-type-c-linkage
LDFLAGS =
#MINGW:
LIBS = -lmsvcrt
@ -112,12 +110,9 @@ 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 $(include_headers) $(agc_prototypes)
src/agc/src/agc_rrrf.o : %.o : %.c $(include_headers) $(agc_prototypes)
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)
# autotests
agc_autotests := \
@ -153,20 +148,22 @@ buffer_objects := \
src/buffer/src/bufferf.o \
src/buffer/src/buffercf.o \
# 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 \
buffer_includes := \
src/buffer/src/cbuffer.c \
src/buffer/src/wdelay.c \
src/buffer/src/window.c \
src/buffer/src/bufferf.o : %.o : %.c $(include_headers) $(buffer_prototypes)
src/buffer/src/buffercf.o : %.o : %.c $(include_headers) $(buffer_prototypes)
src/buffer/src/bufferf.o : %.o : %.c $(include_headers) $(buffer_includes)
src/buffer/src/buffercf.o : %.o : %.c $(include_headers) $(buffer_includes)
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 \
@ -180,15 +177,13 @@ buffer_benchmarks := \
channel_objects := \
src/channel/src/channel_cccf.o \
channel_prototypes := \
src/channel/src/channel.proto.c \
src/channel/src/tvmpch.proto.c \
channel_includes := \
src/channel/src/channel.c \
src/channel/src/tvmpch.c \
src/channel/src/channel_cccf.o : %.o : %.c $(include_headers) $(channel_prototypes)
src/channel/src/channel_cccf.o : %.o : %.c $(include_headers) $(channel_includes)
channel_autotests := \
src/channel/tests/channel_copy_autotest.c \
src/channel/tests/tvmpch_copy_autotest.c \
#src/channel/tests/channel_cccf_autotest.c
@ -200,11 +195,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.sse4.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.mmx.o src/dotprod/src/sumsq.mmx.o \
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/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/sumsq.o : %.o : %.c $(include_headers)
# specific machine architectures
@ -222,9 +217,6 @@ 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)
@ -251,11 +243,8 @@ 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) $(equalization_prototypes)
$(equalization_objects) : %.o : %.c $(include_headers) src/equalization/src/eqlms.c src/equalization/src/eqrls.c
# autotests
@ -305,7 +294,6 @@ $(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 \
@ -320,7 +308,6 @@ 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 \
@ -345,27 +332,26 @@ fft_objects := \
src/fft/src/fft_utilities.o \
# explicit targets and dependencies
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 \
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 \
src/fft/src/fftf.o : %.o : %.c $(include_headers) $(fft_prototypes)
src/fft/src/fftf.o : %.o : %.c $(include_headers) $(fft_includes)
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.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
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
# 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 \
@ -421,7 +407,6 @@ 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 := \
@ -442,7 +427,6 @@ 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 \
@ -456,29 +440,29 @@ filter_objects := \
# list explicit targets and dependencies here
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 \
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 \
src/filter/src/bessel.o : %.o : %.c $(include_headers)
src/filter/src/bessel.o : %.o : %.c $(include_headers)
@ -486,9 +470,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_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/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/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)
@ -502,41 +486,30 @@ 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/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/iirfiltsos_rrrf_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 \
@ -665,10 +638,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.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/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/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)
@ -678,34 +651,28 @@ 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.proto.c src/framing/src/qsource.proto.c
src/framing/src/msourcecf.o : %.o : %.c $(include_headers) src/framing/src/msource.c src/framing/src/qsource.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.proto.c
src/framing/src/presync_cccf.o : %.o : %.c $(include_headers) src/framing/src/presync.c
src/framing/src/qpacketmodem.o : %.o : %.c $(include_headers)
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
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
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 \
@ -741,15 +708,15 @@ math_objects := \
src/math/src/windows.o \
poly_prototypes := \
src/math/src/poly.common.proto.c \
src/math/src/poly.expand.proto.c \
src/math/src/poly.lagrange.proto.c \
poly_includes := \
src/math/src/poly.common.c \
src/math/src/poly.expand.c \
src/math/src/poly.lagrange.c \
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/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/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)
@ -790,24 +757,24 @@ matrix_objects := \
src/matrix/src/smatrixi.o \
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 \
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 \
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
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
# matrix autotest scripts
@ -868,26 +835,26 @@ modem_objects := \
src/modem/src/modem_arb_const.o \
# explicit targets and dependencies
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 \
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 \
#src/modem/src/modem_demod_soft_const.c
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_prototypes)
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_includes)
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)
@ -903,9 +870,7 @@ 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 \
@ -935,13 +900,13 @@ multichannel_objects := \
$(multichannel_objects) : %.o : %.c $(include_headers)
# list explicit targets and dependencies here
multichannel_prototypes := \
src/multichannel/src/firpfbch.proto.c \
src/multichannel/src/firpfbch2.proto.c \
src/multichannel/src/firpfbchr.proto.c \
multichannel_includes := \
src/multichannel/src/firpfbch.c \
src/multichannel/src/firpfbch2.c \
src/multichannel/src/firpfbchr.c \
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_prototypes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_prototypes)
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_includes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_includes)
# autotests
multichannel_autotests := \
@ -965,18 +930,16 @@ 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) $(nco_prototypes)
src/nco/src/nco_crcf.o : %.o : %.c $(include_headers) src/nco/src/nco.c
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 \
@ -1005,7 +968,6 @@ 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)
@ -1013,7 +975,6 @@ $(optim_objects) : %.o : %.c $(include_headers)
# autotests
optim_autotests := \
src/optim/tests/gradsearch_autotest.c \
src/optim/tests/qs1dsearch_autotest.c \
# benchmarks
optim_benchmarks :=
@ -1029,12 +990,10 @@ 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) $(quantization_prototypes)
src/quantization/src/quantizerf.o : %.o : %.c $(include_headers) $(quantization_prototypes)
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/quantizer.inline.o : %.o : %.c $(include_headers)
@ -1107,7 +1066,6 @@ 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 \
@ -1136,14 +1094,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.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
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
# builds for specific architectures
# ...
@ -1244,9 +1202,10 @@ benchmark_sources := \
##
.PHONY: all
# Shared library targets
ARCHIVE_LIB = libliquid.${AR_LIB}
SHARED_LIB = libliquid.${SH_LIB}
# Shared library
ARCHIVE_LIB = libliquid.a
#MINGW:
SHARED_LIB = libliquid.dll
#
# darwin
@ -1278,7 +1237,7 @@ all: ${ARCHIVE_LIB} ${SHARED_LIB}
## TARGET : help - print list of targets
##
# look for all occurrences of '## TARGET : ' and print rest of line to screen
# look for all occurences of '## TARGET : ' and print rest of line to screen
help:
@echo "Targets for liquid-dsp makefile:"
@$(GREP) -E "^## TARGET : " [Mm]akefile | $(SED) 's/## TARGET : / /'
@ -1290,13 +1249,11 @@ 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 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
install -m 644 -p ${ARCHIVE_LIB} ${SHARED_LIB} $(DESTDIR)$(libdir)
install -m 644 -p $(addprefix include/,$(headers_install)) $(DESTDIR)$(prefix)/include/liquid
@echo ""
@echo "---------------------------------------------------------"
@echo " liquid-dsp was successfully installed. "
@ -1315,14 +1272,11 @@ 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) $(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}
$(RM) $(addprefix $(DESTDIR)$(prefix)/include/liquid/, $(headers_install))
$(RM) $(DESTDIR)$(libdir)/${ARCHIVE_LIB}
$(RM) $(DESTDIR)$(libdir)/${SHARED_LIB}
@echo "done."
##
@ -1357,19 +1311,26 @@ 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 explicitly tell it to compile as a c source file with
# header' so we need to explicity tell it to compile as a c source file with
# the '-x c' flag
autotest_obj = $(patsubst %.c,%.o,$(autotest_sources))
$(autotest_obj) $(autotest_extra_obj) autotest/autotest.o : %.o : %.c $(include_headers) autotest/autotest.h
$(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
$(CC) $(CPPFLAGS) $(CFLAGS) $< -c -o $@
# compile the autotest program without linking
$(autotest_prog).o : autotest/xautotest.c autotest/autotest.h autotest_include.h
$(autotest_prog).o : autotest/autotest.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/autotest.o ${ARCHIVE_LIB}
$(autotest_prog): $(autotest_prog).o $(autotest_obj) $(autotest_extra_obj) autotest/autotestlib.o ${ARCHIVE_LIB}
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS)
# run the autotest program
@ -1382,12 +1343,10 @@ 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
@ -1455,7 +1414,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 explicitly tell it to compile as a c source file with
# header' so we need to explicity 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)
@ -1477,6 +1436,10 @@ $(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 $@
@ -1487,6 +1450,7 @@ 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
@ -1540,14 +1504,11 @@ 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 \
@ -1564,7 +1525,6 @@ 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 \
@ -1635,7 +1595,6 @@ 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 \
@ -1745,7 +1704,6 @@ 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 \
@ -1793,7 +1751,6 @@ 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 \
@ -1826,23 +1783,6 @@ 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
##
@ -1873,7 +1813,7 @@ clean: clean-modules clean-autoscript clean-check clean-coverage clean-bench cle
distclean: clean
@echo "cleaning distribution..."
$(RM) octave-core *_example.m
$(RM) octave-core *.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,10 +43,8 @@
# autoconf initialization macros
NAME := liquid-dsp
VERSION := 1.5
VERSION := 1.4.0
BUGREPORT := joseph@liquidsdr.org
AR_LIB := a
SH_LIB := dll
# paths
prefix := /usr/local
@ -73,8 +71,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 -Wno-deprecated-declarations
CXXFLAGS = $(CFLAGS) -std=c++14 -Wno-return-type-c-linkage
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated
CXXFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated -Wno-return-type-c-linkage
LDFLAGS =
#MINGW:
LIBS = -lmsvcrt
@ -112,12 +110,9 @@ 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 $(include_headers) $(agc_prototypes)
src/agc/src/agc_rrrf.o : %.o : %.c $(include_headers) $(agc_prototypes)
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)
# autotests
agc_autotests := \
@ -153,20 +148,22 @@ buffer_objects := \
src/buffer/src/bufferf.o \
src/buffer/src/buffercf.o \
# 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 \
buffer_includes := \
src/buffer/src/cbuffer.c \
src/buffer/src/wdelay.c \
src/buffer/src/window.c \
src/buffer/src/bufferf.o : %.o : %.c $(include_headers) $(buffer_prototypes)
src/buffer/src/buffercf.o : %.o : %.c $(include_headers) $(buffer_prototypes)
src/buffer/src/bufferf.o : %.o : %.c $(include_headers) $(buffer_includes)
src/buffer/src/buffercf.o : %.o : %.c $(include_headers) $(buffer_includes)
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 \
@ -180,15 +177,13 @@ buffer_benchmarks := \
channel_objects := \
src/channel/src/channel_cccf.o \
channel_prototypes := \
src/channel/src/channel.proto.c \
src/channel/src/tvmpch.proto.c \
channel_includes := \
src/channel/src/channel.c \
src/channel/src/tvmpch.c \
src/channel/src/channel_cccf.o : %.o : %.c $(include_headers) $(channel_prototypes)
src/channel/src/channel_cccf.o : %.o : %.c $(include_headers) $(channel_includes)
channel_autotests := \
src/channel/tests/channel_copy_autotest.c \
src/channel/tests/tvmpch_copy_autotest.c \
#src/channel/tests/channel_cccf_autotest.c
@ -200,11 +195,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.sse4.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.mmx.o src/dotprod/src/sumsq.mmx.o \
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/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/sumsq.o : %.o : %.c $(include_headers)
# specific machine architectures
@ -222,9 +217,6 @@ 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)
@ -251,11 +243,8 @@ 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) $(equalization_prototypes)
$(equalization_objects) : %.o : %.c $(include_headers) src/equalization/src/eqlms.c src/equalization/src/eqrls.c
# autotests
@ -305,7 +294,6 @@ $(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 \
@ -320,7 +308,6 @@ 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 \
@ -345,27 +332,26 @@ fft_objects := \
src/fft/src/fft_utilities.o \
# explicit targets and dependencies
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 \
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 \
src/fft/src/fftf.o : %.o : %.c $(include_headers) $(fft_prototypes)
src/fft/src/fftf.o : %.o : %.c $(include_headers) $(fft_includes)
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.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
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
# 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 \
@ -421,7 +407,6 @@ 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 := \
@ -442,7 +427,6 @@ 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 \
@ -456,29 +440,29 @@ filter_objects := \
# list explicit targets and dependencies here
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 \
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 \
src/filter/src/bessel.o : %.o : %.c $(include_headers)
src/filter/src/bessel.o : %.o : %.c $(include_headers)
@ -486,9 +470,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_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/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/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)
@ -502,41 +486,30 @@ 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/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/iirfiltsos_rrrf_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 \
@ -665,10 +638,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.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/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/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)
@ -678,34 +651,28 @@ 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.proto.c src/framing/src/qsource.proto.c
src/framing/src/msourcecf.o : %.o : %.c $(include_headers) src/framing/src/msource.c src/framing/src/qsource.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.proto.c
src/framing/src/presync_cccf.o : %.o : %.c $(include_headers) src/framing/src/presync.c
src/framing/src/qpacketmodem.o : %.o : %.c $(include_headers)
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
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
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 \
@ -741,15 +708,15 @@ math_objects := \
src/math/src/windows.o \
poly_prototypes := \
src/math/src/poly.common.proto.c \
src/math/src/poly.expand.proto.c \
src/math/src/poly.lagrange.proto.c \
poly_includes := \
src/math/src/poly.common.c \
src/math/src/poly.expand.c \
src/math/src/poly.lagrange.c \
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/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/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)
@ -790,24 +757,24 @@ matrix_objects := \
src/matrix/src/smatrixi.o \
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 \
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 \
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
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
# matrix autotest scripts
@ -868,26 +835,26 @@ modem_objects := \
src/modem/src/modem_arb_const.o \
# explicit targets and dependencies
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 \
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 \
#src/modem/src/modem_demod_soft_const.c
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_prototypes)
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_includes)
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)
@ -903,9 +870,7 @@ 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 \
@ -935,13 +900,13 @@ multichannel_objects := \
$(multichannel_objects) : %.o : %.c $(include_headers)
# list explicit targets and dependencies here
multichannel_prototypes := \
src/multichannel/src/firpfbch.proto.c \
src/multichannel/src/firpfbch2.proto.c \
src/multichannel/src/firpfbchr.proto.c \
multichannel_includes := \
src/multichannel/src/firpfbch.c \
src/multichannel/src/firpfbch2.c \
src/multichannel/src/firpfbchr.c \
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_prototypes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_prototypes)
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_includes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_includes)
# autotests
multichannel_autotests := \
@ -965,18 +930,16 @@ 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) $(nco_prototypes)
src/nco/src/nco_crcf.o : %.o : %.c $(include_headers) src/nco/src/nco.c
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 \
@ -1005,7 +968,6 @@ 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)
@ -1013,7 +975,6 @@ $(optim_objects) : %.o : %.c $(include_headers)
# autotests
optim_autotests := \
src/optim/tests/gradsearch_autotest.c \
src/optim/tests/qs1dsearch_autotest.c \
# benchmarks
optim_benchmarks :=
@ -1029,12 +990,10 @@ 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) $(quantization_prototypes)
src/quantization/src/quantizerf.o : %.o : %.c $(include_headers) $(quantization_prototypes)
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/quantizer.inline.o : %.o : %.c $(include_headers)
@ -1107,7 +1066,6 @@ 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 \
@ -1136,14 +1094,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.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
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
# builds for specific architectures
# ...
@ -1244,9 +1202,10 @@ benchmark_sources := \
##
.PHONY: all
# Shared library targets
ARCHIVE_LIB = libliquid.${AR_LIB}
SHARED_LIB = libliquid.${SH_LIB}
# Shared library
ARCHIVE_LIB = libliquid.a
#MINGW:
SHARED_LIB = libliquid.dll
#
# darwin
@ -1278,7 +1237,7 @@ all: ${ARCHIVE_LIB} ${SHARED_LIB}
## TARGET : help - print list of targets
##
# look for all occurrences of '## TARGET : ' and print rest of line to screen
# look for all occurences of '## TARGET : ' and print rest of line to screen
help:
@echo "Targets for liquid-dsp makefile:"
@$(GREP) -E "^## TARGET : " [Mm]akefile | $(SED) 's/## TARGET : / /'
@ -1290,13 +1249,11 @@ 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 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
install -m 644 -p ${ARCHIVE_LIB} ${SHARED_LIB} $(DESTDIR)$(libdir)
install -m 644 -p $(addprefix include/,$(headers_install)) $(DESTDIR)$(prefix)/include/liquid
@echo ""
@echo "---------------------------------------------------------"
@echo " liquid-dsp was successfully installed. "
@ -1315,14 +1272,11 @@ 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) $(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}
$(RM) $(addprefix $(DESTDIR)$(prefix)/include/liquid/, $(headers_install))
$(RM) $(DESTDIR)$(libdir)/${ARCHIVE_LIB}
$(RM) $(DESTDIR)$(libdir)/${SHARED_LIB}
@echo "done."
##
@ -1357,19 +1311,26 @@ 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 explicitly tell it to compile as a c source file with
# header' so we need to explicity tell it to compile as a c source file with
# the '-x c' flag
autotest_obj = $(patsubst %.c,%.o,$(autotest_sources))
$(autotest_obj) $(autotest_extra_obj) autotest/autotest.o : %.o : %.c $(include_headers) autotest/autotest.h
$(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
$(CC) $(CPPFLAGS) $(CFLAGS) $< -c -o $@
# compile the autotest program without linking
$(autotest_prog).o : autotest/xautotest.c autotest/autotest.h autotest_include.h
$(autotest_prog).o : autotest/autotest.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/autotest.o ${ARCHIVE_LIB}
$(autotest_prog): $(autotest_prog).o $(autotest_obj) $(autotest_extra_obj) autotest/autotestlib.o ${ARCHIVE_LIB}
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS)
# run the autotest program
@ -1382,12 +1343,10 @@ 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
@ -1455,7 +1414,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 explicitly tell it to compile as a c source file with
# header' so we need to explicity 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)
@ -1477,6 +1436,10 @@ $(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 $@
@ -1487,6 +1450,7 @@ 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
@ -1540,14 +1504,11 @@ 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 \
@ -1564,7 +1525,6 @@ 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 \
@ -1635,7 +1595,6 @@ 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 \
@ -1745,7 +1704,6 @@ 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 \
@ -1793,7 +1751,6 @@ 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 \
@ -1826,23 +1783,6 @@ 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
##
@ -1873,7 +1813,7 @@ clean: clean-modules clean-autoscript clean-check clean-coverage clean-bench cle
distclean: clean
@echo "cleaning distribution..."
$(RM) octave-core *_example.m
$(RM) octave-core *.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.CompatibilityProfile().EndList();
glSettings.PlatformDefaults().EndList();
*m_glContextAttributes = glSettings;
}

View File

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