summaryrefslogtreecommitdiff
path: root/U-Boot
diff options
context:
space:
mode:
authorkx <kx@radix.pro>2023-11-06 13:07:01 +0300
committerkx <kx@radix.pro>2023-11-06 13:07:01 +0300
commit627e896847ce9ec80327d95d64681628a32ac425 (patch)
treec5b6cfbec71d99837936f8abea26017ccab6d59c /U-Boot
parentcb2922a8bbea107d008d670b79e20ecc67cb9180 (diff)
downloadsources-627e896847ce9ec80327d95d64681628a32ac425.tar.xz
StarFive: u-boot tools
Diffstat (limited to 'U-Boot')
-rw-r--r--U-Boot/StarFive/Makefile3
-rw-r--r--U-Boot/StarFive/Tools/Makefile68
2 files changed, 70 insertions, 1 deletions
diff --git a/U-Boot/StarFive/Makefile b/U-Boot/StarFive/Makefile
index 28afe10..9ce3dbd 100644
--- a/U-Boot/StarFive/Makefile
+++ b/U-Boot/StarFive/Makefile
@@ -4,7 +4,8 @@
# $ tree -fid .
#
-SUBDIRS := opensbi \
+SUBDIRS := Tools \
+ opensbi \
u-boot
diff --git a/U-Boot/StarFive/Tools/Makefile b/U-Boot/StarFive/Tools/Makefile
new file mode 100644
index 0000000..5b21098
--- /dev/null
+++ b/U-Boot/StarFive/Tools/Makefile
@@ -0,0 +1,68 @@
+#
+# Project Home:
+# ============
+# https://github.com/starfive-tech/Tools.git
+#
+# Git Mirror:
+# ==========
+# https://git.radix.pro/starfive-tech/Tools.git
+#
+
+url = https://github.com/starfive-tech
+
+repo_name = Tools
+
+#
+# List of tags to be extracted (branch master):
+# ====================================================================
+#
+# hash | version
+# ----------------------------------------+---------
+revisions = 0747c0510e090f69bf7d2884f44903b77b3db5c5:20231107
+
+git_repo = .git_clone
+
+pkgname = tools
+suffix = tar.xz
+
+versions = $(foreach tag, $(revisions), $(shell echo $(tag) | cut -f 2 -d ':'))
+tarballs = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s = $(addsuffix .sha1sum, $(tarballs))
+
+TARGETS = repository_clean
+
+all: $(TARGETS)
+
+.PHONY: downloads_clean repository_clean
+
+$(git_repo):
+ @echo -e "\n======= Clone $(repo_name).git repository =======\n"
+ @rm -rf $(repo_name)
+ @git clone $(url)/$(repo_name).git $(repo_name)
+ @touch $@
+
+$(tarballs): $(git_repo)
+ @for revision in $(revisions) ; do \
+ hash=`echo $$revision | cut -f 1 -d ':'` ; \
+ version=`echo $$revision | cut -f 2 -d ':'` ; \
+ if [ ! -f $(pkgname)-$$version.$(suffix) ]; then \
+ echo -e "\n======= Creating '$(pkgname)-$$version.$(suffix)' snapshot =======" ; \
+ ( cd $(repo_name) && \
+ git archive --format=tar --prefix=$(pkgname)-$$version/ $$hash | \
+ xz >../$(pkgname)-$$version.$(suffix) ) ; \
+ fi ; \
+ done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+ @for tarball in $< ; do \
+ echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
+ sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+ done
+
+repository_clean: $(sha1s)
+ @echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
+ @rm -rf $(git_repo) $(repo_name)
+
+downloads_clean:
+ @rm -rf $(tarballs) $(sha1s)
+ @rm -rf $(git_repo) $(repo_name)