| SRCDIR = ../src | |
| SED:=$(shell command -v gsed || which sed) | |
| all: doxygen | |
| ########################################################################## | |
| # example files | |
| ########################################################################## | |
| # where are the example cpp files | |
| EXAMPLES = $(wildcard examples/*.cpp) | |
| # create output from a stand-alone example file | |
| %.output: %.cpp | |
| make $(<:.cpp=) CPPFLAGS="-I $(SRCDIR)" CXXFLAGS="-std=c++11" | |
| ./$(<:.cpp=) > $@ | |
| rm $(<:.cpp=) | |
| # compare created output with current output of the example files | |
| %.test: %.cpp | |
| make $(<:.cpp=) CPPFLAGS="-I $(SRCDIR)" CXXFLAGS="-std=c++11" | |
| ./$(<:.cpp=) > $@ | |
| diff $@ $(<:.cpp=.output) | |
| rm $(<:.cpp=) $@ | |
| # create links to try the code online | |
| %.link: %.cpp | |
| rm -fr tmp | |
| mkdir tmp | |
| cp $(SRCDIR)/json.hpp tmp | |
| scripts/send_to_wandbox.py tmp $< > $@.tmp | |
| /bin/echo -n "<a target=\"_blank\" href=\"`cat $@.tmp`\"><b>online</b></a>" > $@ | |
| rm -fr tmp $@.tmp | |
| # create output from all stand-alone example files | |
| create_output: $(EXAMPLES:.cpp=.output) | |
| create_links: $(EXAMPLES:.cpp=.link) | |
| # check output of all stand-alone example files | |
| check_output: $(EXAMPLES:.cpp=.test) | |
| clean: | |
| rm -fr me.nlohmann.json.docset html $(EXAMPLES:.cpp=) | |
| ########################################################################## | |
| # Doxygen HTML documentation | |
| ########################################################################## | |
| # create Doxygen documentation | |
| doxygen: create_output create_links | |
| doxygen | |
| $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberFloatType, AllocatorType >@@g' html/*.html | |
| $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberFloatType, AllocatorType >@@g' html/*.html | |
| $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType >@@g' html/*.html | |
| $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType >@@g' html/*.html | |
| upload: clean doxygen check_output | |
| cd html ; ../scripts/git-update-ghpages nlohmann/json | |
| rm -fr html | |
| open http://nlohmann.github.io/json/ | |
| ########################################################################## | |
| # docset | |
| ########################################################################## | |
| # create docset for Dash | |
| docset: create_output | |
| cp Doxyfile Doxyfile_docset | |
| $(SED) -i 's/DISABLE_INDEX = NO/DISABLE_INDEX = YES/' Doxyfile_docset | |
| $(SED) -i 's/SEARCHENGINE = YES/SEARCHENGINE = NO/' Doxyfile_docset | |
| $(SED) -i 's@HTML_EXTRA_STYLESHEET = css/mylayout.css@HTML_EXTRA_STYLESHEET = css/mylayout_docset.css@' Doxyfile_docset | |
| rm -fr html *.docset | |
| doxygen Doxyfile_docset | |
| $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberFloatType, AllocatorType >@@g' html/*.html | |
| $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberFloatType, AllocatorType >@@g' html/*.html | |
| make -C html | |
| mv html/*.docset . | |
| $(SED) -i 's@<string>doxygen</string>@<string>json</string>@' me.nlohmann.json.docset/Contents/Info.plist | |
| rm -fr Doxyfile_docset html |