mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-11-10 05:07:26 +01:00
53b158314a
Adding a new images with the usual build rule: $(DOCKER) build -t $(ORG)/$@ $@ is now just a matter of adding an item to the "STANDARD_IMAGES" list. To confirm that the Makefiles works as expected after this patch, the list of executed commands before and after is compared. Note that since this patch changes the order in which the images are listed (manylinux is now last), the baseline and current files are different. After inspection, we can confirm the difference is explained by the order of the commands. 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 ```
99 lines
4.0 KiB
Makefile
99 lines
4.0 KiB
Makefile
DOCKER = docker
|
|
ORG = dockcross
|
|
BIN = bin
|
|
|
|
STANDARD_IMAGES = android-arm linux-x86 linux-x64 linux-arm64 linux-armv5 linux-armv6 linux-armv7 windows-x86 windows-x64
|
|
|
|
IMAGES = $(STANDARD_IMAGES) manylinux-x64 manylinux-x86
|
|
|
|
images: base $(IMAGES)
|
|
|
|
test: base.test $(addsuffix .test,$(IMAGES))
|
|
|
|
$(STANDARD_IMAGES): base
|
|
$(DOCKER) build -t $(ORG)/$@ $@
|
|
|
|
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
|
|
cp -r test browser-asmjs/
|
|
$(DOCKER) build -t $(ORG)/browser-asmjs browser-asmjs
|
|
rm -rf browser-asmjs/test
|
|
|
|
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.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.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.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.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.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.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
|
|
$(DOCKER) build -t $(ORG)/linux-ppc64le linux-ppc64le
|
|
|
|
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
|
|
|
|
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
|
|
$(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
|
|
$(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.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.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"
|
|
|
|
Dockerfile: Dockerfile.in common.docker
|
|
sed '/common.docker/ r common.docker' Dockerfile.in > Dockerfile
|
|
|
|
base: Dockerfile
|
|
$(DOCKER) build -t $(ORG)/base .
|
|
|
|
base.test: base
|
|
mkdir -p $(BIN)
|
|
$(DOCKER) run --rm dockcross/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
|
|
|
.PHONY: base images $(IMAGES) tests %.test
|