mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-12-22 16:24:27 +01:00
caba0b0cef
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 ```
120 lines
5.0 KiB
Makefile
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
|