4 MAKEFLAGS
+= --warn-undefined-variables
6 .SHELLFLAGS
:= -eu
-o pipefail
-c
11 ######################
12 # INTERNAL VARIABLES #
13 ######################
14 GREEN
:= $(shell tput
-Txterm setaf
2)
15 WHITE
:= $(shell tput
-Txterm setaf
7)
16 YELLOW
:= $(shell tput
-Txterm setaf
3)
17 RESET
:= $(shell tput
-Txterm sgr0
)
19 ######################
20 # INTERNAL FUNCTIONS #
21 ######################
24 while
(<>) { push @
{$$help{$$2 // 'targets'}}, [$$1, $$3] if
/^
([a-zA-Z0-9\
-]+)\s
*:.
*\
#\#(?:@([a-zA-Z\-]+))?\s(.*)$$/ }; \
25 print "usage: make [target]\n\n"; \
26 for
(sort keys
%help
) { \
27 print "${WHITE}$$_:${RESET}\n"; \
28 for
(@
{$$help{$$_}}) { \
29 $$sep = " " x
(32 - length
$$_->[0]); \
30 print " ${YELLOW}$$_->[0]${RESET}$$sep${GREEN}$$_->[1]${RESET}\n"; \
35 # GOALS/RULES/TARGETS #
41 help
: ##@other Show this help
42 @perl
-e
'$(HELP_FUN)' $(MAKEFILE_LIST
)
45 build
: ##@hacking Build everything
49 watch
: ##@hacking Watch for changes and build everything
50 ag
-l | entr mvn verify
53 test: ##@hacking Test everything
57 sign-waiver
: ##@contributing Sign the WAIVER
61 benchmarks
: ##@benchmarks Run all benchmarks
62 mvn verify
--activate-profiles benchmarks
64 .PHONY
: benchmarks-codegen
65 benchmarks-codegen
: ##@benchmarks Run code generation benchmarks
66 mvn verify
--projects yosql-benchmarks
/yosql-benchmarks-codegen
--also-make
--activate-profiles benchmarks
68 .PHONY
: benchmarks-jdbc
69 benchmarks-jdbc
: ##@benchmarks Run JDBC benchmarks
70 mvn verify
--projects yosql-benchmarks
/yosql-benchmarks-jdbc
--also-make
--activate-profiles benchmarks