GOFILES=$(wildcard *.go) NAME=kiwimix MJML_TEMPLATES=$(wildcard templates/*.mjml) MJML_OUTPUT=$(patsubst %.mjml,%.mjml.html,$(MJML_TEMPLATES)) all: build %.mjml.html: %.mjml npx mjml $< --config.minify > $@ .PHONY: prepare prepare: go mod download .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/* .PHONY: test test: # build go test ./... # ./test.sh npm: npm install