diff options
-rw-r--r-- | Makefile.am | 213 | ||||
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | lib/Makefile.am | 19 | ||||
-rw-r--r-- | lib/farsync/Makefile.am | 1 | ||||
-rw-r--r-- | lib/fec/LICENSE (renamed from src/fec/LICENSE) | 0 | ||||
-rw-r--r-- | lib/fec/README.md (renamed from src/fec/README.md) | 0 | ||||
-rw-r--r-- | lib/fec/char.h (renamed from src/fec/char.h) | 0 | ||||
-rw-r--r-- | lib/fec/decode_rs.h (renamed from src/fec/decode_rs.h) | 0 | ||||
-rw-r--r-- | lib/fec/decode_rs_char.c (renamed from src/fec/decode_rs_char.c) | 0 | ||||
-rw-r--r-- | lib/fec/encode_rs.h (renamed from src/fec/encode_rs.h) | 0 | ||||
-rw-r--r-- | lib/fec/encode_rs_char.c (renamed from src/fec/encode_rs_char.c) | 0 | ||||
-rw-r--r-- | lib/fec/fec.h (renamed from src/fec/fec.h) | 0 | ||||
-rw-r--r-- | lib/fec/init_rs.h (renamed from src/fec/init_rs.h) | 0 | ||||
-rw-r--r-- | lib/fec/init_rs_char.c (renamed from src/fec/init_rs_char.c) | 0 | ||||
-rw-r--r-- | lib/fec/rs-common.h (renamed from src/fec/rs-common.h) | 0 | ||||
-rw-r--r-- | lib/zmq.hpp (renamed from src/zmq.hpp) | 0 | ||||
-rw-r--r-- | src/Makefile.am | 152 |
17 files changed, 207 insertions, 186 deletions
diff --git a/Makefile.am b/Makefile.am index b1578f9..8c60444 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,27 +1,226 @@ # Copyright (C) 2008, 2009 Her Majesty the Queen in Right of Canada # (Communications Research Center Canada) # -# Copyright (C) 2014 Matthias P. Braendli +# Copyright (C) 2018 Matthias P. Braendli # http://opendigitalradio.org # This file is part of ODR-DabMux. -# +# # ODR-DabMux 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-DabMux 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-DabMux. If not, see <http://www.gnu.org/licenses/>. -SUBDIRS =src lib +if IS_GIT_REPO +GITVERSION_FLAGS = -DGITVERSION="\"`git describe --dirty`\"" +else +GITVERSION_FLAGS = +endif + +bin_PROGRAMS=odr-dabmux zmqinput-keygen + +if HAVE_OUTPUT_RAW_TEST +bin_PROGRAMS+=odr-zmq2farsync +endif + +if HAVE_EDI_TEST +bin_PROGRAMS+=odr-zmq2edi +CURL_LIBS =-lcurl +else +CURL_LIBS = +endif + +FARSYNC_DIR=lib/farsync/linux +INCLUDE=-I$(FARSYNC_DIR) -Ilib -Isrc + +odr_dabmux_CFLAGS =-Wall $(INCLUDE) $(GITVERSION_FLAGS) +odr_dabmux_CXXFLAGS =-Wall -std=c++11 $(INCLUDE) $(GITVERSION_FLAGS) $(BOOST_CPPFLAGS) $(ZMQ_CPPFLAGS) +odr_dabmux_LDADD =$(ZMQ_LIBS) $(CURL_LIBS) $(BOOST_LDFLAGS) \ + -lpthread $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB) $(BOOST_ASIO_LIB) + +odr_dabmux_SOURCES =src/DabMux.cpp \ + src/DabMux.h \ + src/DabMultiplexer.cpp \ + src/DabMultiplexer.h \ + src/input/inputs.h \ + src/input/Prbs.cpp \ + src/input/Prbs.h \ + src/input/Zmq.cpp \ + src/input/Zmq.h \ + src/input/File.cpp \ + src/input/File.h \ + src/input/Udp.cpp \ + src/input/Udp.h \ + src/dabOutput/dabOutput.h \ + src/dabOutput/dabOutputFile.cpp \ + src/dabOutput/dabOutputFifo.cpp \ + src/dabOutput/dabOutputRaw.cpp \ + src/dabOutput/dabOutputSimul.cpp \ + src/dabOutput/dabOutputTcp.cpp \ + src/dabOutput/dabOutputUdp.cpp \ + src/dabOutput/dabOutputZMQ.cpp \ + src/dabOutput/metadata.h \ + src/dabOutput/metadata.cpp \ + src/dabOutput/edi/AFPacket.cpp \ + src/dabOutput/edi/AFPacket.h \ + src/dabOutput/edi/TagItems.cpp \ + src/dabOutput/edi/TagItems.h \ + src/dabOutput/edi/TagPacket.cpp \ + src/dabOutput/edi/TagPacket.h \ + src/dabOutput/edi/PFT.cpp \ + src/dabOutput/edi/PFT.h \ + src/dabOutput/edi/Interleaver.cpp \ + src/dabOutput/edi/Interleaver.h \ + src/ClockTAI.h \ + src/ClockTAI.cpp \ + src/ConfigParser.cpp \ + src/ConfigParser.h \ + src/Eti.h \ + src/Eti.cpp \ + src/InetAddress.h \ + src/InetAddress.cpp \ + src/Interleaver.h \ + src/Interleaver.cpp \ + src/Log.h \ + src/Log.cpp \ + src/ManagementServer.h \ + src/ManagementServer.cpp \ + src/MuxElements.cpp \ + src/MuxElements.h \ + src/PcDebug.h \ + src/ReedSolomon.h \ + src/ReedSolomon.cpp \ + src/RemoteControl.cpp \ + src/RemoteControl.h \ + src/TcpSocket.h \ + src/TcpSocket.cpp \ + src/UdpSocket.h \ + src/UdpSocket.cpp \ + src/ThreadsafeQueue.h \ + src/crc.h \ + src/crc.c \ + src/fig/FIG.h \ + src/fig/FIG.cpp \ + src/fig/FIG0.h \ + src/fig/FIG0structs.h \ + src/fig/FIG0_0.cpp \ + src/fig/FIG0_0.h \ + src/fig/FIG0_1.cpp \ + src/fig/FIG0_1.h \ + src/fig/FIG0_2.cpp \ + src/fig/FIG0_2.h \ + src/fig/FIG0_3.cpp \ + src/fig/FIG0_3.h \ + src/fig/FIG0_5.cpp \ + src/fig/FIG0_5.h \ + src/fig/FIG0_6.cpp \ + src/fig/FIG0_6.h \ + src/fig/FIG0_8.cpp \ + src/fig/FIG0_8.h \ + src/fig/FIG0_9.cpp \ + src/fig/FIG0_9.h \ + src/fig/FIG0_10.cpp \ + src/fig/FIG0_10.h \ + src/fig/FIG0_13.cpp \ + src/fig/FIG0_13.h \ + src/fig/FIG0_17.cpp \ + src/fig/FIG0_17.h \ + src/fig/FIG0_18.cpp \ + src/fig/FIG0_18.h \ + src/fig/FIG0_19.cpp \ + src/fig/FIG0_19.h \ + src/fig/FIG0_21.cpp \ + src/fig/FIG0_21.h \ + src/fig/FIG0_24.cpp \ + src/fig/FIG0_24.h \ + src/fig/FIG1.cpp \ + src/fig/FIG1.h \ + src/fig/FIGCarousel.cpp \ + src/fig/FIGCarousel.h \ + src/fig/TransitionHandler.h \ + src/mpeg.h \ + src/mpeg.c \ + src/PrbsGenerator.cpp \ + src/PrbsGenerator.h \ + src/utils.cpp \ + src/utils.h \ + lib/zmq.hpp \ + lib/fec/char.h \ + lib/fec/rs-common.h \ + lib/fec/decode_rs_char.c \ + lib/fec/decode_rs.h \ + lib/fec/encode_rs_char.c \ + lib/fec/encode_rs.h \ + lib/fec/fec.h \ + lib/fec/init_rs_char.c \ + lib/fec/init_rs.h + +zmqinput_keygen_SOURCES = src/zmqinput-keygen.c +zmqinput_keygen_LDADD = $(ZMQ_LIBS) +zmqinput_keygen_CFLAGS = -Wall $(GITVERSION_FLAGS) $(ZMQ_CPPFLAGS) + +odr_zmq2farsync_SOURCES = src/zmq2farsync/zmq2farsync.cpp \ + src/dabOutput/dabOutput.h \ + src/dabOutput/dabOutputRaw.cpp \ + src/Log.h \ + src/Log.cpp \ + lib/zmq.hpp + +odr_zmq2farsync_LDADD = $(ZMQ_LIBS) +odr_zmq2farsync_CFLAGS = -Wall $(ZMQ_CPPFLAGS) $(GITVERSION_FLAGS) $(INCLUDE) +odr_zmq2farsync_CXXFLAGS = -Wall -std=c++11 $(ZMQ_CPPFLAGS) $(GITVERSION_FLAGS) $(INCLUDE) + +odr_zmq2edi_SOURCES = src/zmq2edi/zmq2edi.cpp \ + src/zmq2edi/EDISender.h \ + src/zmq2edi/EDISender.cpp \ + src/dabOutput/dabOutput.h \ + src/dabOutput/metadata.h \ + src/dabOutput/metadata.cpp \ + src/dabOutput/edi/AFPacket.cpp \ + src/dabOutput/edi/AFPacket.h \ + src/dabOutput/edi/TagItems.cpp \ + src/dabOutput/edi/TagItems.h \ + src/dabOutput/edi/TagPacket.cpp \ + src/dabOutput/edi/TagPacket.h \ + src/dabOutput/edi/PFT.cpp \ + src/dabOutput/edi/PFT.h \ + src/dabOutput/edi/Interleaver.cpp \ + src/dabOutput/edi/Interleaver.h \ + src/InetAddress.h \ + src/InetAddress.cpp \ + src/UdpSocket.h \ + src/UdpSocket.cpp \ + src/ReedSolomon.h \ + src/ReedSolomon.cpp \ + src/Log.h \ + src/Log.cpp \ + src/crc.h \ + src/crc.c \ + lib/zmq.hpp \ + lib/fec/char.h \ + lib/fec/rs-common.h \ + lib/fec/decode_rs_char.c \ + lib/fec/decode_rs.h \ + lib/fec/encode_rs_char.c \ + lib/fec/encode_rs.h \ + lib/fec/fec.h \ + lib/fec/init_rs_char.c \ + lib/fec/init_rs.h + +odr_zmq2edi_LDADD = $(ZMQ_LIBS) -lpthread $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) +odr_zmq2edi_CFLAGS = -Wall $(ZMQ_CPPFLAGS) $(GITVERSION_FLAGS) $(INCLUDE) +odr_zmq2edi_CXXFLAGS = -Wall -std=c++11 $(ZMQ_CPPFLAGS) $(GITVERSION_FLAGS) $(INCLUDE) -ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST =COPYING NEWS README.md INSTALL.md LICENCE AUTHORS ChangeLog TODO doc +EXTRA_DIST = COPYING NEWS README.md INSTALL.md LICENCE AUTHORS ChangeLog TODO doc \ + lib/fec/README.md lib/fec/LICENSE \ + lib/farsync/linux lib/farsync/windows diff --git a/configure.ac b/configure.ac index bfba9ba..4e443e0 100644 --- a/configure.ac +++ b/configure.ac @@ -43,8 +43,6 @@ AX_BOOST_THREAD AX_BOOST_SYSTEM AX_BOOST_ASIO -AC_SUBST([FARSYNC_DIR], ['$(top_srcdir)/lib/farsync/linux']) - # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h]) @@ -143,11 +141,7 @@ AM_CONDITIONAL([HAVE_OUTPUT_RAW_TEST], AM_CONDITIONAL([IS_GIT_REPO], [test -d '.git']) -AC_CONFIG_FILES([Makefile - src/Makefile - lib/Makefile - lib/farsync/Makefile - ]) +AC_CONFIG_FILES([Makefile]) AC_OUTPUT echo diff --git a/lib/Makefile.am b/lib/Makefile.am deleted file mode 100644 index b2d64be..0000000 --- a/lib/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (C) 2009 Her Majesty the Queen in Right of Canada (Communications -# Research Center Canada) - -# This file is part of ODR-DabMux. -# -# ODR-DabMux 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-DabMux 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-DabMux. If not, see <http://www.gnu.org/licenses/>. - -SUBDIRS =farsync diff --git a/lib/farsync/Makefile.am b/lib/farsync/Makefile.am deleted file mode 100644 index 858c150..0000000 --- a/lib/farsync/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST =linux windows diff --git a/src/fec/LICENSE b/lib/fec/LICENSE index 5a883d3..5a883d3 100644 --- a/src/fec/LICENSE +++ b/lib/fec/LICENSE diff --git a/src/fec/README.md b/lib/fec/README.md index a44d28d..a44d28d 100644 --- a/src/fec/README.md +++ b/lib/fec/README.md diff --git a/src/fec/char.h b/lib/fec/char.h index 25efd65..25efd65 100644 --- a/src/fec/char.h +++ b/lib/fec/char.h diff --git a/src/fec/decode_rs.h b/lib/fec/decode_rs.h index c165cf3..c165cf3 100644 --- a/src/fec/decode_rs.h +++ b/lib/fec/decode_rs.h diff --git a/src/fec/decode_rs_char.c b/lib/fec/decode_rs_char.c index 7105233..7105233 100644 --- a/src/fec/decode_rs_char.c +++ b/lib/fec/decode_rs_char.c diff --git a/src/fec/encode_rs.h b/lib/fec/encode_rs.h index 2c157f9..2c157f9 100644 --- a/src/fec/encode_rs.h +++ b/lib/fec/encode_rs.h diff --git a/src/fec/encode_rs_char.c b/lib/fec/encode_rs_char.c index a9bf2b8..a9bf2b8 100644 --- a/src/fec/encode_rs_char.c +++ b/lib/fec/encode_rs_char.c diff --git a/src/fec/fec.h b/lib/fec/fec.h index 0d1bae1..0d1bae1 100644 --- a/src/fec/fec.h +++ b/lib/fec/fec.h diff --git a/src/fec/init_rs.h b/lib/fec/init_rs.h index 2b2ae98..2b2ae98 100644 --- a/src/fec/init_rs.h +++ b/lib/fec/init_rs.h diff --git a/src/fec/init_rs_char.c b/lib/fec/init_rs_char.c index a51099a..a51099a 100644 --- a/src/fec/init_rs_char.c +++ b/lib/fec/init_rs_char.c diff --git a/src/fec/rs-common.h b/lib/fec/rs-common.h index e64eb39..e64eb39 100644 --- a/src/fec/rs-common.h +++ b/lib/fec/rs-common.h diff --git a/src/zmq.hpp b/lib/zmq.hpp index eb5416e..eb5416e 100644 --- a/src/zmq.hpp +++ b/lib/zmq.hpp diff --git a/src/Makefile.am b/src/Makefile.am deleted file mode 100644 index 1087588..0000000 --- a/src/Makefile.am +++ /dev/null @@ -1,152 +0,0 @@ -# Copyright (C) 2008, 2009,2012 Her Majesty the Queen in Right of Canada -# (Communications Research Center Canada) -# Pascal Charest -# -# Copyright (C) 2017, Matthias P. Braendli, http://opendigitalradio.org -# - -# This file is part of ODR-DabMux. -# -# ODR-DabMux 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-DabMux 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-DabMux. If not, see <http://www.gnu.org/licenses/>. - -if IS_GIT_REPO -GITVERSION_FLAGS = -DGITVERSION="\"`git describe --dirty`\"" -else -GITVERSION_FLAGS = -endif - -bin_PROGRAMS=odr-dabmux zmqinput-keygen - -if HAVE_OUTPUT_RAW_TEST -bin_PROGRAMS+=odr-zmq2farsync -endif - -if HAVE_EDI_TEST -bin_PROGRAMS+=odr-zmq2edi -CURL_LIBS =-lcurl -else -CURL_LIBS = -endif - -odr_dabmux_CFLAGS =-Wall -I$(FARSYNC_DIR) $(GITVERSION_FLAGS) -odr_dabmux_CXXFLAGS =-Wall -std=c++11 -I$(FARSYNC_DIR) $(GITVERSION_FLAGS) $(BOOST_CPPFLAGS) $(ZMQ_CPPFLAGS) -odr_dabmux_LDADD =$(ZMQ_LIBS) $(CURL_LIBS) $(BOOST_LDFLAGS) \ - -lpthread $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB) $(BOOST_ASIO_LIB) - -odr_dabmux_SOURCES =DabMux.cpp DabMux.h \ - DabMultiplexer.cpp DabMultiplexer.h \ - input/inputs.h \ - input/Prbs.cpp input/Prbs.h \ - input/Zmq.cpp input/Zmq.h \ - input/File.cpp input/File.h \ - input/Udp.cpp input/Udp.h \ - dabOutput/dabOutput.h \ - dabOutput/dabOutputFile.cpp \ - dabOutput/dabOutputFifo.cpp \ - dabOutput/dabOutputRaw.cpp \ - dabOutput/dabOutputSimul.cpp \ - dabOutput/dabOutputTcp.cpp \ - dabOutput/dabOutputUdp.cpp \ - dabOutput/dabOutputZMQ.cpp \ - dabOutput/metadata.h dabOutput/metadata.cpp \ - dabOutput/edi/AFPacket.cpp dabOutput/edi/AFPacket.h \ - dabOutput/edi/TagItems.cpp dabOutput/edi/TagItems.h \ - dabOutput/edi/TagPacket.cpp dabOutput/edi/TagPacket.h \ - dabOutput/edi/PFT.cpp dabOutput/edi/PFT.h \ - dabOutput/edi/Interleaver.cpp dabOutput/edi/Interleaver.h \ - ClockTAI.h ClockTAI.cpp \ - ConfigParser.cpp ConfigParser.h \ - Eti.h Eti.cpp \ - InetAddress.h InetAddress.cpp \ - Interleaver.h Interleaver.cpp \ - Log.h Log.cpp \ - ManagementServer.h ManagementServer.cpp \ - MuxElements.cpp MuxElements.h \ - PcDebug.h \ - ReedSolomon.h ReedSolomon.cpp \ - RemoteControl.cpp RemoteControl.h \ - TcpSocket.h TcpSocket.cpp \ - UdpSocket.h UdpSocket.cpp \ - ThreadsafeQueue.h \ - crc.h crc.c \ - fig/FIG.h fig/FIG.cpp \ - fig/FIG0.h fig/FIG0structs.h \ - fig/FIG0_0.cpp fig/FIG0_0.h \ - fig/FIG0_1.cpp fig/FIG0_1.h \ - fig/FIG0_2.cpp fig/FIG0_2.h \ - fig/FIG0_3.cpp fig/FIG0_3.h \ - fig/FIG0_5.cpp fig/FIG0_5.h \ - fig/FIG0_6.cpp fig/FIG0_6.h \ - fig/FIG0_8.cpp fig/FIG0_8.h \ - fig/FIG0_9.cpp fig/FIG0_9.h \ - fig/FIG0_10.cpp fig/FIG0_10.h \ - fig/FIG0_13.cpp fig/FIG0_13.h \ - fig/FIG0_17.cpp fig/FIG0_17.h \ - fig/FIG0_18.cpp fig/FIG0_18.h \ - fig/FIG0_19.cpp fig/FIG0_19.h \ - fig/FIG0_21.cpp fig/FIG0_21.h \ - fig/FIG0_24.cpp fig/FIG0_24.h \ - fig/FIG1.cpp fig/FIG1.h \ - fig/FIGCarousel.cpp fig/FIGCarousel.h \ - fig/TransitionHandler.h \ - mpeg.h mpeg.c \ - PrbsGenerator.cpp PrbsGenerator.h \ - utils.cpp utils.h \ - zmq.hpp \ - fec/char.h fec/rs-common.h \ - fec/decode_rs_char.c fec/decode_rs.h \ - fec/encode_rs_char.c fec/encode_rs.h \ - fec/fec.h \ - fec/init_rs_char.c fec/init_rs.h - -zmqinput_keygen_SOURCES = zmqinput-keygen.c -zmqinput_keygen_LDADD = $(ZMQ_LIBS) -zmqinput_keygen_CFLAGS = -Wall $(GITVERSION_FLAGS) $(ZMQ_CPPFLAGS) - -odr_zmq2farsync_SOURCES = zmq2farsync/zmq2farsync.cpp \ - dabOutput/dabOutput.h \ - dabOutput/dabOutputRaw.cpp \ - Log.h Log.cpp \ - zmq.hpp -odr_zmq2farsync_LDADD = $(ZMQ_LIBS) -odr_zmq2farsync_CFLAGS = -Wall $(ZMQ_CPPFLAGS) $(GITVERSION_FLAGS) -I$(FARSYNC_DIR) -odr_zmq2farsync_CXXFLAGS = -Wall -std=c++11 $(ZMQ_CPPFLAGS) $(GITVERSION_FLAGS) -I$(FARSYNC_DIR) - -odr_zmq2edi_SOURCES = zmq2edi/zmq2edi.cpp \ - zmq2edi/EDISender.h zmq2edi/EDISender.cpp \ - dabOutput/dabOutput.h \ - dabOutput/metadata.h dabOutput/metadata.cpp \ - dabOutput/edi/AFPacket.cpp dabOutput/edi/AFPacket.h \ - dabOutput/edi/TagItems.cpp dabOutput/edi/TagItems.h \ - dabOutput/edi/TagPacket.cpp dabOutput/edi/TagPacket.h \ - dabOutput/edi/PFT.cpp dabOutput/edi/PFT.h \ - dabOutput/edi/Interleaver.cpp dabOutput/edi/Interleaver.h \ - InetAddress.h InetAddress.cpp \ - UdpSocket.h UdpSocket.cpp \ - ReedSolomon.h ReedSolomon.cpp \ - fec/char.h fec/rs-common.h \ - fec/decode_rs_char.c fec/decode_rs.h \ - fec/encode_rs_char.c fec/encode_rs.h \ - fec/fec.h \ - fec/init_rs_char.c fec/init_rs.h \ - Log.h Log.cpp \ - crc.h crc.c \ - zmq.hpp -odr_zmq2edi_LDADD = $(ZMQ_LIBS) \ - -lpthread $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) -odr_zmq2edi_CFLAGS = -Wall $(ZMQ_CPPFLAGS) $(GITVERSION_FLAGS) -odr_zmq2edi_CXXFLAGS = -Wall -std=c++11 $(ZMQ_CPPFLAGS) $(GITVERSION_FLAGS) - -EXTRA_DIST = fec/README.md \ - fec/LICENSE |