star-build

Automation tool for project installation
git clone git://git.meso-star.fr/star-build.git
Log | Files | Refs | README | LICENSE

git.mk.in (1529B)


      1 @NAME@: build_@NAME@ prefix @NAME@_src
      2 	@prefix=$$(cat .prefix) &&\
      3 	cd -- "$(CACHE)/@NAME@/@TAG@" &&\
      4 	$(MAKE) PREFIX="$${prefix}" @OPT@ install
      5 
      6 # Delete the dependency file to force their regeneration. This is necessary
      7 # because the .prefix file may have been updated and therefore the dependency
      8 # files may be outdated.
      9 build_@NAME@: @DEP@ fetch_@NAME@ prefix
     10 	@cd -- "$(CACHE)/@NAME@/@TAG@" &&\
     11 	rm -f $$(find src -name "*.d") &&\
     12 	$(MAKE) @OPT@
     13 
     14 $(CACHE)/@NAME@/@TAG@:
     15 	git clone @URL@ "$@"
     16 
     17 $(CACHE)/@NAME@/@TAG@/@NAME@.tar: fetch_@NAME@
     18 	cd -- $(CACHE)/@NAME@/@TAG@ && \
     19 	git archive --format=tar --prefix=@NAME@/ -o @NAME@.tar HEAD
     20 
     21 @NAME@_src: $(CACHE)/@NAME@/@TAG@/@NAME@.tar prefix
     22 	prefix=$$(cat .prefix) && \
     23 	mkdir -p "$${prefix}"/src && \
     24 	tar -C"$${prefix}"/src -xvf $(CACHE)/@NAME@/@TAG@/@NAME@.tar
     25 
     26 fetch_@NAME@: $(CACHE)/@NAME@/@TAG@
     27 	@cd -- "$(CACHE)/@NAME@/@TAG@" &&\
     28 	git fetch origin &&\
     29 	git checkout -B star-build &&\
     30 	git reset --hard @TAG@
     31 
     32 clean_@NAME@:
     33 	@if [ -d "$(CACHE)/@NAME@/@TAG@" ]; then\
     34 		cd -- "$(CACHE)/@NAME@/@TAG@" && $(MAKE) clean;\
     35 	fi
     36 
     37 uninstall_@NAME@: fetch_@NAME@ prefix
     38 	@prefix=$$(cat .prefix) &&\
     39 	cd -- "$(CACHE)/@NAME@/@TAG@" && \
     40 	$(MAKE) PREFIX="$${prefix}" uninstall
     41 
     42 mirror_@NAME@:
     43 	repo="$$(echo "@URL@" | sed 's/[\/]\{0,\}$$//g')" && \
     44 	repo="$(MIRROR)/$${repo##*/}" && \
     45 	rm -rf "$${repo}" && \
     46 	git clone --bare --branch @TAG@ $(MIRROR_GIT_OPT) @URL@ "$${repo}"
     47 
     48 clean_all: clean_@NAME@
     49 install_all: @NAME@
     50 uninstall_all: uninstall_@NAME@
     51 mirror_all: mirror_@NAME@