123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- SRCDIR = ../single_include
- all: create_output
- ##########################################################################
- # example files
- ##########################################################################
- # where are the example cpp files
- EXAMPLES = $(wildcard examples/*.cpp)
- cxx_standard = $(lastword c++11 $(filter c++%, $(subst ., ,$1)))
- # create output from a stand-alone example file
- %.output: %.cpp
- @echo "standard $(call cxx_standard $(<:.cpp=))"
- $(MAKE) $(<:.cpp=) \
- CPPFLAGS="-I $(SRCDIR) -DJSON_USE_GLOBAL_UDLS=0" \
- CXXFLAGS="-std=$(call cxx_standard,$(<:.cpp=)) -Wno-deprecated-declarations"
- ./$(<:.cpp=) > $@
- rm $(<:.cpp=)
- # compare created output with current output of the example files
- %.test: %.cpp
- $(MAKE) $(<:.cpp=) \
- CPPFLAGS="-I $(SRCDIR) -DJSON_USE_GLOBAL_UDLS=0" \
- CXXFLAGS="-std=$(call cxx_standard,$(<:.cpp=)) -Wno-deprecated-declarations"
- ./$(<:.cpp=) > $@
- diff $@ $(<:.cpp=.output)
- rm $(<:.cpp=) $@
- # create output from all stand-alone example files
- create_output: $(EXAMPLES:.cpp=.output)
- # check output of all stand-alone example files
- check_output: $(EXAMPLES:.cpp=.test)
- # check output of all stand-alone example files (exclude files with platform-dependent output.)
- # This target is used in the CI (ci_test_documentation).
- check_output_portable: $(filter-out examples/meta.test examples/max_size.test examples/std_hash.test examples/basic_json__CompatibleType.test,$(EXAMPLES:.cpp=.test))
- clean:
- rm -fr $(EXAMPLES:.cpp=)
- $(MAKE) clean -C docset
- $(MAKE) clean -C mkdocs
|