Makefile 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. all: build
  2. # FONT COMPILES
  3. #
  4. # Recommended usage:
  5. #
  6. # The following targets build *.ttf, *.woff, *.woff2 (including *.woff and *.woff2 subsets):
  7. #
  8. # `make` - builds fonts with pinned build dependency versions of all Python and local, compiled C/C++ projects
  9. # `make build-system` - builds fonts with system PATH installed versions of build dependencies
  10. #
  11. # Dependency installs for default builds with `make` can be executed with:
  12. #
  13. # 1) pip3 install pipenv
  14. # 2) make compile-local-dep
  15. #
  16. # Optional dependency install for `make` if your development system does not support the defined Python interpreter version:
  17. #
  18. # 3) curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  19. #
  20. build: ttf webfonts
  21. build-with-dependencies: compile-local-dep ttf webfonts
  22. build-system: ttf-system webfonts-system
  23. build-local-ttfa:
  24. tools/scripts/install/ttfautohint-build.sh
  25. build-local-sfnt2woffzopfli:
  26. tools/scripts/install/sfnt2woff-zopfli-build.sh
  27. build-local-woff2:
  28. tools/scripts/install/woff2-compress-build.sh
  29. compile-local-dep: build-local-ttfa build-local-sfnt2woffzopfli build-local-woff2
  30. pipenv:
  31. ./build-pipenv.sh
  32. subsets: pipenv
  33. ./build-subsets.sh
  34. subsets-system:
  35. ./build-subsets.sh --system
  36. ttf: pipenv
  37. ./build-ttf.sh
  38. ttf-system:
  39. ./build-ttf.sh --system
  40. webfonts: woff woff2 subsets
  41. webfonts-system: woff-system woff2-system subsets-system
  42. woff: pipenv
  43. ./build-woff.sh
  44. woff-system:
  45. ./build-woff.sh --system
  46. woff2: pipenv
  47. ./build-woff2.sh
  48. woff2-system:
  49. ./build-woff2.sh --system
  50. # RELEASE PREP
  51. archives:
  52. ./build-archives.sh
  53. css:
  54. tools/scripts/css/css-build.sh
  55. # TESTING
  56. lint: shellcheck ufolint
  57. shellcheck: *.sh tools/scripts/css/*.sh tools/scripts/install/*.sh
  58. $@ $^
  59. ufolint: source/*.ufo
  60. $@ $^
  61. # PHONY TARGETS
  62. .PHONY: all archives build build-with-dependencies build-local-ttfa build-local-sfnt2woffzopfli build-local-woff2 build-system compile-local-dep css lint pipenv shellcheck subsets subsets-system ttf ttf-system ufolint webfonts webfonts-system woff woff-system woff2 woff2-system