Update parent to latest version
[memoization.java.git] / Makefile
blobb422dc94988c86c8c2dc556a854670a7f852e52b
1 # SPDX-FileCopyrightText: The memoization.java Authors
2 # SPDX-License-Identifier: 0BSD
4 ###############################################################################
5 # PROLOGUE #
6 ###############################################################################
7 MAKEFLAGS += --warn-undefined-variables
8 MAKEFLAGS += --no-builtin-rules
9 .ONESHELL:
10 .DELETE_ON_ERROR:
11 .DEFAULT_GOAL := help
12 ifneq ($(strip $(shell which zsh)),)
13 SHELL := zsh
14 .SHELLFLAGS += -o pipefail
15 else ifneq ($(strip $(shell which bash)),)
16 SHELL := bash
17 .SHELLFLAGS += -o pipefail
18 else
19 SHELL := sh
20 endif
22 ###############################################################################
23 # COMMON RULES #
24 ###############################################################################
26 ##@ other
27 .PHONY: help
28 help: ## Display this help message
29 @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\033[36m\033[0m\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-25s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
31 ###############################################################################
32 # PROJECT SPECIFIC RULES #
33 ###############################################################################
34 -include project.mk