Build: Add a makefile target for Doxygen documentation #12029

pull Ov3rlo4d wants to merge 1 commits into bitcoin:master from Ov3rlo4d:make-doxygen changing 3 files +25 −2
  1. Ov3rlo4d commented at 5:49 PM on December 26, 2017: contributor

    You can now build the doxygen documentation with make docs and clean it with make clean-docs.

    Fixes: #11949

  2. Ov3rlo4d force-pushed on Dec 26, 2017
  3. fanquake added the label Build system on Dec 27, 2017
  4. fanquake added the label Docs on Dec 27, 2017
  5. fanquake deleted a comment on Dec 27, 2017
  6. fanquake commented at 10:46 PM on December 29, 2017: member

    Tested 0f36dba. make docs and make clean-docs work as intended. @theuni Any thoughts here?

  7. jonasschnelli commented at 6:57 AM on January 4, 2018: contributor

    Looks after a good start. utACK 0f36dba0ef33344c9e73a409cad24b5b90d70f0f

    Not sure if we should check and inform if doxygen is not present.

  8. laanwj commented at 8:07 AM on January 5, 2018: member

    Thanks!

    This needs to be documented in one of the READMEs, so that people know the targets exist.

    Not sure if we should check and inform if doxygen is not present.

    Possible improvement would be to check if doxygen is present in configure.ac, otherwise disable this functionality. Also to not hardcode doxygen command, but use $(DOXYGEN) or such so that it can be overridden. But yes seems a good start as-is.

  9. Ov3rlo4d commented at 11:46 AM on January 5, 2018: contributor

    Thank you for your feedback.

    Possible improvement would be to check if doxygen is present in configure.ac, otherwise disable this functionality.

    At the moment this target it's not executed on a simple make and if you don't have the doxygen command available you get a sensible error message and exit code:

    doxygen doc/Doxyfile
    make: doxygen: Command not found
    make: *** [Makefile:1307: docs] Error 127
    

    Do you want me to add this target to the default build pipeline, but only if $(DOXYGEN) exist? If not, i'm not sure what you mean when you say to disable it when the command doesn't exist, since this patch doesn't do anything until you invoke make docs or make clean-docs deliberately, in which case you already get a sensible result.

    No problem with the other changes, i'll make them as soon as i have some free time.

  10. theuni commented at 3:31 AM on January 10, 2018: member

    Concept ACK. Agreed with @laanwj's comments.

    doxygen may not be found in the user's path, it may instead be passed like: ./configure DOXYGEN=/my/path/to/doxygen.

    Having it configured as a tool in configure.ac ensures that that works properly. It also means that we can skip it if it's ever added to the main build, but doxygen isn't installed.

    Please use real makefile targets so that the dependencies are obvious. And lastly, please hook it up to clean-local so that 'make clean' removes them as well. Something like:

    doc/doxygen/.stamp: doc/Doxyfile FORCE
    	$(MKDIR_P) $(@D)
    	$(DOXYGEN) $^
    	$(AM_V_at) touch $@
    docs: doc/Doxygen/.stamp
    
    clean-docs:
    	rm -rf doc/doxygen
    
    ...
    
    clean-local: clean-docs
    
  11. Ov3rlo4d force-pushed on Jan 14, 2018
  12. Ov3rlo4d commented at 2:33 PM on January 14, 2018: contributor

    I made a new commit (rebased on current master) that implement the requested changes:

    • configure support
    • disable in case doxygen is missing
    • note in the documentation

    Let me know of you want me to add something else, thanks.

  13. Ov3rlo4d closed this on Jan 25, 2018

  14. Ov3rlo4d force-pushed on Jan 25, 2018
  15. Build: Add a makefile target for Doxygen documentation
    You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`.
    
    Fixes: #11949
    a777244e48
  16. Ov3rlo4d reopened this on Jan 25, 2018

  17. laanwj commented at 10:25 AM on February 12, 2018: member

    Looks good to me! Can you take another look @theuni?

  18. laanwj assigned laanwj on Feb 12, 2018
  19. theuni commented at 8:55 PM on February 12, 2018: member

    Thanks for addressing everything. utACK a777244e48227db6d3fd06cd2500cc007dacfb10.

  20. fanquake commented at 11:04 AM on February 14, 2018: member

    utACK a777244

  21. MarcoFalke commented at 1:35 PM on February 14, 2018: member

    ACK a777244. Only checked that make docs prints an error, when doxygen is not present.

  22. jonasschnelli merged this on Feb 17, 2018
  23. jonasschnelli closed this on Feb 17, 2018

  24. jonasschnelli referenced this in commit daa84b3354 on Feb 17, 2018
  25. PastaPastaPasta referenced this in commit 6f6aef3d49 on Jun 13, 2020
  26. PastaPastaPasta referenced this in commit 06b6f2b10c on Jun 13, 2020
  27. PastaPastaPasta referenced this in commit 8f94ccdc26 on Jun 14, 2020
  28. PastaPastaPasta referenced this in commit 89615b926f on Jun 17, 2020
  29. PastaPastaPasta referenced this in commit b1b2cb9ce4 on Jun 17, 2020
  30. PastaPastaPasta referenced this in commit 8f72a687d5 on Jun 17, 2020
  31. PastaPastaPasta referenced this in commit a0dac26647 on Jun 17, 2020
  32. gades referenced this in commit 94622eb90a on Jun 28, 2021
  33. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 21:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me