diff --git a/Makefile b/Makefile index b9750d2..aca2869 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ regex_march_distro = '$1-$2-.*' PROJECTNAME ?= webfuse PROJECTDIR ?= $(patsubst %/,%,$(dir $(MAKEFILE))) -SCRIPTDIR ?= $(PROJECTDIR)/build +SCRIPTDIR ?= $(PROJECTDIR)/build/mkdocker OUTDIR ?= $(PROJECTDIR)/.build FETCHDIR ?= $(PROJECTDIR)/.deps BUILDTYPE ?= Debug @@ -106,7 +106,7 @@ DEBIAN_TARGETS = $(addprefix $(OUTDIR)/docker/,$(call filter_targets,$(DEBIAN_FI ####################################################################################################################### # Common rule target configuration -VPATH = $(SCRIPTDIR) +VPATH = $(PROJECTDIR)/build CURLFLAGS += -s diff --git a/build/cmake_discover_cc_settings.sh b/build/mkdocker/bin/cmake_discover_cc_settings.sh similarity index 100% rename from build/cmake_discover_cc_settings.sh rename to build/mkdocker/bin/cmake_discover_cc_settings.sh diff --git a/build/docker_compose.sh b/build/mkdocker/bin/docker_compose.sh similarity index 91% rename from build/docker_compose.sh rename to build/mkdocker/bin/docker_compose.sh index fb5e1a7..428d2e1 100755 --- a/build/docker_compose.sh +++ b/build/mkdocker/bin/docker_compose.sh @@ -12,6 +12,7 @@ SCRIPTDIR="${SCRIPTDIR:-"$(cd "$(dirname "$0")" && echo "$PWD")"}" PROJECTDIR="${PROJECTDIR:-"$PWD"}" ENTRYPOINT="${ENTRYPOINT:-docker-compose}" HOST_ENVFILTER="${HOST_ENVFILTER:-^DOCKER_\|^COMPOSE_}" +PATH="${SCRIPTDIR}:$PATH" set -- --entrypoint "$ENTRYPOINT" "$IMAGE" "$@" set -- --user "$USERID:$USERID" --network "$NETWORK" --workdir "$PWD" "$@" @@ -24,7 +25,7 @@ if [ -n "$CONTAINER_CGROUP_PARENT" ]; then set -- --cgroup-parent "$CONTAINER_CGROUP_PARENT" "$@" fi -HOST_CONTAINER="${HOST_CONTAINER:-"$("$SCRIPTDIR/get_container_id.sh")"}" || true +HOST_CONTAINER="${HOST_CONTAINER:-"$(get_container_id.sh)"}" || true if [ -n "$HOST_CONTAINER" ]; then set -- --volumes-from "$HOST_CONTAINER" "$@" else @@ -39,7 +40,7 @@ else set -- -e DOCKER_HOST -e DOCKER_TLS_VERIFY -e DOCKER_CERT_PATH "$@" fi -if [ -t 0 ] && ! "$SCRIPTDIR/is_running_in_bg.sh" $$; then +if [ -t 0 ] && ! is_running_in_bg.sh $$; then set -- --interactive "$@" fi diff --git a/build/get_container_id.sh b/build/mkdocker/bin/get_container_id.sh similarity index 100% rename from build/get_container_id.sh rename to build/mkdocker/bin/get_container_id.sh diff --git a/build/get_source_date_epoch.sh b/build/mkdocker/bin/get_source_date_epoch.sh similarity index 100% rename from build/get_source_date_epoch.sh rename to build/mkdocker/bin/get_source_date_epoch.sh diff --git a/build/is_running_in_bg.sh b/build/mkdocker/bin/is_running_in_bg.sh similarity index 100% rename from build/is_running_in_bg.sh rename to build/mkdocker/bin/is_running_in_bg.sh diff --git a/build/cmake.mk b/build/mkdocker/cmake.mk similarity index 95% rename from build/cmake.mk rename to build/mkdocker/cmake.mk index a0c215f..2c34fac 100644 --- a/build/cmake.mk +++ b/build/mkdocker/cmake.mk @@ -21,14 +21,14 @@ cmake_configure_rule = \ $$(OUTDIR)/$1/$$(CMAKE_BUILD_TYPE)/CMakeCache.txt: $$(PROJECTDIR)/CMakeLists.txt $$(OUTDIR)/docker/$1 | $$(OUTDIR)/$1/$$(CMAKE_BUILD_TYPE)/gdbserver; \ $$(SILENT)$$(call cmake_configure,$1) cmake_configure = \ - $(call run,$1,sh -c 'cmake $(CMAKEFLAGS) $(CMAKE_PROJECTDIR) && $(CMAKE_SCRIPTDIR)/cmake_discover_cc_settings.sh $(notdir $@) "$(realpath $(dir $@))"') \ + $(call run,$1,sh -c 'cmake $(CMAKEFLAGS) $(CMAKE_PROJECTDIR) && $(CMAKE_SCRIPTDIR)/bin/cmake_discover_cc_settings.sh $(notdir $@) "$(realpath $(dir $@))"') \ && touch $(addprefix $(dir $@)/,include_dirs.txt) $@ cmake_discover_cc_settings_rule = \ $$(OUTDIR)/$1/$$(CMAKE_BUILD_TYPE)/include_dirs.txt: $$(OUTDIR)/$1/$$(CMAKE_BUILD_TYPE)/CMakeCache.txt; \ $$(SILENT)$$(call cmake_discover_cc_settings,$1) cmake_discover_cc_settings = \ - $(call run,$1,$(CMAKE_SCRIPTDIR)/cmake_discover_cc_settings.sh $(notdir $<) '$(realpath $(dir $<))') + $(call run,$1,$(CMAKE_SCRIPTDIR)/bin/cmake_discover_cc_settings.sh $(notdir $<) '$(realpath $(dir $<))') ninja_build_rule = \ build-$1: $$(OUTDIR)/$1/$$(CMAKE_BUILD_TYPE)/CMakeCache.txt; \ diff --git a/build/defaults.mk b/build/mkdocker/defaults.mk similarity index 92% rename from build/defaults.mk rename to build/mkdocker/defaults.mk index ce598b9..bab74bc 100644 --- a/build/defaults.mk +++ b/build/mkdocker/defaults.mk @@ -24,7 +24,7 @@ USERID ?= $(shell id -u) USERID := $(USERID) HOST_MARCH ?= $(shell dpkg --print-architecture 2>/dev/null) -HOST_CONTAINER ?= $(shell $(SCRIPTDIR)/get_container_id.sh) +HOST_CONTAINER ?= $(shell $(SCRIPTDIR)/bin/get_container_id.sh) HOST_CONTAINER := $(HOST_CONTAINER) $(HOST_CONTAINER)PORTABLE_WORSPACE ?= @@ -35,7 +35,7 @@ $(PORTABLE_WORSPACE)CONTAINER_PROJECTDIR = $(abspath $(PROJECTDIR)) $(PORTABLE_WORSPACE)CONTAINER_SCRIPTDIR = $(abspath $(SCRIPTDIR)) $(PORTABLE_WORSPACE)CONTAINER_OUTDIR = $(abspath $(OUTDIR)) -SOURCE_DATE_EPOCH ?= $(shell $(SCRIPTDIR)/get_source_date_epoch.sh) +SOURCE_DATE_EPOCH ?= $(shell $(SCRIPTDIR)/bin/get_source_date_epoch.sh) SOURCE_DATE_EPOCH := $(SOURCE_DATE_EPOCH) export SOURCE_DATE_EPOCH diff --git a/build/docker.mk b/build/mkdocker/docker.mk similarity index 96% rename from build/docker.mk rename to build/mkdocker/docker.mk index ebbf31e..bf5546a 100644 --- a/build/docker.mk +++ b/build/mkdocker/docker.mk @@ -42,7 +42,7 @@ run_rule = \ run = $(call echo_if_silent,TARGET=$1 $(addprefix BUILDTYPE=,$(BUILDTYPE)) $2) && $(call image_run,$1,$2,$3) wrapper_rule = \ - $$(OUTDIR)/$1/$$(BUILDTYPE)/gdbserver: $$(SCRIPTDIR)/run_image.sh.template $$(OUTDIR)/docker/$1; \ + $$(OUTDIR)/$1/$$(BUILDTYPE)/gdbserver: $$(SCRIPTDIR)/resources/run_image.sh.template $$(OUTDIR)/docker/$1; \ $$(SILENT)$$(call wrapper,$1) wrapper = \ $(call echo_if_silent,generating $@) \ diff --git a/build/md5sum.txt.template b/build/mkdocker/resources/md5sum.txt.template similarity index 100% rename from build/md5sum.txt.template rename to build/mkdocker/resources/md5sum.txt.template diff --git a/build/run_image.sh.template b/build/mkdocker/resources/run_image.sh.template similarity index 83% rename from build/run_image.sh.template rename to build/mkdocker/resources/run_image.sh.template index 1aa443d..1b44390 100644 --- a/build/run_image.sh.template +++ b/build/mkdocker/resources/run_image.sh.template @@ -6,8 +6,9 @@ DOCKER="${DOCKER:-%DOCKER%}" IMAGE="${IMAGE:-%IMAGE%}" NETWORK="${NETWORK:-host}" PROJECTDIR="${PROJECTDIR:-%PROJECTDIR%}" -SCRIPTDIR="${SCRIPTDIR:-%SCRIPTDIR%}" +SCRIPTDIR="${SCRIPTDIR:-%SCRIPTDIR%/bin}" ENTRYPOINT="${ENTRYPOINT:-%RUNCMD%}" +PATH="${SCRIPTDIR}:$PATH" set -- --entrypoint "$ENTRYPOINT" "$IMAGE" "$@" set -- --network "$NETWORK" --workdir "$PWD" "$@" @@ -24,7 +25,7 @@ if [ -n "$CONTAINER_CGROUP_PARENT" ]; then set -- --cgroup-parent "$CONTAINER_CGROUP_PARENT" "$@" fi -HOST_CONTAINER="${HOST_CONTAINER:-"$("$SCRIPTDIR/get_container_id.sh")"}" || true +HOST_CONTAINER="${HOST_CONTAINER:-"$(get_container_id.sh)"}" || true if [ -n "$HOST_CONTAINER" ]; then set -- --volumes-from "$HOST_CONTAINER" "$@" else @@ -33,7 +34,7 @@ fi set -- %RUNFLAGS% "$@" -if [ -t 0 ] && ! "$SCRIPTDIR/is_running_in_bg.sh" $$; then +if [ -t 0 ] && ! is_running_in_bg.sh $$; then set -- --interactive "$@" fi diff --git a/build/standardrules.mk b/build/mkdocker/standardrules.mk similarity index 96% rename from build/standardrules.mk rename to build/mkdocker/standardrules.mk index 5dfdc36..9761406 100644 --- a/build/standardrules.mk +++ b/build/mkdocker/standardrules.mk @@ -17,7 +17,7 @@ filter_out_command ?= $(filter $1,$(foreach CMD,$1,$(shell command -v $(CMD) 2>& md5sum = { \ if [ -n "$2" ]; then \ - sed -e 's@%MD5%@$2@g' -e 's@%FILE%@$1@g' $(SCRIPTDIR)/md5sum.txt.template > $1.md5; \ + sed -e 's@%MD5%@$2@g' -e 's@%FILE%@$1@g' $(SCRIPTDIR)/resources/md5sum.txt.template > $1.md5; \ md5sum -c $1.md5; \ else \ echo 'warning:$1: no md5 skipping verification' 1>&2; \