From 977722ed4f135640b785bc9a4f97a2586712a3bd Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Fri, 3 Feb 2023 18:18:57 +0100 Subject: Updated makefile best practices --- GNUmakefile | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 069ba64..315e899 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,11 +1,21 @@ PATH:=$(PATH):$(PWD)/node_modules/.bin + SHELL:=bash +.SHELLFLAGS := -eu -o pipefail -c +.ONESHELL: +.DELETE_ON_ERROR: +MAKEFLAGS += --warn-undefined-variables +MAKEFLAGS += --no-builtin-rules .PHONY: check check: ## make check # Check syntax of entry points eslint main.js fixtures.js tests/ (cd static; eslint index.js) +.PHONY: help +help: + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' + .PHONY: init init: ## make init # initialize project dependencies npm install @@ -27,8 +37,4 @@ test: check ## make test # run tests NODE_ENV=test vitest --config .vite.config.ts @rm -f testjdm.db testsessions.db -.PHONY: help -help: - @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' - .DEFAULT_GOAL := help -- cgit v1.2.3