testing: Avoid unnecessary rebuilds of components built from Git repos

Installing apparently changes the timestamp on the repo dir triggering make
to checkout and build the whole thing again.
This commit is contained in:
Tobias Brunner 2018-09-14 17:19:55 +02:00
parent 3a4372c1eb
commit 67fd36e884
7 changed files with 35 additions and 28 deletions

View File

@ -8,14 +8,15 @@ PREFIX = /usr/local/ada
all: install all: install
$(PKG): .$(PKG)-cloned:
git clone $(SRC) $(PKG) [ -d $(PKG) ] || git clone $(SRC) $(PKG)
@touch $@
.$(PKG)-cloned-$(REV): $(PKG) .$(PKG)-checkout-$(REV): .$(PKG)-cloned
cd $(PKG) && git fetch && git checkout $(REV) cd $(PKG) && git fetch && git checkout $(REV)
@touch $@ @touch $@
.$(PKG)-built-$(REV): .$(PKG)-cloned-$(REV) .$(PKG)-built-$(REV): .$(PKG)-checkout-$(REV)
cd $(PKG) && make LIBRARY_KIND=static cd $(PKG) && make LIBRARY_KIND=static
@touch $@ @touch $@

View File

@ -10,14 +10,15 @@ export ADA_PROJECT_PATH=$(PREFIX)/lib/gnat
all: install all: install
$(PKG): .$(PKG)-cloned:
git clone $(SRC) $(PKG) [ -d $(PKG) ] || git clone $(SRC) $(PKG)
@touch $@
.$(PKG)-cloned-$(REV): $(PKG) .$(PKG)-checkout-$(REV): .$(PKG)-cloned
cd $(PKG) && git fetch && git checkout $(REV) cd $(PKG) && git fetch && git checkout $(REV)
@touch $@ @touch $@
.$(PKG)-built-$(REV): .$(PKG)-cloned-$(REV) .$(PKG)-built-$(REV): .$(PKG)-checkout-$(REV)
cd $(PKG) && make cd $(PKG) && make
@touch $@ @touch $@

View File

@ -8,14 +8,15 @@ PREFIX = /usr/local/ada
all: install all: install
$(PKG): .$(PKG)-cloned:
git clone $(SRC) $(PKG) [ -d $(PKG) ] || git clone $(SRC) $(PKG)
@touch $@
.$(PKG)-cloned-$(REV): $(PKG) .$(PKG)-checkout-$(REV): .$(PKG)-cloned
cd $(PKG) && git fetch && git checkout $(REV) cd $(PKG) && git fetch && git checkout $(REV)
@touch $@ @touch $@
.$(PKG)-built-$(REV): .$(PKG)-cloned-$(REV) .$(PKG)-built-$(REV): .$(PKG)-checkout-$(REV)
cd $(PKG) && make tests && make cd $(PKG) && make tests && make
@touch $@ @touch $@

View File

@ -10,14 +10,15 @@ export ADA_PROJECT_PATH=$(PREFIX)/lib/gnat
all: install all: install
$(PKG): .$(PKG)-cloned:
git clone $(SRC) $(PKG) [ -d $(PKG) ] || git clone $(SRC) $(PKG)
@touch $@
.$(PKG)-cloned-$(REV): $(PKG) .$(PKG)-checkout-$(REV): .$(PKG)-cloned
cd $(PKG) && git fetch && git checkout $(REV) cd $(PKG) && git fetch && git checkout $(REV)
@touch $@ @touch $@
.$(PKG)-built-$(REV): .$(PKG)-cloned-$(REV) .$(PKG)-built-$(REV): .$(PKG)-checkout-$(REV)
cd $(PKG) && make cd $(PKG) && make
@touch $@ @touch $@

View File

@ -8,14 +8,15 @@ export ADA_PROJECT_PATH=/usr/local/ada/lib/gnat
all: install all: install
$(PKG): .$(PKG)-cloned:
git clone $(SRC) $(PKG) [ -d $(PKG) ] || git clone $(SRC) $(PKG)
@touch $@
.$(PKG)-cloned-$(REV): $(PKG) .$(PKG)-checkout-$(REV): .$(PKG)-cloned
cd $(PKG) && git fetch && git checkout $(REV) cd $(PKG) && git fetch && git checkout $(REV)
@touch $@ @touch $@
.$(PKG)-built-$(REV): .$(PKG)-cloned-$(REV) .$(PKG)-built-$(REV): .$(PKG)-checkout-$(REV)
cd $(PKG) && make cd $(PKG) && make
@touch $@ @touch $@

View File

@ -8,14 +8,15 @@ export ADA_PROJECT_PATH=/usr/local/ada/lib/gnat
all: install all: install
$(PKG): .$(PKG)-cloned:
git clone $(SRC) $(PKG) [ -d $(PKG) ] || git clone $(SRC) $(PKG)
@touch $@
.$(PKG)-cloned-$(REV): $(PKG) .$(PKG)-checkout-$(REV): .$(PKG)-cloned
cd $(PKG) && git fetch && git checkout $(REV) cd $(PKG) && git fetch && git checkout $(REV)
@touch $@ @touch $@
.$(PKG)-built-$(REV): .$(PKG)-cloned-$(REV) .$(PKG)-built-$(REV): .$(PKG)-checkout-$(REV)
cd $(PKG) && make cd $(PKG) && make
@touch $@ @touch $@

View File

@ -15,14 +15,15 @@ CONFIG_OPTS = \
all: install all: install
$(PKG): .$(PKG)-cloned:
git clone $(SRC) $(PKG) [ -d $(PKG) ] || git clone $(SRC) $(PKG)
@touch $@
.$(PKG)-cloned-$(REV): $(PKG) .$(PKG)-checkout-$(REV): .$(PKG)-cloned
cd $(PKG) && git fetch && git checkout $(REV) cd $(PKG) && git fetch && git checkout $(REV)
@touch $@ @touch $@
.$(PKG)-built-$(REV): .$(PKG)-cloned-$(REV) .$(PKG)-built-$(REV): .$(PKG)-checkout-$(REV)
cd $(PKG) && python ./configure.py $(CONFIG_OPTS) && make -j $(NUM_CPUS) cd $(PKG) && python ./configure.py $(CONFIG_OPTS) && make -j $(NUM_CPUS)
@touch $@ @touch $@