53 lines
1 KiB
Makefile
53 lines
1 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
|
|
|
|
|
|
|