mirror of
https://github.com/djhackersdev/bemanitools.git
synced 2025-02-12 09:02:57 +01:00
Add Dockerfile for building bemanitools with docker
This commit is contained in:
parent
bf48715466
commit
13d29cb62e
32
Dockerfile
Normal file
32
Dockerfile
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
FROM fedora:31
|
||||||
|
|
||||||
|
LABEL description="Build environment for bemanitools"
|
||||||
|
|
||||||
|
RUN yum -y install \
|
||||||
|
git \
|
||||||
|
make \
|
||||||
|
zip \
|
||||||
|
clang \
|
||||||
|
mingw64-gcc.x86_64 \
|
||||||
|
mingw32-gcc.x86_64 \
|
||||||
|
wine.x86_64
|
||||||
|
|
||||||
|
RUN mkdir /bemanitools
|
||||||
|
WORKDIR /bemanitools
|
||||||
|
|
||||||
|
# Order optimized for docker layer caching
|
||||||
|
COPY run-tests-wine.sh run-tests-wine.sh
|
||||||
|
COPY CHANGELOG.md CHANGELOG.md
|
||||||
|
COPY CONTRIBUTING.md CONTRIBUTING.md
|
||||||
|
COPY LICENSE LICENSE
|
||||||
|
COPY GNUmakefile GNUmakefile
|
||||||
|
COPY Module.mk Module.mk
|
||||||
|
COPY README.md README.md
|
||||||
|
COPY doc doc
|
||||||
|
COPY dist dist
|
||||||
|
COPY src src
|
||||||
|
# .git folder required or building fails when version is generated
|
||||||
|
COPY .git .git
|
||||||
|
|
||||||
|
# Building
|
||||||
|
RUN make
|
16
GNUmakefile
16
GNUmakefile
@ -11,6 +11,11 @@ BUILDDIR ?= build
|
|||||||
# Internal variables
|
# Internal variables
|
||||||
#
|
#
|
||||||
|
|
||||||
|
builddir_docker := $(BUILDDIR)/docker
|
||||||
|
|
||||||
|
docker_container_name := "bemanitools-build"
|
||||||
|
docker_image_name := "bemanitools:build"
|
||||||
|
|
||||||
depdir := $(BUILDDIR)/dep
|
depdir := $(BUILDDIR)/dep
|
||||||
objdir := $(BUILDDIR)/obj
|
objdir := $(BUILDDIR)/obj
|
||||||
bindir := $(BUILDDIR)/bin
|
bindir := $(BUILDDIR)/bin
|
||||||
@ -33,6 +38,7 @@ ldflags := -Wl,--gc-sections -static-libgcc
|
|||||||
all: build
|
all: build
|
||||||
|
|
||||||
.PHONY: \
|
.PHONY: \
|
||||||
|
build-docker \
|
||||||
clean \
|
clean \
|
||||||
code-format \
|
code-format \
|
||||||
print-building \
|
print-building \
|
||||||
@ -74,6 +80,16 @@ run-tests:
|
|||||||
version:
|
version:
|
||||||
@echo "$(gitrev)" > version
|
@echo "$(gitrev)" > version
|
||||||
|
|
||||||
|
build-docker:
|
||||||
|
$(V)docker rm -f $(docker_container_name) 2> /dev/null || true
|
||||||
|
$(V)docker build -t $(docker_image_name) -f Dockerfile .
|
||||||
|
$(V)docker create --name $(docker_container_name) $(docker_image_name)
|
||||||
|
$(V)rm -rf $(builddir_docker)
|
||||||
|
$(V)mkdir -p $(builddir_docker)
|
||||||
|
$(V)docker cp $(docker_container_name):/bemanitools/build $(builddir_docker)
|
||||||
|
$(V)mv $(builddir_docker)/build/* $(builddir_docker)
|
||||||
|
$(V)rm -r $(builddir_docker)/build
|
||||||
|
|
||||||
#
|
#
|
||||||
# Pull in module definitions
|
# Pull in module definitions
|
||||||
#
|
#
|
||||||
|
Loading…
x
Reference in New Issue
Block a user