mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-07-26 02:28:41 +00:00
9eb95a4651
Signed-off-by: deadprogram <ron@hybridgroup.com>
43 lines
1.6 KiB
Makefile
43 lines
1.6 KiB
Makefile
|
|
clean:
|
|
@rm -rf build
|
|
|
|
FMT_PATHS = ./
|
|
|
|
fmt-check:
|
|
@unformatted=$$(gofmt -l $(FMT_PATHS)); [ -z "$$unformatted" ] && exit 0; echo "Unformatted:"; for fn in $$unformatted; do echo " $$fn"; done; exit 1
|
|
|
|
XTENSA ?= 1
|
|
smoke-test:
|
|
@mkdir -p build
|
|
@go run ./smoketest.go -xtensa=$(XTENSA) smoketest.sh
|
|
|
|
|
|
# rwildcard is a recursive version of $(wildcard)
|
|
# https://blog.jgc.org/2011/07/gnu-make-recursive-wildcard-function.html
|
|
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
|
|
# Recursively find all *_test.go files from cwd & reduce to unique dir names
|
|
HAS_TESTS = $(sort $(dir $(call rwildcard,,*_test.go)))
|
|
# Exclude anything we explicitly don't want to test for whatever reason
|
|
EXCLUDE_TESTS = image waveshare-epd/epd2in66b
|
|
TESTS = $(filter-out $(addsuffix /%,$(EXCLUDE_TESTS)),$(HAS_TESTS))
|
|
|
|
unit-test:
|
|
@go test -v $(addprefix ./,$(TESTS))
|
|
|
|
test: clean fmt-check unit-test smoke-test
|
|
|
|
EXCLUDE_DIRS = build cmd examples internal lora ndir netdev netlink tester
|
|
|
|
drivers-count:
|
|
@root_count=$$(find . -mindepth 1 -maxdepth 1 -type d | grep -vE '^\./($(subst $(space),|,$(EXCLUDE_DIRS)))$$' | wc -l); \
|
|
epd_count=$$(find ./waveshare-epd -mindepth 1 -maxdepth 1 -type d 2>/dev/null | wc -l); \
|
|
total=$$((root_count + epd_count)); \
|
|
echo "Total drivers: $$total (root: $$root_count, waveshare-epd: $$epd_count)"
|
|
|
|
drivers-list:
|
|
@{ \
|
|
find . -mindepth 1 -maxdepth 1 -type d | grep -vE '^\./($(subst $(space),|,$(EXCLUDE_DIRS)))$$'; \
|
|
if [ -d ./waveshare-epd ]; then find ./waveshare-epd -mindepth 1 -maxdepth 1 -type d; fi; \
|
|
} | sed 's|^\./||' | sort
|