mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-11-09 12:47:26 +01:00
Makefile: Add comments and move implicit rules at the end of the file
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 --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 ```
This commit is contained in:
parent
0710c46745
commit
b033376284
57
Makefile
57
Makefile
@ -1,27 +1,40 @@
|
||||
|
||||
#
|
||||
# Parameters
|
||||
#
|
||||
|
||||
# Name of the docker executable
|
||||
DOCKER = docker
|
||||
|
||||
# Docker organization to pull the images from
|
||||
ORG = dockcross
|
||||
|
||||
# Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux-x64)
|
||||
BIN = bin
|
||||
|
||||
# These images are built using the "build implicit rule"
|
||||
STANDARD_IMAGES = android-arm linux-x86 linux-x64 linux-arm64 linux-armv5 linux-armv6 linux-armv7 windows-x86 windows-x64
|
||||
|
||||
# These images are associated with the 'images' target
|
||||
IMAGES = $(STANDARD_IMAGES) manylinux-x64 manylinux-x86
|
||||
|
||||
# Arguments for test/run.py associated with standard images
|
||||
# Optional arguments for test runner (test/run.py) associated with "testing implicit rule"
|
||||
windows-x86.test_ARGS = --exe-suffix ".exe"
|
||||
windows-x64.test_ARGS = --exe-suffix ".exe"
|
||||
|
||||
#
|
||||
# images: This target builds all IMAGES (because it is the first one, it is built by default)
|
||||
#
|
||||
images: base $(IMAGES)
|
||||
|
||||
#
|
||||
# test: This target ensures all IMAGES are built and run the associated tests
|
||||
#
|
||||
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
|
||||
#
|
||||
browser-asmjs: base
|
||||
cp -r test browser-asmjs/
|
||||
$(DOCKER) build -t $(ORG)/browser-asmjs browser-asmjs
|
||||
@ -31,6 +44,9 @@ 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
|
||||
#
|
||||
linux-ppc64le: base
|
||||
$(DOCKER) build -t $(ORG)/linux-ppc64le linux-ppc64le
|
||||
|
||||
@ -38,6 +54,9 @@ 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
|
||||
#
|
||||
manylinux-x64/Dockerfile: manylinux-x64/Dockerfile.in common.docker
|
||||
sed '/common.docker/ r common.docker' manylinux-x64/Dockerfile.in > manylinux-x64/Dockerfile
|
||||
|
||||
@ -48,6 +67,9 @@ 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
|
||||
#
|
||||
manylinux-x86/Dockerfile: manylinux-x86/Dockerfile.in common.docker
|
||||
sed '/common.docker/ r common.docker' manylinux-x86/Dockerfile.in > manylinux-x86/Dockerfile
|
||||
|
||||
@ -58,6 +80,9 @@ 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
|
||||
|
||||
#
|
||||
# base
|
||||
#
|
||||
Dockerfile: Dockerfile.in common.docker
|
||||
sed '/common.docker/ r common.docker' Dockerfile.in > Dockerfile
|
||||
|
||||
@ -68,4 +93,18 @@ base.test: base
|
||||
mkdir -p $(BIN)
|
||||
$(DOCKER) run --rm dockcross/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
|
||||
#
|
||||
# build implicit rule
|
||||
#
|
||||
$(STANDARD_IMAGES): base
|
||||
$(DOCKER) build -t $(ORG)/$@ $@
|
||||
|
||||
#
|
||||
# testing implicit rule
|
||||
#
|
||||
.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)
|
||||
|
||||
.PHONY: base images $(IMAGES) tests %.test
|
||||
|
Loading…
Reference in New Issue
Block a user