Radix cross Linux 3pp sources

RcL sources – is a tree of Third Party and Radix source tarballs

343 Commits   0 Branches   0 Tags
author: kx <kx@radix.pro> 2023-04-06 16:08:32 +0300 committer: kx <kx@radix.pro> 2023-04-06 16:08:32 +0300 commit: c9b87548f19c4323592abff0a86bc1dac45658f0 parent: 8d07317ed20e7544501edfcc9894d5002fd1771d
Commit Summary:
GNU packages
Diffstat:
36 files changed, 1017 insertions, 0 deletions
diff --git a/GNU/gcc/Makefile b/GNU/gcc/Makefile
new file mode 100644
index 0000000..0b52154
--- /dev/null
+++ b/GNU/gcc/Makefile
@@ -0,0 +1,57 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := gcc-2.95.3 \
+           gcc-4.5.1  \
+           gcc-4.7.2  \
+           gcc-4.7.3  \
+           gcc-4.8.2  \
+           gcc-4.8.5  \
+           gcc-4.9.1  \
+           gcc-4.9.2  \
+           gcc-4.9.3  \
+           gcc-4.9.4  \
+           gcc-5.2.0  \
+           gcc-5.3.0  \
+           gcc-5.4.0  \
+           gcc-6.2.0  \
+           gcc-6.3.0  \
+           gcc-6.4.0  \
+           gcc-6.5.0  \
+           gcc-7.1.0  \
+           gcc-7.2.0  \
+           gcc-7.3.0  \
+           gcc-7.4.0  \
+           gcc-7.5.0  \
+           gcc-8.2.0  \
+           gcc-8.3.0  \
+           gcc-8.4.0  \
+           gcc-9.2.0  \
+           gcc-9.3.0  \
+           gcc-10.2.0 \
+           gcc-10.3.0 \
+           gcc-10.4.0 \
+           gcc-11.1.0 \
+           gcc-11.2.0 \
+           gcc-11.3.0 \
+           gcc-12.2.0
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/GNU/gcc/gcc-10.2.0/Makefile b/GNU/gcc/gcc-10.2.0/Makefile
new file mode 100644
index 0000000..96f39d4
--- /dev/null
+++ b/GNU/gcc/gcc-10.2.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 10.2.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-10.3.0/Makefile b/GNU/gcc/gcc-10.3.0/Makefile
new file mode 100644
index 0000000..dc35936
--- /dev/null
+++ b/GNU/gcc/gcc-10.3.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 10.3.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-10.4.0/Makefile b/GNU/gcc/gcc-10.4.0/Makefile
new file mode 100644
index 0000000..9df6305
--- /dev/null
+++ b/GNU/gcc/gcc-10.4.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 10.4.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-11.1.0/Makefile b/GNU/gcc/gcc-11.1.0/Makefile
new file mode 100644
index 0000000..5b5200d
--- /dev/null
+++ b/GNU/gcc/gcc-11.1.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 11.1.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-11.2.0/Makefile b/GNU/gcc/gcc-11.2.0/Makefile
new file mode 100644
index 0000000..aa5b3c4
--- /dev/null
+++ b/GNU/gcc/gcc-11.2.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 11.2.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-11.3.0/Makefile b/GNU/gcc/gcc-11.3.0/Makefile
new file mode 100644
index 0000000..d59fa43
--- /dev/null
+++ b/GNU/gcc/gcc-11.3.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 11.3.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-12.2.0/Makefile b/GNU/gcc/gcc-12.2.0/Makefile
new file mode 100644
index 0000000..ca5a8a7
--- /dev/null
+++ b/GNU/gcc/gcc-12.2.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 12.2.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-2.95.3/Makefile b/GNU/gcc/gcc-2.95.3/Makefile
new file mode 100644
index 0000000..fd06ada
--- /dev/null
+++ b/GNU/gcc/gcc-2.95.3/Makefile
@@ -0,0 +1,34 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 2.95.3
+
+tarballs    = $(addsuffix .tar.gz, $(addprefix gcc-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version.tar.gz ; \
+	done
+
+$(sha1s): %.tar.gz.sha1sum : %.tar.gz
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.5.1/Makefile b/GNU/gcc/gcc-4.5.1/Makefile
new file mode 100644
index 0000000..c175c8c
--- /dev/null
+++ b/GNU/gcc/gcc-4.5.1/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.5.1
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.7.2/Makefile b/GNU/gcc/gcc-4.7.2/Makefile
new file mode 100644
index 0000000..3ca6e86
--- /dev/null
+++ b/GNU/gcc/gcc-4.7.2/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.7.2
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.7.2/NOTE.TXT b/GNU/gcc/gcc-4.7.2/NOTE.TXT
new file mode 100644
index 0000000..88764fb
--- /dev/null
+++ b/GNU/gcc/gcc-4.7.2/NOTE.TXT
@@ -0,0 +1,27 @@
+
+Do not use 4.8.0 host compiler to build gcc-4.7.2 because of build error
+========================================================================
+
+[see: http://gcc.gnu.org/@/bugzilla/show_bug.cgi?id=56927]
+
+Bug 56927 - 4.7.2 build ICEs when built with 4.8.0 and --disable-bootstrap
+--------------------------------------------------------------------------
+
+Segher Boessenkool 2013-04-11 19:17:26 UTC
+
+  When using a 4.8.0 host compiler and configuring with --disable-bootstrap,
+  a build of 4.7.2 fails with
+
+  /home/segher/src/gcc-4.7.2/libgcc/libgcc2.c: In function '__absvdi2':
+  /home/segher/src/gcc-4.7.2/libgcc/libgcc2.c:273:1: internal compiler error: Segmentation fault
+
+  There is no such error if the host compiler is 4.4 or 4.7, or without
+  --disable-bootstrap; it does have the error if doing a cross to i386-elf.
+  I haven't tested with tip-of-tree of either 4.7 or 4.8 or on different
+  architectures.
+
+Segher Boessenkool 2013-04-12 00:15:26 UTC
+
+  Hey, 4.7.3 didn't exist yet :-)
+
+  Confirmed fixed.
diff --git a/GNU/gcc/gcc-4.7.3/Makefile b/GNU/gcc/gcc-4.7.3/Makefile
new file mode 100644
index 0000000..f0d8724
--- /dev/null
+++ b/GNU/gcc/gcc-4.7.3/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.7.3
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.8.2/Makefile b/GNU/gcc/gcc-4.8.2/Makefile
new file mode 100644
index 0000000..670fb05
--- /dev/null
+++ b/GNU/gcc/gcc-4.8.2/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.8.2
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.8.5/Makefile b/GNU/gcc/gcc-4.8.5/Makefile
new file mode 100644
index 0000000..def3ecf
--- /dev/null
+++ b/GNU/gcc/gcc-4.8.5/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.8.5
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.9.1/Makefile b/GNU/gcc/gcc-4.9.1/Makefile
new file mode 100644
index 0000000..95cc9b1
--- /dev/null
+++ b/GNU/gcc/gcc-4.9.1/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.9.1
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.9.2/Makefile b/GNU/gcc/gcc-4.9.2/Makefile
new file mode 100644
index 0000000..9a9f9b0
--- /dev/null
+++ b/GNU/gcc/gcc-4.9.2/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.9.2
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.9.3/Makefile b/GNU/gcc/gcc-4.9.3/Makefile
new file mode 100644
index 0000000..183672b
--- /dev/null
+++ b/GNU/gcc/gcc-4.9.3/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.9.3
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-4.9.4/Makefile b/GNU/gcc/gcc-4.9.4/Makefile
new file mode 100644
index 0000000..cb1f0d1
--- /dev/null
+++ b/GNU/gcc/gcc-4.9.4/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 4.9.4
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-5.2.0/Makefile b/GNU/gcc/gcc-5.2.0/Makefile
new file mode 100644
index 0000000..4736f4e
--- /dev/null
+++ b/GNU/gcc/gcc-5.2.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 5.2.0
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-5.3.0/Makefile b/GNU/gcc/gcc-5.3.0/Makefile
new file mode 100644
index 0000000..12fc53b
--- /dev/null
+++ b/GNU/gcc/gcc-5.3.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 5.3.0
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-5.4.0/Makefile b/GNU/gcc/gcc-5.4.0/Makefile
new file mode 100644
index 0000000..d13fa6d
--- /dev/null
+++ b/GNU/gcc/gcc-5.4.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 5.4.0
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-6.2.0/Makefile b/GNU/gcc/gcc-6.2.0/Makefile
new file mode 100644
index 0000000..7d4b2d1
--- /dev/null
+++ b/GNU/gcc/gcc-6.2.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 6.2.0
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-6.3.0/Makefile b/GNU/gcc/gcc-6.3.0/Makefile
new file mode 100644
index 0000000..5ebf1c2
--- /dev/null
+++ b/GNU/gcc/gcc-6.3.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 6.3.0
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-6.4.0/Makefile b/GNU/gcc/gcc-6.4.0/Makefile
new file mode 100644
index 0000000..5f20adc
--- /dev/null
+++ b/GNU/gcc/gcc-6.4.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 6.4.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-6.5.0/Makefile b/GNU/gcc/gcc-6.5.0/Makefile
new file mode 100644
index 0000000..f2778a6
--- /dev/null
+++ b/GNU/gcc/gcc-6.5.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 6.5.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-7.1.0/Makefile b/GNU/gcc/gcc-7.1.0/Makefile
new file mode 100644
index 0000000..1d65cec
--- /dev/null
+++ b/GNU/gcc/gcc-7.1.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 7.1.0
+
+pkgname     = gcc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-7.2.0/Makefile b/GNU/gcc/gcc-7.2.0/Makefile
new file mode 100644
index 0000000..9788553
--- /dev/null
+++ b/GNU/gcc/gcc-7.2.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 7.2.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-7.3.0/Makefile b/GNU/gcc/gcc-7.3.0/Makefile
new file mode 100644
index 0000000..1a8af04
--- /dev/null
+++ b/GNU/gcc/gcc-7.3.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 7.3.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-7.4.0/Makefile b/GNU/gcc/gcc-7.4.0/Makefile
new file mode 100644
index 0000000..fe19eba
--- /dev/null
+++ b/GNU/gcc/gcc-7.4.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 7.4.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-7.5.0/Makefile b/GNU/gcc/gcc-7.5.0/Makefile
new file mode 100644
index 0000000..7201e9c
--- /dev/null
+++ b/GNU/gcc/gcc-7.5.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 7.5.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-8.2.0/Makefile b/GNU/gcc/gcc-8.2.0/Makefile
new file mode 100644
index 0000000..ab4bae3
--- /dev/null
+++ b/GNU/gcc/gcc-8.2.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 8.2.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-8.3.0/Makefile b/GNU/gcc/gcc-8.3.0/Makefile
new file mode 100644
index 0000000..f9161ba
--- /dev/null
+++ b/GNU/gcc/gcc-8.3.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 8.3.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-8.4.0/Makefile b/GNU/gcc/gcc-8.4.0/Makefile
new file mode 100644
index 0000000..475631f
--- /dev/null
+++ b/GNU/gcc/gcc-8.4.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 8.4.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-9.2.0/Makefile b/GNU/gcc/gcc-9.2.0/Makefile
new file mode 100644
index 0000000..0ec08d0
--- /dev/null
+++ b/GNU/gcc/gcc-9.2.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 9.2.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/GNU/gcc/gcc-9.3.0/Makefile b/GNU/gcc/gcc-9.3.0/Makefile
new file mode 100644
index 0000000..86dd414
--- /dev/null
+++ b/GNU/gcc/gcc-9.3.0/Makefile
@@ -0,0 +1,37 @@
+#
+# https://gcc.gnu.org
+#
+# You can use the generic url https://ftpmirror.gnu.org 
+# to automatically choose a nearby and up-to-date mirror.
+#
+# original url: https://ftp.gnu.org/gnu/gcc/gcc-$(version)
+#
+
+url         = https://ftp.gnu.org/gnu/gcc
+
+versions    = 9.3.0
+
+pkgname     = gcc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  wget -N $(url)/gcc-$$version/gcc-$$version.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)