1d161c7b (kx 2023-04-07 10:08:13 +0300 1) #
1d161c7b (kx 2023-04-07 10:08:13 +0300 2) # Project Home:
1d161c7b (kx 2023-04-07 10:08:13 +0300 3) # ============
1d161c7b (kx 2023-04-07 10:08:13 +0300 4) # https://llvm.org
1d161c7b (kx 2023-04-07 10:08:13 +0300 5) #
1d161c7b (kx 2023-04-07 10:08:13 +0300 6) # GitHub:
1d161c7b (kx 2023-04-07 10:08:13 +0300 7) # ======
1d161c7b (kx 2023-04-07 10:08:13 +0300 8) # https://github.com/llvm/llvm-project
1d161c7b (kx 2023-04-07 10:08:13 +0300 9) #
1d161c7b (kx 2023-04-07 10:08:13 +0300 10) # Clone:
1d161c7b (kx 2023-04-07 10:08:13 +0300 11) # =====
1d161c7b (kx 2023-04-07 10:08:13 +0300 12) # https://github.com/llvm/llvm-project.git
1d161c7b (kx 2023-04-07 10:08:13 +0300 13) #
1d161c7b (kx 2023-04-07 10:08:13 +0300 14)
1d161c7b (kx 2023-04-07 10:08:13 +0300 15) url = https://github.com/llvm
1d161c7b (kx 2023-04-07 10:08:13 +0300 16)
1d161c7b (kx 2023-04-07 10:08:13 +0300 17) repo_name = llvm-project
1d161c7b (kx 2023-04-07 10:08:13 +0300 18) pkg_name = llvm
1d161c7b (kx 2023-04-07 10:08:13 +0300 19)
1d161c7b (kx 2023-04-07 10:08:13 +0300 20) #
1d161c7b (kx 2023-04-07 10:08:13 +0300 21) # List of tags to be extracted:
1d161c7b (kx 2023-04-07 10:08:13 +0300 22) # ============================
1d161c7b (kx 2023-04-07 10:08:13 +0300 23) # hash | tag
1d161c7b (kx 2023-04-07 10:08:13 +0300 24) # ----------------------------------------+-----
1d161c7b (kx 2023-04-07 10:08:13 +0300 25) revisions = 1fdec59bffc11ae37eb51a1b9869f0696bfd5312:11.1.0
1d161c7b (kx 2023-04-07 10:08:13 +0300 26) revisions += d28af7c654d8db0b68c175db5ce212d74fb5e9bc:12.0.0
1d161c7b (kx 2023-04-07 10:08:13 +0300 27) revisions += fed41342a82f5a3a9201819a82bf7a48313e296b:12.0.1
1d161c7b (kx 2023-04-07 10:08:13 +0300 28) revisions += d7b669b3a30345cfcdb2fde2af6f48aa4b94845d:13.0.0
1d161c7b (kx 2023-04-07 10:08:13 +0300 29) revisions += 5c68a1cb123161b54b72ce90e7975d95a8eaf2a4:15.0.4
1d161c7b (kx 2023-04-07 10:08:13 +0300 30) revisions += 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a:15.0.7
1d161c7b (kx 2023-04-07 10:08:13 +0300 31) revisions += cd89023f797900e4492da58b7bed36f702120011:16.0.1
1ab2f5a9 (kx 2023-05-01 17:35:53 +0300 32) revisions += 18ddebe1a1a9bde349441631365f0472e9693520:16.0.2
72dd6a8a (kx 2024-02-23 02:17:10 +0300 33) revisions += 6009708b4367171ccdbf4b5905cb6a803753fe18:17.0.6
8af4e40c (kx 2024-09-09 12:57:51 +0300 34) revisions += 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff:18.1.8
338fbc36 (kx 2025-02-19 11:00:27 +0300 35) revisions += cd708029e0b2869e80abe31ddb175f7c35361f90:19.1.7
1d161c7b (kx 2023-04-07 10:08:13 +0300 36)
1d161c7b (kx 2023-04-07 10:08:13 +0300 37) git_repo = .git_clone
1d161c7b (kx 2023-04-07 10:08:13 +0300 38)
1d161c7b (kx 2023-04-07 10:08:13 +0300 39) suffix = tar.xz
1d161c7b (kx 2023-04-07 10:08:13 +0300 40)
1d161c7b (kx 2023-04-07 10:08:13 +0300 41) versions = $(foreach tag, $(revisions), $(shell echo $(tag) | cut -f 2 -d ':'))
1d161c7b (kx 2023-04-07 10:08:13 +0300 42)
1d161c7b (kx 2023-04-07 10:08:13 +0300 43) tarballs = $(addsuffix .$(suffix), $(addprefix $(pkg_name)-, $(versions)))
1d161c7b (kx 2023-04-07 10:08:13 +0300 44) sha1s = $(addsuffix .sha1sum, $(tarballs))
1d161c7b (kx 2023-04-07 10:08:13 +0300 45)
1d161c7b (kx 2023-04-07 10:08:13 +0300 46) TARGETS = repository_clean
1d161c7b (kx 2023-04-07 10:08:13 +0300 47)
1d161c7b (kx 2023-04-07 10:08:13 +0300 48) all: $(TARGETS)
1d161c7b (kx 2023-04-07 10:08:13 +0300 49)
1d161c7b (kx 2023-04-07 10:08:13 +0300 50) .PHONY: downloads_clean repository_clean
1d161c7b (kx 2023-04-07 10:08:13 +0300 51)
1d161c7b (kx 2023-04-07 10:08:13 +0300 52) $(git_repo):
1d161c7b (kx 2023-04-07 10:08:13 +0300 53) @echo -e "\n======= Clone $(repo_name).git repository =======\n"
1d161c7b (kx 2023-04-07 10:08:13 +0300 54) @rm -rf $(repo_name)
1d161c7b (kx 2023-04-07 10:08:13 +0300 55) @git clone $(url)/$(repo_name).git $(repo_name)
1d161c7b (kx 2023-04-07 10:08:13 +0300 56) @touch $@
1d161c7b (kx 2023-04-07 10:08:13 +0300 57)
1d161c7b (kx 2023-04-07 10:08:13 +0300 58) $(tarballs): $(git_repo)
1d161c7b (kx 2023-04-07 10:08:13 +0300 59) @for revision in $(revisions) ; do \
1d161c7b (kx 2023-04-07 10:08:13 +0300 60) hash=`echo $$revision | cut -f 1 -d ':'` ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 61) version=`echo $$revision | cut -f 2 -d ':'` ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 62) if [ ! -f $(repo_name)-$$version.$(suffix) ]; then \
1d161c7b (kx 2023-04-07 10:08:13 +0300 63) echo -e "\n======= Creating '$(pkg_name)-$$version.$(suffix)' snapshot =======" ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 64) ( cd $(repo_name) && \
1d161c7b (kx 2023-04-07 10:08:13 +0300 65) git archive --format=tar --prefix=$(pkg_name)-$$version/ $$hash | \
1d161c7b (kx 2023-04-07 10:08:13 +0300 66) xz >../$(pkg_name)-$$version.$(suffix) ) ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 67) fi ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 68) done
1d161c7b (kx 2023-04-07 10:08:13 +0300 69)
1d161c7b (kx 2023-04-07 10:08:13 +0300 70) $(sha1s): %.$(suffix).sha1sum : %.$(suffix)
1d161c7b (kx 2023-04-07 10:08:13 +0300 71) @for tarball in $< ; do \
1d161c7b (kx 2023-04-07 10:08:13 +0300 72) echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 73) sha1sum --binary $$tarball > $$tarball.sha1sum ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 74) done
1d161c7b (kx 2023-04-07 10:08:13 +0300 75)
1d161c7b (kx 2023-04-07 10:08:13 +0300 76) repository_clean: $(sha1s)
1d161c7b (kx 2023-04-07 10:08:13 +0300 77) @echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
1d161c7b (kx 2023-04-07 10:08:13 +0300 78) @rm -rf $(git_repo) $(repo_name)
1d161c7b (kx 2023-04-07 10:08:13 +0300 79)
1d161c7b (kx 2023-04-07 10:08:13 +0300 80) downloads_clean:
1d161c7b (kx 2023-04-07 10:08:13 +0300 81) @rm -rf $(tarballs) $(sha1s)
1d161c7b (kx 2023-04-07 10:08:13 +0300 82) @rm -rf $(git_repo) $(repo_name)