From 3a65857ad887f34ba738cbbcdc8b9c1adb2fe082 Mon Sep 17 00:00:00 2001 From: mappu Date: Sat, 5 Apr 2025 20:48:24 +1300 Subject: [PATCH] makefile: move dockerexec to helper, bind GOCACHE/GOMODCACHE by env --- Makefile | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 78e4dacd..5e915244 100644 --- a/Makefile +++ b/Makefile @@ -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'