You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. .PHONY: all install build release capdefs test smoke gofmt irctest
  2. GIT_COMMIT := $(shell git rev-parse HEAD 2> /dev/null)
  3. GIT_TAG := $(shell git tag --points-at HEAD 2> /dev/null | head -n 1)
  4. capdef_file = ./irc/caps/defs.go
  5. all: install
  6. install:
  7. go install -v -ldflags "-X main.commit=$(GIT_COMMIT) -X main.version=$(GIT_TAG)"
  8. build:
  9. go build -v -ldflags "-X main.commit=$(GIT_COMMIT) -X main.version=$(GIT_TAG)"
  10. release:
  11. goreleaser --skip-publish --rm-dist
  12. capdefs:
  13. python3 ./gencapdefs.py > ${capdef_file}
  14. test:
  15. python3 ./gencapdefs.py | diff - ${capdef_file}
  16. cd irc && go test . && go vet .
  17. cd irc/caps && go test . && go vet .
  18. cd irc/cloaks && go test . && go vet .
  19. cd irc/connection_limits && go test . && go vet .
  20. cd irc/email && go test . && go vet .
  21. cd irc/flatip && go test . && go vet .
  22. cd irc/history && go test . && go vet .
  23. cd irc/isupport && go test . && go vet .
  24. cd irc/migrations && go test . && go vet .
  25. cd irc/modes && go test . && go vet .
  26. cd irc/mysql && go test . && go vet .
  27. cd irc/passwd && go test . && go vet .
  28. cd irc/sno && go test . && go vet .
  29. cd irc/utils && go test . && go vet .
  30. ./.check-gofmt.sh
  31. smoke:
  32. ergo mkcerts --conf ./default.yaml || true
  33. ergo run --conf ./default.yaml --smoke
  34. gofmt:
  35. ./.check-gofmt.sh --fix
  36. irctest:
  37. git submodule update --init
  38. cd irctest && make ergo