30 lines
905 B
Makefile
30 lines
905 B
Makefile
SHELL := /usr/bin/env bash
|
|
.PHONY: test build package clean
|
|
|
|
PLUGIN_NAME := discord-rich-presence
|
|
WASM_FILE := plugin.wasm
|
|
TINYGO := $(shell command -v tinygo 2> /dev/null)
|
|
|
|
test:
|
|
go test -race ./...
|
|
|
|
build:
|
|
ifdef TINYGO
|
|
tinygo build -opt=2 -scheduler=none -no-debug -o $(WASM_FILE) -target wasip1 -buildmode=c-shared .
|
|
else
|
|
GOOS=wasip1 GOARCH=wasm go build -buildmode=c-shared -o $(WASM_FILE) .
|
|
endif
|
|
|
|
|
|
package: build
|
|
zip $(PLUGIN_NAME).ndp $(WASM_FILE) manifest.json
|
|
|
|
clean:
|
|
rm -f $(WASM_FILE) $(PLUGIN_NAME).ndp
|
|
|
|
release:
|
|
@if [[ ! "$${V}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$$ ]]; then echo "Usage: make release V=X.X.X [BETA=N]"; exit 1; fi
|
|
gh workflow run create-release.yml -f version=$${V} -f beta=$(BETA)
|
|
@echo "Release v$${V}$$(if [ -n "$(BETA)" ] && [ "$(BETA)" != "0" ]; then echo -beta-$(BETA); fi) workflow triggered. Check progress: gh run list --workflow=create-release.yml"
|
|
.PHONY: release
|