.DEFAULT_GOAL := help PUBLIC_DIR = public PUBLIC_IMG_DIR = $(PUBLIC_DIR)/img DOXYGEN_IMG_DIR = doxygen_build/html/docs/figures all: pdf html ug-pdf ug-html # Public folder $(PUBLIC_DIR): @mkdir -p $(PUBLIC_DIR) # Copy images for datasheet and ug html $(PUBLIC_IMG_DIR): $(PUBLIC_DIR) @mkdir -p $@ cp -vr figures/* $@ # Copy images for doxygen $(DOXYGEN_IMG_DIR): @mkdir -p $@ cp -vr figures/* $@ # Generate PDF datasheet pdf: $(PUBLIC_DIR) [ -f revnumber.txt ] && REVNUMBER='-a revnumber='"$$(cat revnumber.txt)" || unset REVNUMBER; \ asciidoctor-pdf $$REVNUMBER \ -a allow-uri-read \ -a pdf-theme=neorv32-theme.yml \ -r asciidoctor-diagram \ datasheet/main.adoc \ --out-file $(PUBLIC_DIR)/pdf/NEORV32.pdf # Generate HTML datasheet html: $(PUBLIC_IMG_DIR) $(PUBLIC_DIR) [ -f revnumber.txt ] && REVNUMBER='-a revnumber='"$$(cat revnumber.txt)" || unset REVNUMBER; \ asciidoctor $$REVNUMBER \ -r asciidoctor-diagram \ datasheet/index.adoc \ --out-file $(PUBLIC_DIR)/index.html # Generate PDF user guide ug-pdf: $(PUBLIC_DIR) [ -f revnumber.txt ] && REVNUMBER='-a revnumber='"$$(cat revnumber.txt)" || unset REVNUMBER; \ asciidoctor-pdf $$REVNUMBER \ -a allow-uri-read \ -a pdf-theme=neorv32-theme.yml \ -r asciidoctor-diagram \ userguide/main.adoc \ --out-file $(PUBLIC_DIR)/pdf/NEORV32_UserGuide.pdf # Generate HTML user guide ug-html: $(PUBLIC_IMG_DIR) $(PUBLIC_DIR) [ -f revnumber.txt ] && REVNUMBER='-a revnumber='"$$(cat revnumber.txt)" || unset REVNUMBER; \ asciidoctor $$REVNUMBER \ -r asciidoctor-diagram \ userguide/index.adoc \ --out-file $(PUBLIC_DIR)/ug/index.html # Generate DOXYGEN software documentation doxygen: $(DOXYGEN_IMG_DIR) doxygen Doxyfile # Generate revnumber.txt for overriding the revnumber attribute in 'pdf' and/or 'html' revnumber: if [ `git tag -l | grep nightly` ]; then git tag -d nightly; fi git describe --long --tags | sed 's#\([^-]*-g\)#r\1#;' > revnumber.txt cat revnumber.txt # Build 'pdf' and 'html' in an 'asciidoctor-wavedrom' container container: revnumber docker run --rm -v /$(shell pwd)://documents/ btdi/asciidoctor make all clean: @rm -rf $(PUBLIC_IMG_DIR) @rm -rf $(PUBLIC_DIR) @rm -rf doxygen_build @rm -f revnumber.txt # Help help: @echo "Targets:" @echo " all - build datasheet and user guide as pdf and HTML file" @echo " help - show this text" @echo " pdf - build datasheet as pdf file (public/pdf/NEORV32.pdf)" @echo " html - build datasheet as HTML page (public/index.html)" @echo " ug-pdf - build user guide as pdf file (public/pdf/NEORV32_UserGuide.pdf)" @echo " ug-html - build user guide as HTML page (public/ug/index.html)" @echo " doxygen - build software documentation as HTML page (doxygen_build/html/index.html)" @echo " revnumber - for overriding the revnumber attribute in 'pdf' and/or 'html'" @echo " container - Build 'pdf' and 'html' in an 'asciidoctor-wavedrom' container" @echo " clean - delete output files and directories"