aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/make
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce/software/make')
-rw-r--r--reproduce/software/make/basic.mk138
-rw-r--r--reproduce/software/make/build-rules.mk29
-rw-r--r--reproduce/software/make/high-level.mk63
-rw-r--r--reproduce/software/make/python.mk7
-rw-r--r--reproduce/software/make/xorg.mk1
5 files changed, 170 insertions, 68 deletions
diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk
index 453eddb..0b672d8 100644
--- a/reproduce/software/make/basic.mk
+++ b/reproduce/software/make/basic.mk
@@ -130,9 +130,17 @@ backupservers = $(filter-out $(topbackupserver),$(backupservers_all))
# Low-level (not built) programs
# ------------------------------
#
-# For the time being, some components of the project on some systems, so we
-# are simply making a symbolic link to the system's files here. We'll do
-# this after building GNU Coreutils to have trustable elements.
+# For the time being, some components of the project aren't being built on
+# some systems (primarily on proprietary operating systems). So we are
+# simply making a symbolic link to the system's programs/libraries in the
+# build directory.
+#
+# The logical position of this rule is irrelevant in this Makefile (because
+# programs being built here have full access to the system's PATH
+# already). This is done for the high-level programs installed in
+# 'high-level.mk', 'xorg.mk' or 'python.mk'. So this step is done after
+# building our own GNU Grep (which is the highest-level program used in
+# 'makelink') to have trustable elements.
#
# About ccache: ccache acts like a wrapper over the C compiler and is made
# to avoid/speed-up compiling of identical files in a system (it is
@@ -142,19 +150,25 @@ backupservers = $(filter-out $(topbackupserver),$(backupservers_all))
# thus remove any part of PATH of that has `ccache' in it before making
# symbolic links to the programs we are not building ourselves.
#
-# We'll need the system's PATH for making links to low-level programs we
-# won't be building ourselves.
+# The double quotations after the starting 'export PATH' are necessary in
+# case the user's PATH has space-characters in it.
+#
+# We use 'realpath' here (part of GNU Coreutils which is already installed
+# by the time we use 'makelink') to avoid linking to a link (on the
+# host). 'realpath' will follow a link (and possibly other links in the
+# middle) to an actual file and return its address. When the location isn't
+# a link, it will just return it.
syspath := $(PATH)
makelink = origpath="$$PATH"; \
- export PATH=$$(echo $(syspath) \
- | tr : '\n' \
- | grep -v ccache \
- | tr '\n' :); \
+ export PATH="$$(echo $(syspath) \
+ | tr : '\n' \
+ | grep -v ccache \
+ | tr '\n' :)"; \
if type $(1) > /dev/null 2> /dev/null; then \
if [ x$(3) = x ]; then \
- ln -sf $$(which $(1)) $(ibdir)/$(1); \
+ ln -sf "$$(realpath $$(which $(1)))" $(ibdir)/$(1); \
else \
- ln -sf $$(which $(1)) $(ibdir)/$(3); \
+ ln -sf "$$(realpath $$(which $(1)))" $(ibdir)/$(3); \
fi; \
else \
if [ "x$(strip $(2))" = xmandatory ]; then \
@@ -166,13 +180,12 @@ makelink = origpath="$$PATH"; \
export PATH="$$origpath"
$(ibdir) $(ildir):; mkdir $@
-$(ibidir)/low-level-links: $(ibidir)/coreutils-$(coreutils-version) \
+$(ibidir)/low-level-links: $(ibidir)/grep-$(grep-version) \
| $(ibdir) $(ildir)
- # Not-installed (but necessary in some cases) compilers.
- # Clang is necessary for CMake.
- $(call makelink,clang)
- $(call makelink,clang++)
+ # Hardware specific
+ $(call makelink,lp) # For printing, necessary for R.
+ $(call makelink,lpr) # For printing, necessary for R.
# Mac OS specific
$(call makelink,mig)
@@ -913,7 +926,7 @@ $(ibidir)/gettext-$(gettext-version): \
$(ibidir)/ncurses-$(ncurses-version) \
$(ibidir)/libiconv-$(libiconv-version) \
$(ibidir)/libunistring-$(libunistring-version)
- tarball=gettext-$(gettext-version).tar.xz
+ tarball=gettext-$(gettext-version).tar.lz
$(call import-source, $(gettext-url), $(gettext-checksum))
$(call gbuild, gettext-$(gettext-version), static,, \
V=1 -j$(numthreads))
@@ -950,7 +963,7 @@ $(ibidir)/libtool-$(libtool-version): $(ibidir)/m4-$(m4-version)
$(call import-source, $(libtool-url), $(libtool-checksum))
$(call gbuild, libtool-$(libtool-version), static, \
--program-prefix=g, V=1 -j$(numthreads))
- ln -s $(ibdir)/glibtoolize $(ibdir)/libtoolize
+ ln -sf $(ibdir)/glibtoolize $(ibdir)/libtoolize
echo "GNU Libtool $(libtool-version)" > $@
$(ibidir)/grep-$(grep-version): $(ibidir)/coreutils-$(coreutils-version)
@@ -1202,6 +1215,7 @@ $(ibidir)/binutils-$(binutils-version): \
$(call makelink,ld)
$(call makelink,nm)
$(call makelink,ps)
+ $(call makelink,strip)
$(call makelink,ranlib)
echo "" > $@
else
@@ -1211,14 +1225,15 @@ $(ibidir)/binutils-$(binutils-version): \
--with-lib-path=$(sys_library_path), \
-j$(numthreads) )
- # The `ld' linker of Binutils needs several `*crt*.o' file to
- # run. On some systems these object files aren't installed in
- # standard places. We defined `LIBRARY_PATH' and that fixed the
- # problem for many systems. However, some software (for example
- # ImageMagick) over-write `LIBRARY_PATH', therefore there is no
- # other way than to put a link to these necessary files in our
- # local build directory. IMPORTANT NOTE: later, when we build the
- # GNU C Library in the project, we should remove this step.
+ # The `ld' linker of Binutils needs several `*crt*.o' files from
+ # the host's GNU C Library to run. On some systems these object
+ # files aren't installed in standard places. We defined
+ # `LIBRARY_PATH' and that fixed the problem for many
+ # systems. However, some software (for example ImageMagick)
+ # over-write `LIBRARY_PATH', therefore there is no other way than
+ # to put a link to these necessary files in our local build
+ # directory. IMPORTANT NOTE: later, when we build the GNU C
+ # Library in the project, we should remove this step.
if ! [ x"$(sys_library_path)" = x ]; then
for f in $(sys_library_path)/*crt*.o; do
b=$$($(ibdir)/basename $$f)
@@ -1270,6 +1285,16 @@ $(ibidir)/gcc-$(gcc-version): $(ibidir)/binutils-$(binutils-version)
tarball=gcc-$(gcc-version).tar.xz
$(call import-source, $(gcc-url), $(gcc-checksum))
+ # To avoid any previous build in '.local/bin' causing problems in
+ # this build/links of this GCC, we'll first delete all the possibly
+ # built/existing compilers in this project. Note that GCC also
+ # installs several executables like this 'x86_64-pc-linux-gnu-gcc',
+ # 'x86_64-pc-linux-gnu-gcc-ar' or 'x86_64-pc-linux-gnu-g++'.
+ rm -f $(ibdir)/*g++ $(ibdir)/cpp $(ibdir)/gfortran
+ rm -rf $(ildir)/gcc $(ildir)/libcc* $(ildir)/libgcc*
+ rm -f $(ibdir)/*gcc* $(ibdir)/gcov* $(ibdir)/cc $(ibdir)/c++
+ rm -rf $(ildir)/libgfortran* $(ildir)/libstdc* rm $(idir)/x86_64*
+
# GCC builds is own libraries in '$(idir)/lib64'. But all other
# libraries are in '$(idir)/lib'. Since this project is only for a
# single architecture, we can trick GCC into building its libraries
@@ -1277,34 +1302,52 @@ $(ibidir)/gcc-$(gcc-version): $(ibidir)/binutils-$(binutils-version)
# link to '$(idir)/lib'.
if [ $(host_cc) = 1 ]; then
- # Make sure we don't have any of the program we want to link to
- # in the '.local/bin' directory.
- rm -f $(ibdir)/cc
- rm -f $(ibdir)/c++
- rm -f $(ibdir)/gcc
- rm -f $(ibdir)/cpp
- rm -f $(ibdir)/strip;
- rm -f $(ibdir)/gfortran;
-
- # Put links to the host's tools in '.local/bin'.
- $(call makelink,cc)
- $(call makelink,cpp)
- $(call makelink,cc,,gcc)
+ # Put links to the host's tools in '.local/bin'. Note that some
+ # macOS systems have both a native clang *and* a GNU C Compiler
+ # (note that this is different from the "normal" macOS situation
+ # where 'gcc' actually points to clang, here we mean when 'gcc'
+ # is actually the GNU C Compiler).
+ #
+ # In such cases, the GCC isn't complete and using it will cause
+ # problems when building high-level tools (for example openBLAS,
+ # rpcsvc-proto, CMake, xlsxio, Python or Matplotlib among
+ # others). To avoid such situations macOSs are configured like
+ # this: we'll simply set 'gcc' to point to 'clang' and won't set
+ # 'gcc' to point to the system's 'gcc'.
+ #
+ # Also, note that LLVM's clang doesn't have a C Pre-Processor. So
+ # we will only put a link to the host's 'cpp' if the system is
+ # not macOS. On macOS systems that have a real GCC installed,
+ # having GNU CPP in the project build directory is known to cause
+ # problems with 'libX11'.
$(call makelink,gfortran)
- $(call makelink,c++,,g++)
- $(call makelink,strip,mandatory)
+ if [ x$(on_mac_os) = xyes ]; then
+ $(call makelink,clang)
+ $(call makelink,clang++)
+ $(call makelink,clang,,gcc)
+ $(call makelink,clang++,,g++)
+ else
+ $(call makelink,cpp)
+ $(call makelink,gcc)
+ $(call makelink,g++)
+ fi
+
+ # We also want to have the two 'cc' and 'c++' in the build
+ # directory that point to the selected compiler. With the checks
+ # above, 'gcc' and 'g++' will point to the proper compiler, so
+ # we'll use them to define 'cc' and 'c++'.
+ $(call makelink,gcc,,cc)
+ $(call makelink,g++,,c++)
+
+ # Get the first line of the compiler's '--version' output and put
+ # that into the target (so we know want compiler was used).
ccinfo=$$(gcc --version | awk 'NR==1')
echo "C compiler (""$$ccinfo"")" > $@
else
- # We are building GCC, so to avoid any previous build in
- # '.local/bin', we'll delete all the files that GCC builds from
- # there.
+ # Mark the current directory.
current_dir=$$(pwd)
- rm -f $(ibdir)/gcc* $(ibdir)/g++ $(ibdir)/gfortran $(ibdir)/gcov*
- rm -rf $(ildir)/gcc $(ildir)/libcc* $(ildir)/libgcc*
- rm -rf $(ildir)/libgfortran* $(ildir)/libstdc* rm $(idir)/x86_64*
# We don't want '.local/lib' and '.local/lib64' to be separate.
ln -fs $(ildir) $(idir)/lib64
@@ -1398,6 +1441,7 @@ $(ibidir)/gcc-$(gcc-version): $(ibidir)/binutils-$(binutils-version)
# Set 'cc' to point to 'gcc'.
ln -sf $(ibdir)/gcc $(ibdir)/cc
+ ln -sf $(ibdir)/g++ $(ibdir)/c++
# Write the final target.
echo "GNU Compiler Collection (GCC) $(gcc-version)" > $@
diff --git a/reproduce/software/make/build-rules.mk b/reproduce/software/make/build-rules.mk
index 7471e5b..d50c301 100644
--- a/reproduce/software/make/build-rules.mk
+++ b/reproduce/software/make/build-rules.mk
@@ -44,7 +44,12 @@ import-source = final=$(tdir)/$$tarball; \
unchecked="$$final.unchecked"; \
rm -f "$$unchecked"; \
if [ -f $(DEPENDENCIES-DIR)/$$tarball ]; then \
- cp $(DEPENDENCIES-DIR)/$$tarball "$$unchecked"; \
+ if type realpath > /dev/null 2> /dev/null; then \
+ ln -sf "$$(realpath $(DEPENDENCIES-DIR)/$$tarball)" \
+ "$$unchecked"; \
+ else \
+ cp $(DEPENDENCIES-DIR)/$$tarball "$$unchecked"; \
+ fi; \
else \
if [ x"$$url" = x ]; then \
bservers="$(backupservers)"; \
@@ -70,7 +75,7 @@ import-source = final=$(tdir)/$$tarball; \
if [ x"$$checksum" = x"$$exp_checksum" ]; then \
mv "$$unchecked" "$$final"; \
else \
- echo "ERROR: Non-matching checksum for '$$tarball'."; \
+ echo "ERROR: Non-matching checksum: $$tarball"; \
echo "Checksum should be: $$exp_checksum"; \
echo "Checksum is: $$checksum"; \
exit 1; \
@@ -170,11 +175,21 @@ gbuild = if [ x$(static_build) = xyes ] && [ "x$(2)" = xstatic ]; then \
\
echo; echo "Using '$$confscript' to configure:"; echo; \
echo "$$confscript $(3) $$configop"; echo; \
- $$confscript $(3) $$configop; \
- make "$$shellop" $(4); \
- $$check; \
- make "$$shellop" install $(7); \
- cd ..; \
+ if [ x$$configure_in_different_directory = x1 ]; then \
+ mkdir build; \
+ cd build; \
+ ../$$confscript $(3) $$configop; \
+ make "$$shellop" $(4); \
+ $$check; \
+ make "$$shellop" install $(7); \
+ cd ../..; \
+ else \
+ $$confscript $(3) $$configop; \
+ make "$$shellop" $(4); \
+ $$check; \
+ make "$$shellop" install $(7); \
+ cd ..; \
+ fi; \
rm -rf $(1)
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index cf104e6..9f434bc 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -52,6 +52,7 @@ ildir = $(BDIR)/software/installed/lib
ibidir = $(BDIR)/software/installed/version-info/proglib
# Basic directories (specific to this Makefile).
+il64dir = $(BDIR)/software/installed/lib64
iidir = $(BDIR)/software/installed/include
shsrcdir = $(shell pwd)/reproduce/software/shell
dtexdir = $(shell pwd)/reproduce/software/bibtex
@@ -555,7 +556,7 @@ $(ibidir)/libidn-$(libidn-version):
$(call import-source, $(libidn-url), $(libidn-checksum))
$(call gbuild, libidn-$(libidn-version), static, \
--disable-doc, -j$(numthreads) V=1)
- echo "Libjpeg $(libjpeg-version)" > $@
+ echo "Libidn $(libidn-version)" > $@
$(ibidir)/libjpeg-$(libjpeg-version):
tarball=jpegsrc.$(libjpeg-version).tar.gz
@@ -640,7 +641,10 @@ $(ibidir)/openblas-$(openblas-version):
$(ibidir)/openmpi-$(openmpi-version):
tarball=openmpi-$(openmpi-version).tar.gz
$(call import-source, $(openmpi-url), $(openmpi-checksum))
- $(call gbuild, openmpi-$(openmpi-version), static, , \
+ $(call gbuild, openmpi-$(openmpi-version), static, \
+ --with-pmix=internal \
+ --with-hwloc=internal \
+ --without-verbs, \
-j$(numthreads) V=1)
echo "Open MPI $(openmpi-version)" > $@
@@ -759,8 +763,8 @@ $(ibidir)/libgit2-$(libgit2-version): $(ibidir)/cmake-$(cmake-version)
-DUSE_SSH=OFF -DBUILD_CLAR=OFF \
-DTHREADSAFE=ON -DUSE_ICONV=OFF )
if [ x$(on_mac_os) = xyes ]; then
- install_name_tool -id $(ildir)/libgit2.28.dylib \
- $(ildir)/libgit2.28.dylib
+ install_name_tool -id $(ildir)/libgit2.1.0.dylib \
+ $(ildir)/libgit2.1.0.dylib
fi
echo "Libgit2 $(libgit2-version)" > $@
@@ -781,8 +785,8 @@ $(ibidir)/wcslib-$(wcslib-version): $(ibidir)/cfitsio-$(cfitsio-version)
--with-cfitsioinc=$(idir)/include \
--without-pgplot $$fortranopt)
if [ x$(on_mac_os) = xyes ]; then
- install_name_tool -id $(ildir)/libwcs.6.4.dylib \
- $(ildir)/libwcs.6.4.dylib
+ install_name_tool -id $(ildir)/libwcs.7.3.dylib \
+ $(ildir)/libwcs.7.3.dylib
fi
echo "WCSLIB $(wcslib-version)" > $@
@@ -849,7 +853,7 @@ $(ibidir)/automake-$(automake-version): $(ibidir)/autoconf-$(autoconf-version)
echo "GNU Automake $(automake-version)" > $@
$(ibidir)/bison-$(bison-version): $(ibidir)/help2man-$(help2man-version)
- tarball=bison-$(bison-version).tar.xz
+ tarball=bison-$(bison-version).tar.lz
$(call import-source, $(bison-url), $(bison-checksum))
$(call gbuild, bison-$(bison-version), static, ,V=1 -j$(numthreads))
echo "GNU Bison $(bison-version)" > $@
@@ -912,6 +916,7 @@ $(ibidir)/flex-$(flex-version): $(ibidir)/bison-$(bison-version)
$(ibidir)/gdb-$(gdb-version): $(ibidir)/python-$(python-version)
tarball=gdb-$(gdb-version).tar.gz
+ export configure_in_different_directory=1;
$(call import-source, $(gdb-url), $(gdb-checksum))
$(call gbuild, gdb-$(gdb-version),,,V=1 -j$(numthreads))
echo "GNU Project Debugger (GDB) $(gdb-version)" > $@
@@ -1092,10 +1097,17 @@ $(ibidir)/minizip-$(minizip-version): $(ibidir)/automake-$(automake-version)
rm -rf $$unpackdir
echo "Minizip $(minizip-version)" > $@
+# The Astromatic software packages (including missfits, sextractor, swarp
+# and others) need the '-fcommon' flag to compile properly on GCC 10 and
+# after. Previous to GCC 10, it was the default, but from GCC 10, the
+# default is '-fno-common'. This is known by the author (as SExtractor
+# issue 12: https://github.com/astromatic/sextractor/issues/12) and will
+# hopefully be fixed in the future.
$(ibidir)/missfits-$(missfits-version):
tarball=missfits-$(missfits-version).tar.gz
$(call import-source, $(missfits-url), $(missfits-checksum))
- $(call gbuild, missfits-$(missfits-version), static)
+ $(call gbuild, missfits-$(missfits-version), static, \
+ CFLAGS="-fcommon")
cp $(dtexdir)/missfits.tex $(ictdir)/
echo "MissFITS $(missfits-version) \citep{missfits}" > $@
@@ -1159,11 +1171,25 @@ $(ibidir)/R-$(R-version): \
$(ibidir)/libpaper-$(libpaper-version)
tarball=R-$(R-version).tar.gz
$(call import-source, $(R-url), $(R-checksum))
+ cd $(ddir)
+ tar xf $(tdir)/$$tarball
+ cd R-$(R-version)
+ # We need to manually remove the lines with '~autodetect~', they
+ # cause the configure script to crash in version 4.0.2. They are
+ # used in relation to Java, and we don't use Java anyway.
+ sed -i -e '/\~autodetect\~/ s/^/#/g' configure
export R_SHELL=$(SHELL)
- $(call gbuild, R-$(R-version), static, \
- --without-x --with-readline \
- --disable-openmp, -j$(numthreads))
+ ./configure --prefix=$(idir) \
+ --without-x \
+ --with-pcre1 \
+ --disable-java \
+ --with-readline \
+ --disable-openmp
+ make -j$(numthreads)
+ make install
+ cd ..
+ rm -rf R-$(R-version)
echo "R $(R-version)" > $@
# SCAMP documentation says ATLAS is a mandatory prerequisite for using
@@ -1177,7 +1203,10 @@ $(ibidir)/scamp-$(scamp-version): \
$(ibidir)/cdsclient-$(cdsclient-version)
tarball=scamp-$(scamp-version).tar.lz
$(call import-source, $(scamp-url), $(scamp-checksum))
+
+ # See comment above 'missfits' for '-fcommon'.
$(call gbuild, scamp-$(scamp-version), static, \
+ CFLAGS="-fcommon" \
--enable-threads \
--enable-openblas \
--enable-plplot=no \
@@ -1205,13 +1234,20 @@ $(ibidir)/scons-$(scons-version): $(ibidir)/python-$(python-version)
# libraries. But we can override this issue since we have Openblas
# installed, it is just necessary to explicity tell sextractor to use it in
# the configuration step.
+#
+# The '-fcommon' is a necessary C compilation flag for GCC 10 and above. It
+# is necessary for astromatic libraries, otherwise their build will crash.
$(ibidir)/sextractor-$(sextractor-version): \
$(ibidir)/fftw-$(fftw-version) \
$(ibidir)/openblas-$(openblas-version)
tarball=sextractor-$(sextractor-version).tar.lz
$(call import-source, $(sextractor-url), $(sextractor-checksum))
+
+ # See comment above 'missfits' for '-fcommon'.
$(call gbuild, sextractor-$(sextractor-version), static, \
- --enable-threads --enable-openblas \
+ CFLAGS="-fcommon" \
+ --enable-threads \
+ --enable-openblas \
--with-openblas-libdir=$(ildir) \
--with-openblas-incdir=$(idir)/include)
ln -fs $(ibdir)/sex $(ibdir)/sextractor
@@ -1221,7 +1257,10 @@ $(ibidir)/sextractor-$(sextractor-version): \
$(ibidir)/swarp-$(swarp-version): $(ibidir)/fftw-$(fftw-version)
tarball=swarp-$(swarp-version).tar.gz
$(call import-source, $(swarp-url), $(swarp-checksum))
+
+ # See comment above 'missfits' for '-fcommon'.
$(call gbuild, swarp-$(swarp-version), static, \
+ CFLAGS="-fcommon" \
--enable-threads)
cp $(dtexdir)/swarp.tex $(ictdir)/
echo "SWarp $(swarp-version) \citep{swarp}" > $@
diff --git a/reproduce/software/make/python.mk b/reproduce/software/make/python.mk
index ccfbc72..d39208f 100644
--- a/reproduce/software/make/python.mk
+++ b/reproduce/software/make/python.mk
@@ -331,7 +331,7 @@ $(ipydir)/h5py-$(h5py-version): \
# and just ask for `healpy'. To avoid confusion in such cases, we'll just
# set `healpy' to be dependent on `healpix' and not download any tarball
# for it, or write anything in the final target.
-$(ipydir)/healpy-$(healpy-version): $(ibidir)/healpix-$(healpy-version)
+$(ipydir)/healpy-$(healpy-version): $(ibidir)/healpix-$(healpix-version)
touch $@
$(ipydir)/html5lib-$(html5lib-version): \
@@ -431,6 +431,7 @@ $(ipydir)/mpmath-$(mpmath-version): $(ipydir)/setuptools-$(setuptools-version)
$(ipydir)/numpy-$(numpy-version): \
$(ibidir)/unzip-$(unzip-version) \
+ $(ipydir)/cython-$(cython-version) \
$(ibidir)/openblas-$(openblas-version) \
$(ipydir)/setuptools-$(setuptools-version)
tarball=numpy-$(numpy-version).zip
@@ -528,7 +529,9 @@ $(ipydir)/requests-$(requests-version): $(ipydir)/idna-$(idna-version) \
$(call pybuild, tar xf, requests-$(requests-version), , \
Requests $(requests-version))
-$(ipydir)/scipy-$(scipy-version): $(ipydir)/numpy-$(numpy-version)
+$(ipydir)/scipy-$(scipy-version): \
+ $(ipydir)/numpy-$(numpy-version) \
+ $(ipydir)/pybind11-$(pybind11-version)
tarball=scipy-$(scipy-version).tar.gz
$(call import-source, $(scipy-url), $(scipy-checksum))
if [ x$(on_mac_os) = xyes ]; then
diff --git a/reproduce/software/make/xorg.mk b/reproduce/software/make/xorg.mk
index e3b1f71..f59fb04 100644
--- a/reproduce/software/make/xorg.mk
+++ b/reproduce/software/make/xorg.mk
@@ -15,6 +15,7 @@
# ------------------------------------------------------------------------
#
# Copyright (C) 2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+# Copyright (C) 2020 Raul Infante-Sainz <infantesainz@gmail.com>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by