Makefile: Remove dependencies on a non-generated files

Since image targets are all "phony", they are always consider out-of-date
and will always be rebuilt. This means there is no need to add an explicit
dependency on non-generated files like  "Dockerfile", "settings.mk" and
"test/run.py".

The only required dependencies on Dockerfile are the one for the "base"
and "manylinux" images.

To confirm that the Makefiles works as expected after this patch, the
list of executed commands before and after is compared:

Before:

```
make --dry-run > ../dockcross-make-baseline
make test --dry-run > ../dockcross-make-test-baseline
```

After:

```
make --dry-run > ../dockcross-make-current;
make test --dry-run > ../dockcross-make-test-current

for target in make make-test; do
  diff ../dockcross-$target-current ../dockcross-$target-baseline > /dev/null 2>&1
  [[ $? == 1 ]] && \
    echo "" && \
    echo "Error: Problem with '${target}' target: Dry-run output before and after this commit do not match."
done
```
This commit is contained in:
Jean-Christophe Fillion-Robin 2016-09-25 15:44:22 -04:00
parent caba0b0cef
commit 2a12475d36
No known key found for this signature in database
GPG Key ID: 15C1A2812F958BD3

View File

@ -7,68 +7,68 @@ images: base $(IMAGES)
test: base.test $(addsuffix .test,$(IMAGES))
android-arm: base android-arm/Dockerfile
android-arm: base
$(DOCKER) build -t $(ORG)/android-arm android-arm
android-arm.test: android-arm test/run.py
android-arm.test: android-arm
$(DOCKER) run --rm dockcross/android-arm > $(BIN)/dockcross-android-arm && chmod +x $(BIN)/dockcross-android-arm
$(BIN)/dockcross-android-arm python test/run.py
browser-asmjs: base browser-asmjs/Dockerfile
browser-asmjs: base
cp -r test browser-asmjs/
$(DOCKER) build -t $(ORG)/browser-asmjs browser-asmjs
rm -rf browser-asmjs/test
browser-asmjs.test: browser-asmjs test/run.py
browser-asmjs.test: browser-asmjs
$(DOCKER) run --rm dockcross/browser-asmjs > $(BIN)/dockcross-browser-asmjs && chmod +x $(BIN)/dockcross-browser-asmjs
$(BIN)/dockcross-browser-asmjs python test/run.py --exe-suffix ".js"
linux-x86: base linux-x86/Dockerfile
linux-x86: base
$(DOCKER) build -t $(ORG)/linux-x86 linux-x86
linux-x86.test: linux-x86 test/run.py
linux-x86.test: linux-x86
$(DOCKER) run --rm dockcross/linux-x86 > $(BIN)/dockcross-linux-x86 && chmod +x $(BIN)/dockcross-linux-x86
$(BIN)/dockcross-linux-x86 python test/run.py
linux-x64: base linux-x64/Dockerfile
linux-x64: base
$(DOCKER) build -t $(ORG)/linux-x64 linux-x64
linux-x64.test: linux-x64 test/run.py
linux-x64.test: linux-x64
$(DOCKER) run --rm dockcross/linux-x64 > $(BIN)/dockcross-linux-x64 && chmod +x $(BIN)/dockcross-linux-x64
$(BIN)/dockcross-linux-x64 python test/run.py
linux-arm64: base linux-arm64/Dockerfile
linux-arm64: base
$(DOCKER) build -t $(ORG)/linux-arm64 linux-arm64
linux-arm64.test: linux-arm64 test/run.py
linux-arm64.test: linux-arm64
$(DOCKER) run --rm dockcross/linux-arm64 > $(BIN)/dockcross-linux-arm64 && chmod +x $(BIN)/dockcross-linux-arm64
$(BIN)/dockcross-linux-arm64 python test/run.py
linux-armv5: base linux-armv5/Dockerfile
linux-armv5: base
$(DOCKER) build -t $(ORG)/linux-armv5 linux-armv5
linux-armv5.test: linux-armv5 test/run.py
linux-armv5.test: linux-armv5
$(DOCKER) run --rm dockcross/linux-armv5 > $(BIN)/dockcross-linux-armv5 && chmod +x $(BIN)/dockcross-linux-armv5
$(BIN)/dockcross-linux-armv5 python test/run.py
linux-armv6: base linux-armv6/Dockerfile
linux-armv6: base
$(DOCKER) build -t $(ORG)/linux-armv6 linux-armv6
linux-armv6.test: linux-armv6 test/run.py
linux-armv6.test: linux-armv6
$(DOCKER) run --rm dockcross/linux-armv6 > $(BIN)/dockcross-linux-armv6 && chmod +x $(BIN)/dockcross-linux-armv6
$(BIN)/dockcross-linux-armv6 python test/run.py
linux-armv7: base linux-armv7/Dockerfile
linux-armv7: base
$(DOCKER) build -t $(ORG)/linux-armv7 linux-armv7
linux-armv7.test: linux-armv7 test/run.py
linux-armv7.test: linux-armv7
$(DOCKER) run --rm dockcross/linux-armv7 > $(BIN)/dockcross-linux-armv7 && chmod +x $(BIN)/dockcross-linux-armv7
$(BIN)/dockcross-linux-armv7 python test/run.py
linux-ppc64le: base linux-ppc64le/Dockerfile
linux-ppc64le: base
$(DOCKER) build -t $(ORG)/linux-ppc64le linux-ppc64le
linux-ppc64le.test: linux-ppc64le test/run.py
linux-ppc64le.test: linux-ppc64le
$(DOCKER) run --rm dockcross/linux-ppc64le > $(BIN)/dockcross-linux-ppc64le && chmod +x $(BIN)/dockcross-linux-ppc64le
$(BIN)/dockcross-linux-ppc64le python test/run.py --languages C
@ -78,7 +78,7 @@ manylinux-x64/Dockerfile: manylinux-x64/Dockerfile.in common.docker
manylinux-x64: manylinux-x64/Dockerfile
$(DOCKER) build -t $(ORG)/manylinux-x64 -f manylinux-x64/Dockerfile .
manylinux-x64.test: manylinux-x64 test/run.py
manylinux-x64.test: manylinux-x64
$(DOCKER) run --rm dockcross/manylinux-x64 > $(BIN)/dockcross-manylinux-x64 && chmod +x $(BIN)/dockcross-manylinux-x64
$(BIN)/dockcross-manylinux-x64 /opt/python/cp35-cp35m/bin/python test/run.py
@ -88,21 +88,21 @@ manylinux-x86/Dockerfile: manylinux-x86/Dockerfile.in common.docker
manylinux-x86: manylinux-x86/Dockerfile
$(DOCKER) build -t $(ORG)/manylinux-x86 -f manylinux-x86/Dockerfile .
manylinux-x86.test: manylinux-x86 test/run.py
manylinux-x86.test: manylinux-x86
$(DOCKER) run --rm dockcross/manylinux-x86 > $(BIN)/dockcross-manylinux-x86 && chmod +x $(BIN)/dockcross-manylinux-x86
$(BIN)/dockcross-manylinux-x86 /opt/python/cp35-cp35m/bin/python test/run.py
windows-x86: base windows-x86/Dockerfile windows-x86/settings.mk
windows-x86: base
$(DOCKER) build -t $(ORG)/windows-x86 windows-x86
windows-x86.test: windows-x86 test/run.py
windows-x86.test: windows-x86
$(DOCKER) run --rm dockcross/windows-x86 > $(BIN)/dockcross-windows-x86 && chmod +x $(BIN)/dockcross-windows-x86
$(BIN)/dockcross-windows-x86 python test/run.py --exe-suffix ".exe"
windows-x64: base windows-x64/Dockerfile windows-x64/settings.mk
windows-x64: base
$(DOCKER) build -t $(ORG)/windows-x64 windows-x64
windows-x64.test: windows-x64 test/run.py
windows-x64.test: windows-x64
$(DOCKER) run --rm dockcross/windows-x64 > $(BIN)/dockcross-windows-x64 && chmod +x $(BIN)/dockcross-windows-x64
$(BIN)/dockcross-windows-x64 python test/run.py --exe-suffix ".exe"
@ -112,7 +112,7 @@ Dockerfile: Dockerfile.in common.docker
base: Dockerfile
$(DOCKER) build -t $(ORG)/base .
base.test: base test/run.py
base.test: base
mkdir -p $(BIN)
$(DOCKER) run --rm dockcross/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base