diff --git a/.gitignore b/.gitignore index 63aa482..33b7d25 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ output sources sysroot +.docker_context # General .DS_Store diff --git a/Dockerfile b/Dockerfile index d9492e8..5c43430 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,18 +6,19 @@ LABEL org.opencontainers.image.url="https://github.com/llamasoft/static-builder" # This is all that's required for the build process. # Some packages are already installed but are included for completeness. -RUN apt-get update \ +RUN apt-get update && apt-get upgrade -y \ && apt-get install -y \ gcc g++ \ make autoconf automake libtool patch \ flex bison \ - wget \ + curl \ tar gzip bzip2 xz-utils -RUN mkdir -p "/build" +RUN mkdir -p "/build" && chown 1000:1000 /build COPY "Makefile" "/build/" COPY "include" "/build/include" VOLUME "/build" WORKDIR "/build" +USER 1000 ENTRYPOINT ["/usr/bin/make", "-w"] diff --git a/Makefile b/Makefile index 46eeda6..1c3e850 100644 --- a/Makefile +++ b/Makefile @@ -312,6 +312,7 @@ clean: mostlyclean ifneq (,$(TARGET)) - $(RM) -r "$(OUTPUT)" - $(RM) -r "$(SYSROOT)" + - $(RM) -r "$(MAKEFILE_DIR)/docker_context" else - $(RM) -r "$(OUTPUT_ROOT)" - $(RM) -r "$(TOOLCHAIN_ROOT)" @@ -332,4 +333,4 @@ endif $(info $(subst : ,,$(call activate_toolchain))) $(info LDFLAGS='$(LDFLAGS)') $(info CFLAGS='$(CFLAGS)') - $(info CXXFLAGS='$(CXXFLAGS)') \ No newline at end of file + $(info CXXFLAGS='$(CXXFLAGS)') diff --git a/docker_build.sh b/docker_build.sh index bd2da28..0faf5c0 100755 --- a/docker_build.sh +++ b/docker_build.sh @@ -4,6 +4,10 @@ # Any arguments supported by make are supported here. # Example: ./docker_build.sh -j TARGET=arm-linux-musleabi all set -e - -docker build -t static-builder . -docker run -it -v "${PWD}/output":"/build/output" --rm static-builder "$@" \ No newline at end of file +if [ -e .docker_context ]; then + rm -r .docker_context/* +fi +mkdir -p .docker_context +cp -r Dockerfile Makefile include .docker_context +docker build -t static-builder .docker_context +docker run -it -v "${PWD}/output":"/build/output:Z" -v "${PWD}/sources":"/build/sources:Z" --rm static-builder "$@"