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 [PRE=true]"; exit 1; fi
|
|
gh workflow run create-release.yml -f version=${V} -f prerelease=$(if $(filter true,$(PRE)),true,false)
|
|
@echo "Release v${V}$(if $(filter true,$(PRE)),-prerelease,) workflow triggered. Check progress: gh run list --workflow=create-release.yml"
|
|
.PHONY: release
|