musala/Makefile

54 lines
1.0 KiB
Makefile

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