GOFILES=$(wildcard *.go) BINDIR=bin NAME=musala MJML_TEMPLATES=$(wildcard templates/*.mjml) MJML_OUTPUT=$(patsubst %.mjml,%.mjml.html,$(MJML_TEMPLATES)) all: help %.mjml.html: %.mjml npx mjml $< --config.minify > $@ .PHONY: build build-binaries build-templates build: build-binaries build-templates ## build executable build-binaries: build-templates mkdir -p $(BINDIR) cd $(BINDIR) && 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 $(BINDIR)/* test: build ./test.sh npm: npm install