mirror of
https://github.com/alicebob/miniredis.git
synced 2024-07-21 14:03:53 +08:00
5275a760ff
It's clearer to keep target and it's .PHONY together. When reading Makefile it's easier to see if target is phony or not (without jumping back to first line and reading all of .PHONY dependencies). It's also harder to forget remove/rename .PHONY dependency when target is changed when they are together. There is no official standard but make documentation[1] in .DEFAULT_GOAL use multiple .PHONY: > .PHONY: foo > foo: ; @echo $@ > > $(warning default goal is $(.DEFAULT_GOAL)) > > # Reset the default goal. > .DEFAULT_GOAL := > > .PHONY: bar > bar: ; @echo $@ PR: https://github.com/alicebob/miniredis/issues/371 [1]: https://www.gnu.org/software/make/manual/html_node/Special-Variables.html Signed-off-by: Wojciech Szarański <wojciech.szaranski@gmail.com>
34 lines
941 B
Makefile
34 lines
941 B
Makefile
.PHONY: test
|
|
test: ### Run unit tests
|
|
go test ./...
|
|
|
|
.PHONY: testrace
|
|
testrace: ### Run unit tests with race detector
|
|
go test -race ./...
|
|
|
|
.PHONY: int
|
|
int: ### Run integration tests (doesn't download redis server)
|
|
${MAKE} -C integration int
|
|
|
|
.PHONY: ci
|
|
ci: ### Run full tests suite (including download and compilation of proper redis server)
|
|
${MAKE} test
|
|
${MAKE} -C integration redis_src/redis-server int
|
|
${MAKE} testrace
|
|
|
|
.PHONY: clean
|
|
clean: ### Clean integration test files and remove compiled redis from integration/redis_src
|
|
${MAKE} -C integration clean
|
|
|
|
.PHONY: help
|
|
help:
|
|
ifeq ($(UNAME), Linux)
|
|
@grep -P '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \
|
|
awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
|
else
|
|
@# this is not tested, but prepared in advance for you, Mac drivers
|
|
@awk -F ':.*###' '$$0 ~ FS {printf "%15s%s\n", $$1 ":", $$2}' \
|
|
$(MAKEFILE_LIST) | grep -v '@awk' | sort
|
|
endif
|
|
|