Makefile 940 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # Copyright (c) 2019 SiFive Inc.
  2. #
  3. # Documentation Build
  4. .PHONY: all
  5. all: html pdf
  6. .PHONY: clean
  7. clean: clean-pdf clean-html clean-xml
  8. ##########################
  9. # Build PDF Documentation
  10. ##########################
  11. .PHONY: pdf
  12. pdf: latex/FreedomMetal.pdf
  13. latex/FreedomMetal.pdf: latex/FreedomMetal.tex
  14. $(MAKE) -C latex
  15. latex/FreedomMetal.tex: xml/index.xml sphinx/*
  16. sphinx-build -b latex sphinx latex
  17. .PHONY: clean-pdf
  18. clean-pdf:
  19. rm -rf latex
  20. ###########################
  21. # Build HTML Documentation
  22. ###########################
  23. .PHONY: html
  24. html: html/index.html
  25. # Use Sphinx to build HTML from Doxygen XML
  26. html/index.html: xml/index.xml sphinx/*
  27. sphinx-build -b html sphinx html
  28. .PHONY: clean-html
  29. clean-html:
  30. rm -rf html/* html/.buildinfo html/.doctrees
  31. ##########################
  32. # Build XML Documentation
  33. ##########################
  34. xml/index.xml: ../metal/*.h
  35. cd .. && doxygen
  36. .PHONY: clean-xml
  37. clean-xml:
  38. rm -rf xml