3 # Copyright (C) Dean Camera, 2011.
5 # dean [at] fourwalledcubicle [dot] com
9 # Maintenance scripts not required by general LUFA users, used for project development purposes.
16 # Update all Doxygen configuration files to the latest Doxygen version - force Markdown support to be disabled
18 @echo Upgrading Doxygen.conf files...
19 @for doxygen_conf in `find $(LUFA_ROOT) -name Doxygen.conf`; do \
20 doxygen -u $$doxygen_conf; \
21 sed "s/MARKDOWN_SUPPORT *= *YES/MARKDOWN_SUPPORT = NO/1" $$doxygen_conf > $$doxygen_conf.new; \
22 mv -u $$doxygen_conf.new $$doxygen_conf; \
24 @echo Doxygen configuration update complete.
26 # Check the working branch documentation, ensure no placeholder values
27 check-documentation-placeholders:
28 @echo Checking for release suitability...
29 @if ( grep "XXXXXX" $(LUFA_ROOT)/LUFA/DoxygenPages/*.txt > /dev/null ;); then \
30 echo " ERROR: Doxygen documentation has not been updated for release!"; \
33 @if ( grep "000000" $(LUFA_ROOT)/LUFA/Version.h > /dev/null ;); then \
34 echo " ERROR: Version header has not been updated for release!"; \
39 # Test all generated documentation for any bad links
40 check-documentation-links:
41 @for html_file in `find $(LUFA_ROOT) -name *.html`; do \
42 echo Checking $$html_file...; \
43 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=-; \
46 # Validate the working branch - compile all documentation, demos/projects/examples and run build tests
48 make -s -C $(LUFA_ROOT) doxygen
49 make -s -C $(LUFA_ROOT) all
50 make -s -C $(LUFA_ROOT)/BuildTests all
52 # Validate the working branch for general release, check for placeholder documentation then build and test everything
53 validate-release: check-documentation-placeholders validate-branch