Makefile 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. define delete-files
  2. python3 -c "import shutil;shutil.rmtree('$(1)', ignore_errors=True)"
  3. endef
  4. default: proto service webui-dist
  5. service:
  6. $(MAKE) -wC service
  7. service-prep:
  8. $(MAKE) -wC service prep
  9. windows-resources:
  10. VERSION="$(VERSION)" ./var/windows/generate-resources.sh
  11. windows-msi:
  12. VERSION="$(VERSION)" ./var/windows/build-msi.sh
  13. service-unittests:
  14. $(MAKE) -wC service unittests
  15. service-codestyle:
  16. $(MAKE) -wC service codestyle
  17. frontend-codestyle:
  18. $(MAKE) -wC frontend codestyle
  19. frontend-unittests:
  20. $(MAKE) -wC frontend unittests
  21. lint: service-codestyle frontend-codestyle
  22. test: service-unittests frontend-unittests
  23. docs-check:
  24. python3 docs/modules/ROOT/check_config_keys.py
  25. python3 docs/modules/ROOT/check_chevron_links.py
  26. it:
  27. $(MAKE) -wC integration-tests
  28. go-tools:
  29. $(MAKE) -wC service go-tools
  30. proto-tools:
  31. $(MAKE) -wC service proto-tools
  32. proto: proto-tools
  33. $(MAKE) -wC proto
  34. lang-generate:
  35. $(MAKE) -wC lang
  36. generated-check: proto lang-generate
  37. git diff --exit-code -- service/gen frontend/resources/scripts/gen lang/generated
  38. @untracked="$$(git ls-files --others --exclude-standard -- service/gen frontend/resources/scripts/gen lang/generated)"; \
  39. test -z "$$untracked" || { printf 'Untracked generated files:\n%s\n' "$$untracked"; exit 1; }
  40. dist:
  41. echo "dist noop"
  42. podman-image:
  43. buildah bud -f Dockerfile.singlearch -t olivetin
  44. podman-container:
  45. podman kill olivetin || true
  46. podman rm olivetin || true
  47. podman create --name olivetin -p 1337:1337 -v /etc/OliveTin/:/config:ro olivetin
  48. podman start olivetin
  49. integration-tests-docker-image:
  50. docker rm -f olivetin && docker rmi -f olivetin
  51. docker build -f Dockerfile.singlearch -t olivetin:latest .
  52. docker create --name olivetin -p 1337:1337 -v `pwd`/integration-tests/configs/:/config/ olivetin
  53. devrun: compile
  54. killall OliveTin || true
  55. ./OliveTin &
  56. devcontainer: compile podman-image podman-container
  57. webui-dist:
  58. $(call delete-files,webui)
  59. $(MAKE) -wC frontend dist
  60. mv frontend/dist webui
  61. clean:
  62. $(call delete-files,dist)
  63. $(call delete-files,OliveTin)
  64. $(call delete-files,OliveTin.armhf)
  65. $(call delete-files,OliveTin.exe)
  66. rm -f service/resource_windows_*.syso
  67. $(call delete-files,reports)
  68. $(call delete-files,gen)
  69. config-tool:
  70. cd service && go run cmd/config-tool/main.go
  71. devcheck:
  72. python3 scripts/devcheck.py $(ARGS)
  73. .PHONY: proto proto-tools lang-generate generated-check default service windows-resources windows-msi frontend-unittests docs-check it devcheck lint test service-unittests service-codestyle frontend-codestyle