summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
blob: 922ce52e5aef045b0d7341d395df804916fbaa7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Her Majesty the
# Queen in Right of Canada (Communications Research Center Canada)

# This file is part of ODR-DabMod.
#
# ODR-DabMod is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# ODR-DabMod is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with ODR-DabMod.  If not, see <http://www.gnu.org/licenses/>.

if IS_GIT_REPO
GITVERSION_FLAGS = -DGITVERSION="\"`git describe`\""
else
GITVERSION_FLAGS =
endif

if HAVE_SSE
SIMD_CFLAGS = -msse -msse2
else
SIMD_CFLAGS =
endif

bin_PROGRAMS = odr-dabmod

if USE_KISS_FFT
FFT_DIR=$(top_builddir)/lib/kiss_fft129
FFT_INC=-I$(FFT_DIR) -I$(FFT_DIR)/tools
FFT_SRC=$(FFT_DIR)/kiss_fft.c \
		$(FFT_DIR)/kiss_fft.h \
		$(FFT_DIR)/tools/kiss_fftr.c \
		$(FFT_DIR)/tools/kiss_fftr.h \
		kiss_fftsimd.c \
		kiss_fftsimd.h
FFT_FLG=-ffast-math

.PHONY: kiss_fft129 reed-solomon-4.0

DabModulator.cpp: $(FFT_DIR)

BUILT_SOURCES: $(FFT_DIR)

FFT_LDADD=

$(FFT_DIR):
	if [ ! -e $(FFT_DIR) ]; then \
		tar xzf $(top_srcdir)/lib/kiss_fft129.tar.gz -C $(top_builddir)/lib; \
	fi

else
FFT_LDADD=
FFT_DIR=
FFT_INC=
FFT_SRC=
FFT_FLG=
endif

odr_dabmod_CPPFLAGS = -Wall \
					  $(FFT_INC) $(FFT_FLG) $(SIMD_CFLAGS) $(GITVERSION_FLAGS)
odr_dabmod_LDADD    = $(FFT_LDADD)
odr_dabmod_SOURCES  = DabMod.cpp \
					  PcDebug.h \
					  porting.c porting.h \
					  DabModulator.cpp DabModulator.h  \
					  Buffer.cpp Buffer.h \
					  ModCodec.cpp ModCodec.h \
					  ModPlugin.cpp ModPlugin.h \
					  ModFormat.cpp ModFormat.h \
					  EtiReader.cpp EtiReader.h \
					  Eti.cpp Eti.h \
					  FicSource.cpp FicSource.h \
					  FIRFilter.cpp FIRFilter.h \
					  ModInput.cpp ModInput.h \
					  PuncturingRule.cpp PuncturingRule.h \
					  PuncturingEncoder.cpp PuncturingEncoder.h \
					  SubchannelSource.cpp SubchannelSource.h \
					  Flowgraph.cpp Flowgraph.h \
					  GainControl.cpp GainControl.h \
					  OutputMemory.cpp OutputMemory.h \
					  OutputZeroMQ.cpp OutputZeroMQ.h \
					  TimestampDecoder.h TimestampDecoder.cpp \
					  OutputUHD.cpp OutputUHD.h \
					  ModOutput.cpp ModOutput.h \
					  InputMemory.cpp InputMemory.h \
					  InputFileReader.cpp InputZeroMQReader.cpp InputReader.h \
					  OutputFile.cpp OutputFile.h \
					  FrameMultiplexer.cpp FrameMultiplexer.h \
					  ModMux.cpp ModMux.h \
					  PrbsGenerator.cpp PrbsGenerator.h \
					  BlockPartitioner.cpp BlockPartitioner.h \
					  QpskSymbolMapper.cpp QpskSymbolMapper.h \
					  FrequencyInterleaver.cpp FrequencyInterleaver.h \
					  PhaseReference.cpp PhaseReference.h \
					  DifferentialModulator.cpp DifferentialModulator.h \
					  NullSymbol.cpp NullSymbol.h \
					  SignalMultiplexer.cpp SignalMultiplexer.h \
					  CicEqualizer.cpp CicEqualizer.h \
					  OfdmGenerator.cpp OfdmGenerator.h \
					  GuardIntervalInserter.cpp GuardIntervalInserter.h \
					  Resampler.cpp Resampler.h \
					  ConvEncoder.cpp ConvEncoder.h \
					  TimeInterleaver.cpp TimeInterleaver.h \
					  ThreadsafeQueue.h \
					  Log.cpp Log.h \
					  RemoteControl.cpp RemoteControl.h \
					  zmq.hpp

nodist_odr_dabmod_SOURCES = $(FFT_SRC)

dist_bin_SCRIPTS = crc-dwap.py

if USE_KISS_FFT
EXTRA_DIST = kiss_fftsimd.c kiss_fftsimd.h

clean-local:
	rm -rf $(FFT_DIR)

endif