If we check out and build a certain revision of a dependency in a branch and switch to another that requires a different revision and then switch back, the previous approach installed the wrong revision as it would incorrectly assume the required revision was already built and ready to install.
25 lines
516 B
Makefile
25 lines
516 B
Makefile
#!/usr/bin/make
|
|
|
|
PKG = x509-ada
|
|
SRC = http://git.codelabs.ch/git/$(PKG).git
|
|
REV = v0.1.2
|
|
|
|
PREFIX = /usr/local/ada
|
|
|
|
all: install
|
|
|
|
.$(PKG)-cloned:
|
|
[ -d $(PKG) ] || git clone $(SRC) $(PKG)
|
|
@touch $@
|
|
|
|
.$(PKG)-checkout-$(REV): .$(PKG)-cloned
|
|
cd $(PKG) && git fetch && git checkout $(REV)
|
|
@rm -f .$(PKG)-checkout-* && touch $@
|
|
|
|
.$(PKG)-built-$(REV): .$(PKG)-checkout-$(REV)
|
|
cd $(PKG) && make tests && make
|
|
@rm -f .$(PKG)-built-* && touch $@
|
|
|
|
install: .$(PKG)-built-$(REV)
|
|
cd $(PKG) && make PREFIX=$(PREFIX) install
|