2018-02-01 22:20:26 +01:00
|
|
|
SRCDIR = ../single_include
|
2015-07-08 16:55:29 +02:00
|
|
|
|
2021-12-29 13:41:01 +01:00
|
|
|
all: create_output
|
2015-06-21 21:24:03 +02:00
|
|
|
|
|
|
|
##########################################################################
|
|
|
|
# example files
|
|
|
|
##########################################################################
|
|
|
|
|
|
|
|
# where are the example cpp files
|
|
|
|
EXAMPLES = $(wildcard examples/*.cpp)
|
|
|
|
|
2022-07-31 14:05:58 +02:00
|
|
|
cxx_standard = $(lastword c++11 $(filter c++%, $(subst ., ,$1)))
|
|
|
|
|
2015-06-21 21:24:03 +02:00
|
|
|
# create output from a stand-alone example file
|
|
|
|
%.output: %.cpp
|
2022-07-31 14:05:58 +02:00
|
|
|
@echo "standard $(call cxx_standard $(<:.cpp=))"
|
2022-07-31 17:38:52 +02:00
|
|
|
$(MAKE) $(<:.cpp=) \
|
|
|
|
CPPFLAGS="-I $(SRCDIR) -DJSON_USE_GLOBAL_UDLS=0" \
|
|
|
|
CXXFLAGS="-std=$(call cxx_standard,$(<:.cpp=)) -Wno-deprecated-declarations"
|
2015-06-21 21:24:03 +02:00
|
|
|
./$(<:.cpp=) > $@
|
|
|
|
rm $(<:.cpp=)
|
|
|
|
|
|
|
|
# compare created output with current output of the example files
|
|
|
|
%.test: %.cpp
|
2022-07-31 17:38:52 +02:00
|
|
|
$(MAKE) $(<:.cpp=) \
|
|
|
|
CPPFLAGS="-I $(SRCDIR) -DJSON_USE_GLOBAL_UDLS=0" \
|
|
|
|
CXXFLAGS="-std=$(call cxx_standard,$(<:.cpp=)) -Wno-deprecated-declarations"
|
2015-06-21 21:24:03 +02:00
|
|
|
./$(<:.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)
|
|
|
|
|
2022-07-29 14:28:37 +02:00
|
|
|
# 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))
|
|
|
|
|
2016-05-29 14:06:43 +02:00
|
|
|
clean:
|
2021-12-29 13:41:01 +01:00
|
|
|
rm -fr $(EXAMPLES:.cpp=)
|
2020-08-13 10:52:20 +02:00
|
|
|
$(MAKE) clean -C docset
|
|
|
|
$(MAKE) clean -C mkdocs
|