aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
blob: b7095c851d651326a88cb8a3d53456f296ef22e0 (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
# 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_INPUT_ZEROMQ_TEST
ZMQ_LIBS    =-lzmq
else
ZMQ_LIBS    =
endif

if HAVE_OUTPUT_UHD_TEST
UHD_SOURCES    =OutputUHD.cpp OutputUHD.h
else
UHD_SOURCES    =
endif

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

bin_PROGRAMS =  odr-dabmod

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)

if USE_KISS_FFT
FFT_LDADD=
else
FFT_LDADD=-lfftw3f -lm
endif

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

odr_dabmod_CPPFLAGS = -Wall $(FFT_INC) $(FFT_FLG) $(SIMD_CFLAGS) $(GITVERSION_FLAGS)
odr_dabmod_LDADD    = $(ZMQ_LIBS) $(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 \
					  TimestampDecoder.h TimestampDecoder.cpp \
                      $(UHD_SOURCES) \
                      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

EXTRA_DIST	=kiss_fftsimd.c kiss_fftsimd.h

clean-local:
	rm -rf $(FFT_DIR)