dockcross/Makefile
Jean-Christophe Fillion-Robin caba0b0cef
Makefile: Remove "Toolchain.cmake" dependencies
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 the "Toolchain.cmake" file.

Note also that the dependency on "Toolchain.cmake" was not consistent
for all images. For example, "linux-x64" was missing the dependency
whereas it was specified for "linux-x86".

This commit ensure all image targets are consistent removing the
dependency on "Toolchain.cmake".

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
```
2016-09-25 17:38:12 -04:00

120 lines
5.0 KiB
Makefile

DOCKER = docker
ORG = dockcross
BIN = bin
IMAGES = android-arm linux-x86 linux-x64 manylinux-x64 manylinux-x86 linux-arm64 linux-armv5 linux-armv6 linux-armv7 windows-x86 windows-x64
images: base $(IMAGES)
test: base.test $(addsuffix .test,$(IMAGES))
android-arm: base android-arm/Dockerfile
$(DOCKER) build -t $(ORG)/android-arm android-arm
android-arm.test: android-arm test/run.py
$(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
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
$(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
$(DOCKER) build -t $(ORG)/linux-x86 linux-x86
linux-x86.test: linux-x86 test/run.py
$(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
$(DOCKER) build -t $(ORG)/linux-x64 linux-x64
linux-x64.test: linux-x64 test/run.py
$(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
$(DOCKER) build -t $(ORG)/linux-arm64 linux-arm64
linux-arm64.test: linux-arm64 test/run.py
$(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
$(DOCKER) build -t $(ORG)/linux-armv5 linux-armv5
linux-armv5.test: linux-armv5 test/run.py
$(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
$(DOCKER) build -t $(ORG)/linux-armv6 linux-armv6
linux-armv6.test: linux-armv6 test/run.py
$(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
$(DOCKER) build -t $(ORG)/linux-armv7 linux-armv7
linux-armv7.test: linux-armv7 test/run.py
$(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
$(DOCKER) build -t $(ORG)/linux-ppc64le linux-ppc64le
linux-ppc64le.test: linux-ppc64le test/run.py
$(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
manylinux-x64/Dockerfile: manylinux-x64/Dockerfile.in common.docker
sed '/common.docker/ r common.docker' manylinux-x64/Dockerfile.in > manylinux-x64/Dockerfile
manylinux-x64: manylinux-x64/Dockerfile
$(DOCKER) build -t $(ORG)/manylinux-x64 -f manylinux-x64/Dockerfile .
manylinux-x64.test: manylinux-x64 test/run.py
$(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
manylinux-x86/Dockerfile: manylinux-x86/Dockerfile.in common.docker
sed '/common.docker/ r common.docker' manylinux-x86/Dockerfile.in > manylinux-x86/Dockerfile
manylinux-x86: manylinux-x86/Dockerfile
$(DOCKER) build -t $(ORG)/manylinux-x86 -f manylinux-x86/Dockerfile .
manylinux-x86.test: manylinux-x86 test/run.py
$(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
$(DOCKER) build -t $(ORG)/windows-x86 windows-x86
windows-x86.test: windows-x86 test/run.py
$(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
$(DOCKER) build -t $(ORG)/windows-x64 windows-x64
windows-x64.test: windows-x64 test/run.py
$(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"
Dockerfile: Dockerfile.in common.docker
sed '/common.docker/ r common.docker' Dockerfile.in > Dockerfile
base: Dockerfile
$(DOCKER) build -t $(ORG)/base .
base.test: base test/run.py
mkdir -p $(BIN)
$(DOCKER) run --rm dockcross/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
.PHONY: base images $(IMAGES) tests %.test