4 MAKEFLAGS
+= --warn-undefined-variables
6 .SHELLFLAGS
:= -eu
-o pipefail
-c
11 ######################
12 # INTERNAL VARIABLES #
13 ######################
14 TIMESTAMPED_VERSION
:= $(shell /bin
/date
"+%Y.%m.%d-%H%M%S")
15 CURRENT_DATE
:= $(shell /bin
/date
"+%Y-%m-%d")
16 USERNAME
:= $(shell id
-u
-n
)
17 USERID
:= $(shell id
-u
)
18 GREEN
:= $(shell tput
-Txterm setaf
2)
19 WHITE
:= $(shell tput
-Txterm setaf
7)
20 YELLOW
:= $(shell tput
-Txterm setaf
3)
21 RESET
:= $(shell tput
-Txterm sgr0
)
23 ######################
24 # INTERNAL FUNCTIONS #
25 ######################
28 while
(<>) { push @
{$$help{$$2 // 'targets'}}, [$$1, $$3] if
/^
([a-zA-Z0-9\
-]+)\s
*:.
*\
#\#(?:@([a-zA-Z\-]+))?\s(.*)$$/ }; \
29 print "usage: make [target]\n\n"; \
30 for
(sort keys
%help
) { \
31 print "${WHITE}$$_:${RESET}\n"; \
32 for
(@
{$$help{$$_}}) { \
33 $$sep = " " x
(32 - length
$$_->[0]); \
34 print " ${YELLOW}$$_->[0]${RESET}$$sep${GREEN}$$_->[1]${RESET}\n"; \
44 help
: ##@other Show this help
45 @perl
-e
'$(HELP_FUN)' $(MAKEFILE_LIST
)
48 build
: ##@hacking Build everything
52 watch
: ##@hacking Watch for changes and build everything
53 ag
-l | entr mvn verify
56 test: ##@hacking Test everything
60 sign-waiver
: ##@contributing Sign the WAIVER