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://ninja-build.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/ninja-build/ninja
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/ninja-build/ninja.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/ninja-build
1d161c7b (kx 2023-04-07 10:08:13 +0300 16)
1d161c7b (kx 2023-04-07 10:08:13 +0300 17) repo_name = ninja
1d161c7b (kx 2023-04-07 10:08:13 +0300 18)
1d161c7b (kx 2023-04-07 10:08:13 +0300 19) #
1d161c7b (kx 2023-04-07 10:08:13 +0300 20) # List of tags to be extracted:
1d161c7b (kx 2023-04-07 10:08:13 +0300 21) # ============================
1d161c7b (kx 2023-04-07 10:08:13 +0300 22) # hash | tag
1d161c7b (kx 2023-04-07 10:08:13 +0300 23) # ----------------------------------------+-----
1d161c7b (kx 2023-04-07 10:08:13 +0300 24) revisions = b25c08bda4949192c69cea4cee057887341a2ffc:1.9.0
1d161c7b (kx 2023-04-07 10:08:13 +0300 25) revisions += ed7f67040b370189d989adbd60ff8ea29957231f:1.10.0
1d161c7b (kx 2023-04-07 10:08:13 +0300 26) revisions += e72d1d581c945c158ed68d9bc48911063022a2c6:1.10.2
1d161c7b (kx 2023-04-07 10:08:13 +0300 27) revisions += a524bf3f6bacd1b4ad85d719eed2737d8562f27a:1.11.1
1d161c7b (kx 2023-04-07 10:08:13 +0300 28)
1d161c7b (kx 2023-04-07 10:08:13 +0300 29) git_repo = .git_clone
1d161c7b (kx 2023-04-07 10:08:13 +0300 30)
1d161c7b (kx 2023-04-07 10:08:13 +0300 31) suffix = tar.xz
1d161c7b (kx 2023-04-07 10:08:13 +0300 32)
1d161c7b (kx 2023-04-07 10:08:13 +0300 33) versions = $(foreach tag, $(revisions), $(shell echo $(tag) | cut -f 2 -d ':'))
1d161c7b (kx 2023-04-07 10:08:13 +0300 34)
1d161c7b (kx 2023-04-07 10:08:13 +0300 35) tarballs = $(addsuffix .$(suffix), $(addprefix $(repo_name)-, $(versions)))
1d161c7b (kx 2023-04-07 10:08:13 +0300 36) sha1s = $(addsuffix .sha1sum, $(tarballs))
1d161c7b (kx 2023-04-07 10:08:13 +0300 37)
1d161c7b (kx 2023-04-07 10:08:13 +0300 38) TARGETS = repository_clean
1d161c7b (kx 2023-04-07 10:08:13 +0300 39)
1d161c7b (kx 2023-04-07 10:08:13 +0300 40) all: $(TARGETS)
1d161c7b (kx 2023-04-07 10:08:13 +0300 41)
1d161c7b (kx 2023-04-07 10:08:13 +0300 42) .PHONY: downloads_clean repository_clean
1d161c7b (kx 2023-04-07 10:08:13 +0300 43)
1d161c7b (kx 2023-04-07 10:08:13 +0300 44) $(git_repo):
1d161c7b (kx 2023-04-07 10:08:13 +0300 45) @echo -e "\n======= Clone $(repo_name).git repository =======\n"
1d161c7b (kx 2023-04-07 10:08:13 +0300 46) @rm -rf $(repo_name)
1d161c7b (kx 2023-04-07 10:08:13 +0300 47) @git clone $(url)/$(repo_name).git $(repo_name)
1d161c7b (kx 2023-04-07 10:08:13 +0300 48) @touch $@
1d161c7b (kx 2023-04-07 10:08:13 +0300 49)
1d161c7b (kx 2023-04-07 10:08:13 +0300 50) $(tarballs): $(git_repo)
1d161c7b (kx 2023-04-07 10:08:13 +0300 51) @for revision in $(revisions) ; do \
1d161c7b (kx 2023-04-07 10:08:13 +0300 52) hash=`echo $$revision | cut -f 1 -d ':'` ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 53) version=`echo $$revision | cut -f 2 -d ':'` ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 54) if [ ! -f $(repo_name)-$$version.$(suffix) ]; then \
1d161c7b (kx 2023-04-07 10:08:13 +0300 55) echo -e "\n======= Creating '$(repo_name)-$$version.$(suffix)' snapshot =======" ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 56) ( cd $(repo_name) && \
1d161c7b (kx 2023-04-07 10:08:13 +0300 57) git archive --format=tar --prefix=$(repo_name)-$$version/ $$hash | \
1d161c7b (kx 2023-04-07 10:08:13 +0300 58) xz >../$(repo_name)-$$version.$(suffix) ) ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 59) fi ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 60) done
1d161c7b (kx 2023-04-07 10:08:13 +0300 61)
1d161c7b (kx 2023-04-07 10:08:13 +0300 62) $(sha1s): %.$(suffix).sha1sum : %.$(suffix)
1d161c7b (kx 2023-04-07 10:08:13 +0300 63) @for tarball in $< ; do \
1d161c7b (kx 2023-04-07 10:08:13 +0300 64) echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 65) sha1sum --binary $$tarball > $$tarball.sha1sum ; \
1d161c7b (kx 2023-04-07 10:08:13 +0300 66) done
1d161c7b (kx 2023-04-07 10:08:13 +0300 67)
1d161c7b (kx 2023-04-07 10:08:13 +0300 68) repository_clean: $(sha1s)
1d161c7b (kx 2023-04-07 10:08:13 +0300 69) @echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
1d161c7b (kx 2023-04-07 10:08:13 +0300 70) @rm -rf $(git_repo) $(repo_name)
1d161c7b (kx 2023-04-07 10:08:13 +0300 71)
1d161c7b (kx 2023-04-07 10:08:13 +0300 72) downloads_clean:
1d161c7b (kx 2023-04-07 10:08:13 +0300 73) @rm -rf $(tarballs) $(sha1s)
1d161c7b (kx 2023-04-07 10:08:13 +0300 74) @rm -rf $(git_repo) $(repo_name)