musala/Makefile

48 lines
980 B
Makefile

GOFILES=$(wildcard *.go)
NAME=musala-push
MJML_TEMPLATES=$(wildcard templates/*.mjml)
MJML_OUTPUT=$(patsubst %.mjml,%.mjml.html,$(MJML_TEMPLATES))
all: build
%.mjml.html: %.mjml
npx mjml $< --config.minify > $@
.PHONY: build build-binaries build-templates
build: build-binaries build-templates ## build executable
build-binaries: build-templates
go build ./...
build-templates: $(MJML_OUTPUT)
install: ## install binaries
go install ./...
.PHONY: shellcheck
shellcheck: ## run shellcheck validation
scripts/validate/shellcheck
.PHONY: help
help: ## print this help
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
.PHONY: clean clean-templates clean-binaries
clean: clean-templates clean-binaries ## remove build artifacts
clean-templates:
rm -f ./templates/*.mjml.html
clean-binaries:
rm -rf ./_build/*
test: build
./test.sh
npm:
npm install