github.com/sagernet/netlink@v0.0.0-20240612041022-b9a21c07ac6a/Makefile (about) 1 DIRS := \ 2 . \ 3 nl 4 5 DEPS = \ 6 github.com/vishvananda/netns \ 7 golang.org/x/sys/unix 8 9 uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))) 10 testdirs = $(call uniq,$(foreach d,$(1),$(dir $(wildcard $(d)/*_test.go)))) 11 goroot = $(addprefix ../../../,$(1)) 12 unroot = $(subst ../../../,,$(1)) 13 fmt = $(addprefix fmt-,$(1)) 14 15 all: test 16 17 $(call goroot,$(DEPS)): 18 go get $(call unroot,$@) 19 20 .PHONY: $(call testdirs,$(DIRS)) 21 $(call testdirs,$(DIRS)): 22 go test -test.exec sudo -test.parallel 4 -timeout 60s -test.v github.com/sagernet/netlink/$@ 23 24 $(call fmt,$(call testdirs,$(DIRS))): 25 ! gofmt -l $(subst fmt-,,$@)/*.go | grep -q . 26 27 .PHONY: fmt 28 fmt: $(call fmt,$(call testdirs,$(DIRS))) 29 30 test: fmt $(call goroot,$(DEPS)) $(call testdirs,$(DIRS))