X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/65019e440845436e9833b7a2323c0bcfe68707c7..0424bd4dbc8a6a22310e4081d2d5dc852a92ea4c:/Maintenance/makefile diff --git a/Maintenance/makefile b/Maintenance/makefile index 87c0c2533..5cce2bf1c 100644 --- a/Maintenance/makefile +++ b/Maintenance/makefile @@ -6,20 +6,25 @@ # www.lufa-lib.org # -# Maintenance scripts not required by general LUFA users, used for development. +# Maintenance scripts not required by general LUFA users, used for project development purposes. LUFA_ROOT = ../ all: + +# Update all Doxygen configuration files to the latest Doxygen version - force Markdown support to be disabled upgrade-doxygen: @echo Upgrading Doxygen.conf files... @for doxygen_conf in `find $(LUFA_ROOT) -name Doxygen.conf`; do \ doxygen -u $$doxygen_conf; \ + sed "s/MARKDOWN_SUPPORT *= *YES/MARKDOWN_SUPPORT = NO/1" $$doxygen_conf > $$doxygen_conf.new; \ + mv -u $$doxygen_conf.new $$doxygen_conf; \ done; @echo Doxygen configuration update complete. - -check-release: + +# Check the working branch documentation, ensure no placeholder values +check-documentation-placeholders: @echo Checking for release suitability... @if ( grep "XXXXXX" $(LUFA_ROOT)/LUFA/DoxygenPages/*.txt > /dev/null ;); then \ echo " ERROR: Doxygen documentation has not been updated for release!"; \ @@ -30,3 +35,19 @@ check-release: exit 1; \ fi; @echo Done. + +# Test all generated documentation for any bad links +check-documentation-links: + @for html_file in `find $(LUFA_ROOT) -name *.html`; do \ + echo Checking $$html_file...; \ + cat $$html_file | grep -v "doxygen.org" | grep -v "fourwalledcubicle.com" | wget -nv --referer=www.lufa-lib.org --user-agent="lufa-link-check-script" -B $(dir $$html_file) --spider --force-html --input-file=-; \ + done; + +# Validate the working branch - compile all documentation, demos/projects/examples and run build tests +validate-branch: + make -s -C $(LUFA_ROOT) doxygen + make -s -C $(LUFA_ROOT) all + make -s -C $(LUFA_ROOT)/BuildTests all + +# Validate the working branch for general release, check for placeholder documentation then build and test everything +validate-release: check-documentation-placeholders validate-branch