dockcross/Makefile
Jean-Christophe Fillion-Robin 0710c46745
Makefile: Treat windows-(x86|x64) as regular image introducing _ARGS var
To confirm that the Makefiles works as expected after this patch, the
list of executed commands before and after is compared.

The only difference was due to the extra space in the command line
associated with windows-x86

```
< bin/dockcross-windows-x86 python test/run.py  --exe-suffix ".exe"
---
> bin/dockcross-windows-x86 python test/run.py --exe-suffix ".exe"
```


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 --ignore-trailing-space ../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 18:20:02 -04:00

72 lines
2.7 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
# Arguments for test/run.py associated with standard images
windows-x86.test_ARGS = --exe-suffix ".exe"
windows-x64.test_ARGS = --exe-suffix ".exe"
images: base $(IMAGES)
test: base.test $(addsuffix .test,$(IMAGES))
$(STANDARD_IMAGES): base
$(DOCKER) build -t $(ORG)/$@ $@
.SECONDEXPANSION:
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
$(DOCKER) run --rm dockcross/$(basename $@) > $(BIN)/dockcross-$(basename $@) && chmod +x $(BIN)/dockcross-$(basename $@)
$(BIN)/dockcross-$(basename $@) python test/run.py $($@_ARGS)
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-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
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