makefile: move dockerexec to helper, bind GOCACHE/GOMODCACHE by env

This commit is contained in:
mappu 2025-04-05 20:48:24 +13:00
parent c806a27a4b
commit 3a65857ad8

View File

@ -2,6 +2,19 @@ BUILDSTAMPS := docker/genbindings.docker-buildstamp
DOCKER := docker
SHELL := /bin/bash
# DOCKEREXEC runs the target command in the `genbindings` docker container.
# It mounts in the current GOCACHE and GOMODCACHE.
DOCKEREXEC = mkdir -p "$$(go env GOCACHE)" && \
mkdir -p "$$(go env GOMODCACHE)" && \
$(DOCKER) run \
--user "$$(id -u):$$(id -g)" \
-v "$$(go env GOCACHE):/.cache/go-build" \
-v "$$(go env GOMODCACHE):/go/pkg/mod" \
-v "$$PWD:/src" \
-w /src \
miqt/genbindings:latest \
/bin/bash -c
.PHONY: all
all: genbindings
@ -16,6 +29,5 @@ clean:
.PHONY: genbindings
genbindings: $(BUILDSTAMPS)
mkdir -p ~/.cache/go-build
$(DOCKER) run --user $$(id -u):$$(id -g) -v ~/.cache/go-build:/.cache/go-build -v $$PWD:/src -w /src miqt/genbindings:latest /bin/bash -c 'cd cmd/genbindings && go build && ./genbindings'
$(DOCKEREXEC) 'cd cmd/genbindings && go build && ./genbindings'