123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- SRCDIR = ../single_include
- 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 -r $(SRCDIR)/nlohmann tmp
- python2 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, JSONSerializer >@@g' html/*.html
- $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberFloatType, AllocatorType JSONSerializer >@@g' html/*.html
- $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >@@g' html/*.html
- $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >@@g' html/*.html
- $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType JSONSerializer >@@g' html/*.html
- $(SED) -i 's@template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>@@g' html/*.html
- $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >@@g' html/*.html
- $(SED) -i 's@< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >@@g' html/*.html
- $(SED) -i 's@JSON_HEDLEY_RETURNS_NON_NULL@@g' html/*.html
- $(SED) -i 's@JSON_HEDLEY_WARN_UNUSED_RESULT@@g' html/*.html
- upload: clean doxygen check_output
- scripts/git-update-ghpages nlohmann/json html
- 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
|