mirror of
https://github.com/dokku/dokku.git
synced 2025-12-14 19:17:41 +01:00
49 lines
1.4 KiB
Makefile
49 lines
1.4 KiB
Makefile
GO_ARGS ?=
|
|
GO_PLUGIN_MAKE_TARGET ?= build
|
|
GO_REPO_ROOT := /go/src/github.com/dokku/dokku
|
|
BUILD_IMAGE := golang:1.25.1
|
|
GO_BUILD_CACHE ?= /tmp/dokku-go-build-cache
|
|
GO_MOD_CACHE ?= /tmp/dokku-go-mod-mod
|
|
GO_ROOT_MOUNT ?= $$PWD/../..:$(GO_REPO_ROOT)
|
|
GOARCH ?= amd64
|
|
|
|
.PHONY: build-in-docker build clean src-clean
|
|
|
|
build: $(BUILD)
|
|
|
|
build-in-docker: clean
|
|
mkdir -p /tmp/dokku-go-build-cache
|
|
docker run --rm \
|
|
-v $(GO_ROOT_MOUNT) \
|
|
-v $(GO_BUILD_CACHE):/root/.cache \
|
|
-v $(GO_MOD_CACHE):/go/pkg/mod \
|
|
-e PLUGIN_NAME=$(PLUGIN_NAME) \
|
|
-e GO111MODULE=on \
|
|
-w $(GO_REPO_ROOT)/plugins/$(PLUGIN_NAME) \
|
|
$(BUILD_IMAGE) \
|
|
bash -c "GO_ARGS='$(GO_ARGS)' CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) GOWORK=off make -j4 $(GO_PLUGIN_MAKE_TARGET)" || exit $$?
|
|
|
|
clean:
|
|
rm -rf $(BUILD)
|
|
find . -xtype l -delete
|
|
|
|
commands: **/**/commands.go
|
|
GOARCH=$(GOARCH) go build -mod=readonly -ldflags="-s -w" $(GO_ARGS) -o commands src/commands/commands.go
|
|
|
|
subcommands:
|
|
GOARCH=$(GOARCH) go build -mod=readonly -ldflags="-s -w" $(GO_ARGS) -o subcommands/subcommands src/subcommands/subcommands.go
|
|
$(MAKE) $(SUBCOMMANDS)
|
|
|
|
subcommands/%:
|
|
ln -sf subcommands $@
|
|
|
|
src-clean:
|
|
rm -rf .gitignore src vendor Makefile *.go glide.* go.sum go.mod
|
|
|
|
triggers:
|
|
GOARCH=$(GOARCH) go build -mod=readonly -ldflags="-s -w" $(GO_ARGS) -o triggers src/triggers/triggers.go
|
|
$(MAKE) $(TRIGGERS)
|
|
|
|
triggers/%:
|
|
ln -sf triggers $(shell echo $@ | cut -d '/' -f2)
|