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
509 B
Makefile
25 lines
509 B
Makefile
#!/usr/bin/make
|
|
|
|
PKG = xfrm-proxy
|
|
SRC = http://git.codelabs.ch/git/$(PKG).git
|
|
REV = v0.1
|
|
|
|
export ADA_PROJECT_PATH=/usr/local/ada/lib/gnat
|
|
|
|
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
|
|
@rm -f .$(PKG)-built-* && touch $@
|
|
|
|
install: .$(PKG)-built-$(REV)
|
|
cd $(PKG) && make install
|