1 MAKEFLAGS
+= --warn-undefined-variables
3 .SHELLFLAGS
:= -eu
-o pipefail
-c
8 TIMESTAMPED_VERSION
:= $(shell /bin
/date
"+%Y.%m.%d-%H%M%S")
9 CURRENT_DATE
:= $(shell /bin
/date
"+%Y-%m-%d")
10 USERNAME
:= $(shell id
-u
-n
)
11 USERID
:= $(shell id
-u
)
12 GREEN
:= $(shell tput
-Txterm setaf
2)
13 WHITE
:= $(shell tput
-Txterm setaf
7)
14 YELLOW
:= $(shell tput
-Txterm setaf
3)
15 RESET
:= $(shell tput
-Txterm sgr0
)
19 while
(<>) { push @
{$$help{$$2 // 'targets'}}, [$$1, $$3] if
/^
([a-zA-Z\
-]+)\s
*:.
*\
#\#(?:@([a-zA-Z\-]+))?\s(.*)$$/ }; \
20 print "usage: make [target]\n\n"; \
21 for
(sort keys
%help
) { \
22 print "${WHITE}$$_:${RESET}\n"; \
23 for
(@
{$$help{$$_}}) { \
24 $$sep = " " x
(32 - length
$$_->[0]); \
25 print " ${YELLOW}$$_->[0]${RESET}$$sep${GREEN}$$_->[1]${RESET}\n"; \
33 help
: ##@other Show this help
34 @perl
-e
'$(HELP_FUN)' $(MAKEFILE_LIST
)
37 install: ##@hacking Install all artifacts into local repository
41 verify
: ##@hacking Verify all modules
45 site
: ##@hacking Build website
46 hugo
--minify
--i18n-warnings
--path-warnings
--source docs
49 site-serve
: ##@hacking Build and watch website
50 hugo server
--minify
--i18n-warnings
--path-warnings
--source docs
--watch
53 build-env
: ##@hacking Open a new shell in a predefined build environment
57 build-once
: ##@hacking Build the entire project once in a predefined build environment
61 sign-waiver
: ##@contributing Sign the WAIVER
62 minisign
-Sm AUTHORS
/WAIVER
63 mv AUTHORS
/WAIVER.minisig AUTHORS
/WAIVER.
${USERNAME}.minisig
64 git add AUTHORS
/WAIVER.
${USERNAME}.minisign
65 git commit
-m
'sign waiver' --gpg-sign