Makefile 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # Copyright 2016 The Brotli Authors. All rights reserved.
  2. #
  3. # Distributed under MIT license.
  4. # See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
  5. # Default (Build)
  6. .PHONY: all
  7. # Build
  8. .PHONY: build
  9. # Develop
  10. .PHONY: develop
  11. # Install
  12. .PHONY: install
  13. # Test
  14. .PHONY: test
  15. # Clean
  16. .PHONY: clean
  17. # Format
  18. .PHONY: fix
  19. PYTHON ?= python
  20. YAPF ?= yapf
  21. EXT_SUFFIX=$(shell $(PYTHON) -c 'import sysconfig; print(sysconfig.get_config_var("EXT_SUFFIX"))')
  22. EXT_SOURCES=$(shell find . -name '*.cc')
  23. EXTENSIONS=$(EXT_SOURCES:%.cc=%$(EXT_SUFFIX))
  24. all: build
  25. build: $(EXTENSIONS)
  26. $(EXTENSIONS): $(EXT_SOURCES)
  27. @cd .. && $(PYTHON) setup.py build_ext --inplace
  28. develop:
  29. @cd .. && $(PYTHON) setup.py develop
  30. install:
  31. @cd .. && $(PYTHON) setup.py install
  32. test: build
  33. @echo 'running tests'
  34. @$(PYTHON) -m unittest discover -v -p '*_test.py'
  35. clean:
  36. @cd .. && $(PYTHON) setup.py clean
  37. @find .. -name '*.pyc' | xargs rm -v
  38. @find .. -name '*.so' | xargs rm -v
  39. @find .. -type d -name '__pycache__' | xargs rm -v -r
  40. @find .. -type d -name '*.egg-info' | xargs rm -v -r
  41. fix:
  42. @echo 'formatting code'
  43. -@$(YAPF) --in-place --recursive --verify .