.PHONY: pretty clean ChangeLog.md release

##########################################################################
# configuration
##########################################################################

# directory to recent compiler binaries
COMPILER_DIR=/Users/niels/Documents/projects/compilers/local/bin

# find GNU sed to use `-i` parameter
SED:=$(shell command -v gsed || which sed)


##########################################################################
# source files
##########################################################################

# the list of sources in the include folder
SRCS=$(shell find include -type f | sort)

# the single header (amalgamated from the source files)
AMALGAMATED_FILE=single_include/nlohmann/json.hpp


##########################################################################
# documentation of the Makefile's targets
##########################################################################

# main target
all:
	@echo "amalgamate - amalgamate file single_include/nlohmann/json.hpp from the include/nlohmann sources"
	@echo "ChangeLog.md - generate ChangeLog file"
	@echo "check - compile and execute test suite"
	@echo "check-amalgamation - check whether sources have been amalgamated"
	@echo "clean - remove built files"
	@echo "coverage - create coverage information with lcov"
	@echo "cppcheck - analyze code with cppcheck"
	@echo "cpplint - analyze code with cpplint"
	@echo "clang_tidy - analyze code with Clang-Tidy"
	@echo "clang_analyze - analyze code with Clang-Analyzer"
	@echo "doctest - compile example files and check their output"
	@echo "fuzz_testing - prepare fuzz testing of the JSON parser"
	@echo "fuzz_testing_bson - prepare fuzz testing of the BSON parser"
	@echo "fuzz_testing_cbor - prepare fuzz testing of the CBOR parser"
	@echo "fuzz_testing_msgpack - prepare fuzz testing of the MessagePack parser"
	@echo "fuzz_testing_ubjson - prepare fuzz testing of the UBJSON parser"
	@echo "json_unit - create single-file test executable"
	@echo "pedantic_clang - run Clang with maximal warning flags"
	@echo "pedantic_gcc - run GCC with maximal warning flags"
	@echo "pretty - beautify code with Artistic Style"
	@echo "run_benchmarks - build and run benchmarks"


##########################################################################
# unit tests
##########################################################################

# build unit tests
json_unit:
	@$(MAKE) json_unit -C test

# run unit tests
check:
	$(MAKE) check -C test


##########################################################################
# coverage
##########################################################################

coverage:
	rm -fr build_coverage
	mkdir build_coverage
	cd build_coverage ; cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DJSON_Coverage=ON -DJSON_MultipleHeaders=ON
	cd build_coverage ; ninja
	cd build_coverage ; ctest -j10
	cd build_coverage ; ninja lcov_html
	open build_coverage/test/html/index.html

##########################################################################
# documentation tests
##########################################################################

# compile example files and check output
doctest:
	$(MAKE) check_output -C doc


##########################################################################
# warning detector
##########################################################################

# calling Clang with all warnings, except:
# -Wno-c++2a-compat: u8 literals will behave differently in C++20...
# -Wno-deprecated-declarations: the library deprecated some functions
# -Wno-documentation-unknown-command: code uses user-defined commands like @complexity
# -Wno-exit-time-destructors: warning in json code triggered by NLOHMANN_JSON_SERIALIZE_ENUM
# -Wno-float-equal: not all comparisons in the tests can be replaced by Approx
# -Wno-keyword-macro: unit-tests use "#define private public"
# -Wno-padded: padding is nothing to warn about
# -Wno-range-loop-analysis: items tests "for(const auto i...)"
# -Wno-switch-enum -Wno-covered-switch-default: pedantic/contradicting warnings about switches
# -Wno-weak-vtables: exception class is defined inline, but has virtual method
pedantic_clang:
	rm -fr build_pedantic
	CXXFLAGS=" \
		-std=c++11 -Wno-c++98-compat -Wno-c++98-compat-pedantic \
		-Werror \
		-Weverything \
		-Wno-c++2a-compat \
		-Wno-deprecated-declarations \
		-Wno-documentation-unknown-command \
		-Wno-exit-time-destructors \
		-Wno-float-equal \
		-Wno-keyword-macro \
		-Wno-padded \
		-Wno-range-loop-analysis \
		-Wno-switch-enum -Wno-covered-switch-default \
		-Wno-weak-vtables" cmake -S . -B build_pedantic -GNinja -DCMAKE_BUILD_TYPE=Debug -DJSON_MultipleHeaders=ON -DJSON_BuildTests=On
	cmake --build build_pedantic

# calling GCC with most warnings
pedantic_gcc:
	rm -fr build_pedantic
	CXXFLAGS=" \
		-std=c++11 \
		-pedantic \
		-Werror \
		--all-warnings                                    \
		--extra-warnings                                  \
		-W                                                \
		-Wno-abi-tag                                         \
		-Waddress                                         \
		-Waddress-of-packed-member                        \
		-Wno-aggregate-return                                \
		-Waggressive-loop-optimizations                   \
		-Waligned-new=all                                 \
		-Wall                                             \
		-Walloc-zero                                      \
		-Walloca                                          \
		-Wanalyzer-double-fclose                          \
		-Wanalyzer-double-free                            \
		-Wanalyzer-exposure-through-output-file           \
		-Wanalyzer-file-leak                              \
		-Wanalyzer-free-of-non-heap                       \
		-Wanalyzer-malloc-leak                            \
		-Wanalyzer-null-argument                          \
		-Wanalyzer-null-dereference                       \
		-Wanalyzer-possible-null-argument                 \
		-Wanalyzer-possible-null-dereference              \
		-Wanalyzer-stale-setjmp-buffer                    \
		-Wanalyzer-tainted-array-index                    \
		-Wanalyzer-too-complex                            \
		-Wanalyzer-unsafe-call-within-signal-handler      \
		-Wanalyzer-use-after-free                         \
		-Wanalyzer-use-of-pointer-in-stale-stack-frame    \
		-Warith-conversion                                \
		-Warray-bounds                                    \
		-Warray-bounds=2                                  \
		-Wattribute-alias=2                               \
		-Wattribute-warning                               \
		-Wattributes                                      \
		-Wbool-compare                                    \
		-Wbool-operation                                  \
		-Wbuiltin-declaration-mismatch                    \
		-Wbuiltin-macro-redefined                         \
		-Wc++0x-compat                                    \
		-Wc++11-compat                                    \
		-Wc++14-compat                                    \
		-Wc++17-compat                                    \
		-Wc++1z-compat                                    \
		-Wc++20-compat                                    \
		-Wc++2a-compat                                    \
		-Wcannot-profile                                  \
		-Wcast-align                                      \
		-Wcast-align=strict                               \
		-Wcast-function-type                              \
		-Wcast-qual                                       \
		-Wcatch-value=3                                   \
		-Wchar-subscripts                                 \
		-Wclass-conversion                                \
		-Wclass-memaccess                                 \
		-Wclobbered                                       \
		-Wcomma-subscript                                 \
		-Wcomment                                         \
		-Wcomments                                        \
		-Wconditionally-supported                         \
		-Wconversion                                      \
		-Wconversion-null                                 \
		-Wcoverage-mismatch                               \
		-Wcpp                                             \
		-Wctor-dtor-privacy                               \
		-Wdangling-else                                   \
		-Wdate-time                                       \
		-Wdelete-incomplete                               \
		-Wdelete-non-virtual-dtor                         \
		-Wdeprecated                                      \
		-Wdeprecated-copy                                 \
		-Wdeprecated-copy-dtor                            \
		-Wdeprecated-declarations                         \
		-Wdisabled-optimization                           \
		-Wdiv-by-zero                                     \
		-Wdouble-promotion                                \
		-Wduplicated-branches                             \
		-Wduplicated-cond                                 \
		-Weffc++                                          \
		-Wempty-body                                      \
		-Wendif-labels                                    \
		-Wenum-compare                                    \
		-Wexpansion-to-defined                            \
		-Wextra                                           \
		-Wextra-semi                                      \
		-Wfloat-conversion                                \
		-Wfloat-equal                                     \
		-Wformat -Wformat-contains-nul                    \
		-Wformat -Wformat-extra-args                      \
		-Wformat -Wformat-nonliteral                      \
		-Wformat -Wformat-security                        \
		-Wformat -Wformat-y2k                             \
		-Wformat -Wformat-zero-length                     \
		-Wformat-diag                                     \
		-Wformat-overflow=2                               \
		-Wformat-signedness                               \
		-Wformat-truncation=2                             \
		-Wformat=2                                        \
		-Wframe-address                                   \
		-Wfree-nonheap-object                             \
		-Whsa                                             \
		-Wif-not-aligned                                  \
		-Wignored-attributes                              \
		-Wignored-qualifiers                              \
		-Wimplicit-fallthrough=5                          \
		-Winaccessible-base                               \
		-Winherited-variadic-ctor                         \
		-Winit-list-lifetime                              \
		-Winit-self                                       \
		-Winline                                          \
		-Wint-in-bool-context                             \
		-Wint-to-pointer-cast                             \
		-Winvalid-memory-model                            \
		-Winvalid-offsetof                                \
		-Winvalid-pch                                     \
		-Wliteral-suffix                                  \
		-Wlogical-not-parentheses                         \
		-Wlogical-op                                      \
		-Wno-long-long                                       \
		-Wlto-type-mismatch                               \
		-Wmain                                            \
		-Wmaybe-uninitialized                             \
		-Wmemset-elt-size                                 \
		-Wmemset-transposed-args                          \
		-Wmisleading-indentation                          \
		-Wmismatched-tags                                 \
		-Wmissing-attributes                              \
		-Wmissing-braces                                  \
		-Wmissing-declarations                            \
		-Wmissing-field-initializers                      \
		-Wmissing-include-dirs                            \
		-Wmissing-profile                                 \
		-Wmultichar                                       \
		-Wmultiple-inheritance                            \
		-Wmultistatement-macros                           \
		-Wno-namespaces                                      \
		-Wnarrowing                                       \
		-Wno-noexcept                                        \
		-Wnoexcept-type                                   \
		-Wnon-template-friend                             \
		-Wnon-virtual-dtor                                \
		-Wnonnull                                         \
		-Wnonnull-compare                                 \
		-Wnonportable-cfstrings                           \
		-Wnormalized=nfkc                                 \
		-Wnull-dereference                                \
		-Wodr                                             \
		-Wold-style-cast                                  \
		-Wopenmp-simd                                     \
		-Woverflow                                        \
		-Woverlength-strings                              \
		-Woverloaded-virtual                              \
		-Wpacked                                          \
		-Wpacked-bitfield-compat                          \
		-Wpacked-not-aligned                              \
		-Wno-padded                                          \
		-Wparentheses                                     \
		-Wpedantic                                        \
		-Wpessimizing-move                                \
		-Wplacement-new=2                                 \
		-Wpmf-conversions                                 \
		-Wpointer-arith                                   \
		-Wpointer-compare                                 \
		-Wpragmas                                         \
		-Wprio-ctor-dtor                                  \
		-Wpsabi                                           \
		-Wredundant-decls                                 \
		-Wredundant-move                                  \
		-Wredundant-tags                                  \
		-Wregister                                        \
		-Wreorder                                         \
		-Wrestrict                                        \
		-Wreturn-local-addr                               \
		-Wreturn-type                                     \
		-Wscalar-storage-order                            \
		-Wsequence-point                                  \
		-Wshadow=compatible-local                         \
		-Wshadow=global                                   \
		-Wshadow=local                                    \
		-Wshift-count-negative                            \
		-Wshift-count-overflow                            \
		-Wshift-negative-value                            \
		-Wshift-overflow=2                                \
		-Wsign-compare                                    \
		-Wsign-conversion                                 \
		-Wsign-promo                                      \
		-Wsized-deallocation                              \
		-Wsizeof-array-argument                           \
		-Wsizeof-pointer-div                              \
		-Wsizeof-pointer-memaccess                        \
		-Wstack-protector                                 \
		-Wstrict-aliasing                                 \
		-Wstrict-aliasing=3                               \
		-Wstrict-null-sentinel                            \
		-Wstrict-overflow                                 \
		-Wstrict-overflow=5                               \
		-Wstring-compare                                  \
		-Wstringop-overflow                               \
		-Wstringop-overflow=4                             \
		-Wstringop-truncation                             \
		-Wsubobject-linkage                               \
		-Wsuggest-attribute=cold                          \
		-Wsuggest-attribute=const                         \
		-Wsuggest-attribute=format                        \
		-Wsuggest-attribute=malloc                        \
		-Wsuggest-attribute=noreturn                      \
		-Wsuggest-attribute=pure                          \
		-Wsuggest-final-methods                           \
		-Wsuggest-final-types                             \
		-Wsuggest-override                                \
		-Wswitch                                          \
		-Wswitch-bool                                     \
		-Wswitch-default                                  \
		-Wno-switch-enum                                     \
		-Wswitch-outside-range                            \
		-Wswitch-unreachable                              \
		-Wsync-nand                                       \
		-Wsynth                                           \
		-Wno-system-headers                                  \
		-Wtautological-compare                            \
		-Wno-templates                                       \
		-Wterminate                                       \
		-Wtrampolines                                     \
		-Wtrigraphs                                       \
		-Wtype-limits                                     \
		-Wundef                                           \
		-Wuninitialized                                   \
		-Wunknown-pragmas                                 \
		-Wunreachable-code                                \
		-Wunsafe-loop-optimizations                       \
		-Wunused                                          \
		-Wunused-but-set-parameter                        \
		-Wunused-but-set-variable                         \
		-Wunused-const-variable=2                         \
		-Wunused-function                                 \
		-Wunused-label                                    \
		-Wno-unused-local-typedefs                           \
		-Wunused-macros                                   \
		-Wunused-parameter                                \
		-Wunused-result                                   \
		-Wunused-value                                    \
		-Wunused-variable                                 \
		-Wuseless-cast                                    \
		-Wvarargs                                         \
		-Wvariadic-macros                                 \
		-Wvector-operation-performance                    \
		-Wvirtual-inheritance                             \
		-Wvirtual-move-assign                             \
		-Wvla                                             \
		-Wvolatile                                        \
		-Wvolatile-register-var                           \
		-Wwrite-strings                                   \
		-Wzero-as-null-pointer-constant                   \
		-Wzero-length-bounds                              \
		" cmake -S . -B build_pedantic -GNinja -DCMAKE_BUILD_TYPE=Debug -DJSON_MultipleHeaders=ON -DJSON_BuildTests=On
	cmake --build build_pedantic

##########################################################################
# benchmarks
##########################################################################

run_benchmarks:
	rm -fr build_benchmarks
	mkdir build_benchmarks
	cd build_benchmarks ; cmake ../benchmarks -GNinja -DCMAKE_BUILD_TYPE=Release -DJSON_BuildTests=On
	cd build_benchmarks ; ninja
	cd build_benchmarks ; ./json_benchmarks

##########################################################################
# fuzzing
##########################################################################

# the overall fuzz testing target
fuzz_testing:
	rm -fr fuzz-testing
	mkdir -p fuzz-testing fuzz-testing/testcases fuzz-testing/out
	$(MAKE) parse_afl_fuzzer -C test CXX=afl-clang++
	mv test/parse_afl_fuzzer fuzz-testing/fuzzer
	find test/data/json_tests -size -5k -name *json | xargs -I{} cp "{}" fuzz-testing/testcases
	@echo "Execute: afl-fuzz -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer"

fuzz_testing_bson:
	rm -fr fuzz-testing
	mkdir -p fuzz-testing fuzz-testing/testcases fuzz-testing/out
	$(MAKE) parse_bson_fuzzer -C test CXX=afl-clang++
	mv test/parse_bson_fuzzer fuzz-testing/fuzzer
	find test/data -size -5k -name *.bson | xargs -I{} cp "{}" fuzz-testing/testcases
	@echo "Execute: afl-fuzz -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer"

fuzz_testing_cbor:
	rm -fr fuzz-testing
	mkdir -p fuzz-testing fuzz-testing/testcases fuzz-testing/out
	$(MAKE) parse_cbor_fuzzer -C test CXX=afl-clang++
	mv test/parse_cbor_fuzzer fuzz-testing/fuzzer
	find test/data -size -5k -name *.cbor | xargs -I{} cp "{}" fuzz-testing/testcases
	@echo "Execute: afl-fuzz -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer"

fuzz_testing_msgpack:
	rm -fr fuzz-testing
	mkdir -p fuzz-testing fuzz-testing/testcases fuzz-testing/out
	$(MAKE) parse_msgpack_fuzzer -C test CXX=afl-clang++
	mv test/parse_msgpack_fuzzer fuzz-testing/fuzzer
	find test/data -size -5k -name *.msgpack | xargs -I{} cp "{}" fuzz-testing/testcases
	@echo "Execute: afl-fuzz -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer"

fuzz_testing_ubjson:
	rm -fr fuzz-testing
	mkdir -p fuzz-testing fuzz-testing/testcases fuzz-testing/out
	$(MAKE) parse_ubjson_fuzzer -C test CXX=afl-clang++
	mv test/parse_ubjson_fuzzer fuzz-testing/fuzzer
	find test/data -size -5k -name *.ubjson | xargs -I{} cp "{}" fuzz-testing/testcases
	@echo "Execute: afl-fuzz -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer"

fuzzing-start:
	afl-fuzz -S fuzzer1 -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer > /dev/null &
	afl-fuzz -S fuzzer2 -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer > /dev/null &
	afl-fuzz -S fuzzer3 -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer > /dev/null &
	afl-fuzz -S fuzzer4 -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer > /dev/null &
	afl-fuzz -S fuzzer5 -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer > /dev/null &
	afl-fuzz -S fuzzer6 -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer > /dev/null &
	afl-fuzz -S fuzzer7 -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer > /dev/null &
	afl-fuzz -M fuzzer0 -i fuzz-testing/testcases -o fuzz-testing/out fuzz-testing/fuzzer

fuzzing-stop:
	-killall fuzzer
	-killall afl-fuzz


##########################################################################
# Static analysis
##########################################################################

# call cppcheck <http://cppcheck.sourceforge.net>
# Note: this target is called by Travis
cppcheck:
	cppcheck --enable=warning --inline-suppr --inconclusive --force --std=c++11 $(AMALGAMATED_FILE) --error-exitcode=1

# call Clang Static Analyzer <https://clang-analyzer.llvm.org>
clang_analyze:
	rm -fr clang_analyze_build
	mkdir clang_analyze_build
	cd clang_analyze_build ; CCC_CXX=$(COMPILER_DIR)/clang++ CXX=$(COMPILER_DIR)/clang++ $(COMPILER_DIR)/scan-build cmake .. -GNinja -DJSON_BuildTests=On
	cd clang_analyze_build ; \
		$(COMPILER_DIR)/scan-build \
			-enable-checker alpha.core.BoolAssignment,alpha.core.CallAndMessageUnInitRefArg,alpha.core.CastSize,alpha.core.CastToStruct,alpha.core.Conversion,alpha.core.DynamicTypeChecker,alpha.core.FixedAddr,alpha.core.PointerArithm,alpha.core.PointerSub,alpha.core.SizeofPtr,alpha.core.StackAddressAsyncEscape,alpha.core.TestAfterDivZero,alpha.deadcode.UnreachableCode,core.builtin.BuiltinFunctions,core.builtin.NoReturnFunctions,core.CallAndMessage,core.DivideZero,core.DynamicTypePropagation,core.NonnilStringConstants,core.NonNullParamChecker,core.NullDereference,core.StackAddressEscape,core.UndefinedBinaryOperatorResult,core.uninitialized.ArraySubscript,core.uninitialized.Assign,core.uninitialized.Branch,core.uninitialized.CapturedBlockVariable,core.uninitialized.UndefReturn,core.VLASize,cplusplus.InnerPointer,cplusplus.Move,cplusplus.NewDelete,cplusplus.NewDeleteLeaks,cplusplus.SelfAssignment,deadcode.DeadStores,nullability.NullableDereferenced,nullability.NullablePassedToNonnull,nullability.NullableReturnedFromNonnull,nullability.NullPassedToNonnull,nullability.NullReturnedFromNonnull \
			--use-c++=$(COMPILER_DIR)/clang++ -analyze-headers -o report ninja
	open clang_analyze_build/report/*/index.html

# call cpplint <https://github.com/cpplint/cpplint>
# Note: some errors expected due to false positives
cpplint:
	third_party/cpplint/cpplint.py \
		--filter=-whitespace,-legal,-readability/alt_tokens,-runtime/references,-runtime/explicit \
		--quiet --recursive $(SRCS)

# call Clang-Tidy <https://clang.llvm.org/extra/clang-tidy/>
clang_tidy:
	$(COMPILER_DIR)/clang-tidy $(AMALGAMATED_FILE) -- -Iinclude -std=c++11

# call PVS-Studio Analyzer <https://www.viva64.com/en/pvs-studio/>
pvs_studio:
	rm -fr pvs_studio_build
	mkdir pvs_studio_build
	cd pvs_studio_build ; cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=On
	cd pvs_studio_build ; pvs-studio-analyzer analyze -j 10
	cd pvs_studio_build ; plog-converter -a'GA:1,2;64:1;CS' -t fullhtml PVS-Studio.log -o pvs
	open pvs_studio_build/pvs/index.html

# call Infer <https://fbinfer.com> static analyzer
infer:
	rm -fr infer_build
	mkdir infer_build
	cd infer_build ; infer compile -- cmake .. ; infer run -- make -j 4

# call OCLint <http://oclint.org> static analyzer
oclint:
	oclint $(SRCS) -report-type html -enable-global-analysis -o oclint_report.html -max-priority-1=10000 -max-priority-2=10000 -max-priority-3=10000 -- -std=c++11 -Iinclude
	open oclint_report.html

# execute the test suite with Clang sanitizers (address and undefined behavior)
clang_sanitize:
	rm -fr clang_sanitize_build
	mkdir clang_sanitize_build
	cd clang_sanitize_build ; CXX=$(COMPILER_DIR)/clang++ cmake .. -DJSON_Sanitizer=On -DJSON_MultipleHeaders=ON -DJSON_BuildTests=On -GNinja
	cd clang_sanitize_build ; ninja
	cd clang_sanitize_build ; ctest -j10


##########################################################################
# Code format and source amalgamation
##########################################################################

# call the Artistic Style pretty printer on all source files
pretty:
	astyle \
		--style=allman \
		--indent=spaces=4 \
		--indent-modifiers \
	    --indent-switches \
	    --indent-preproc-block \
	    --indent-preproc-define \
	    --indent-col1-comments \
	    --pad-oper \
	    --pad-header \
	    --align-pointer=type \
	    --align-reference=type \
	    --add-brackets \
	    --convert-tabs \
	    --close-templates \
	    --lineend=linux \
	    --preserve-date \
	    --suffix=none \
	    --formatted \
	   $(SRCS) $(AMALGAMATED_FILE) test/src/*.cpp benchmarks/src/benchmarks.cpp doc/examples/*.cpp

# create single header file
amalgamate: $(AMALGAMATED_FILE)

# call the amalgamation tool and pretty print
$(AMALGAMATED_FILE): $(SRCS)
	third_party/amalgamate/amalgamate.py -c third_party/amalgamate/config.json -s . --verbose=yes
	$(MAKE) pretty

# check if file single_include/nlohmann/json.hpp has been amalgamated from the nlohmann sources
# Note: this target is called by Travis
check-amalgamation:
	@mv $(AMALGAMATED_FILE) $(AMALGAMATED_FILE)~
	@$(MAKE) amalgamate
	@diff $(AMALGAMATED_FILE) $(AMALGAMATED_FILE)~ || (echo "===================================================================\n  Amalgamation required! Please read the contribution guidelines\n  in file .github/CONTRIBUTING.md.\n===================================================================" ; mv $(AMALGAMATED_FILE)~ $(AMALGAMATED_FILE) ; false)
	@mv $(AMALGAMATED_FILE)~ $(AMALGAMATED_FILE)

# check if every header in nlohmann includes sufficient headers to be compiled individually
check-single-includes:
	@for x in $(SRCS); do \
	  echo "Checking self-sufficiency of $$x..." ; \
	  echo "#include <$$x>\nint main() {}\n" | sed 's|include/||' > single_include_test.cpp; \
	  $(CXX) $(CXXFLAGS) -Iinclude -std=c++11 single_include_test.cpp -o single_include_test; \
	  rm -f single_include_test.cpp single_include_test; \
	done


##########################################################################
# CMake
##########################################################################

# grep "^option" CMakeLists.txt test/CMakeLists.txt | sed 's/(/ /' | awk '{print $2}' | xargs

# check if all flags of our CMake files work
check_cmake_flags_do:
	$(CMAKE_BINARY) --version
	for flag in '' JSON_BuildTests JSON_Install JSON_MultipleHeaders JSON_Sanitizer JSON_Valgrind JSON_NoExceptions JSON_Coverage; do \
		rm -fr cmake_build; \
		mkdir cmake_build; \
		echo "$(CMAKE_BINARY) .. -D$$flag=On" ; \
		cd cmake_build ; \
		CXX=g++-8 $(CMAKE_BINARY) .. -D$$flag=On -DCMAKE_CXX_COMPILE_FEATURES="cxx_std_11;cxx_range_for" -DCMAKE_CXX_FLAGS="-std=gnu++11" ; \
		test -f Makefile || exit 1 ; \
		cd .. ; \
	done;

# call target `check_cmake_flags_do` twice: once for minimal required CMake version 3.1.0 and once for the installed version
check_cmake_flags:
	wget https://github.com/Kitware/CMake/releases/download/v3.1.0/cmake-3.1.0-Darwin64.tar.gz
	tar xfz cmake-3.1.0-Darwin64.tar.gz
	CMAKE_BINARY=$(abspath cmake-3.1.0-Darwin64/CMake.app/Contents/bin/cmake) $(MAKE) check_cmake_flags_do
	CMAKE_BINARY=$(shell which cmake) $(MAKE) check_cmake_flags_do


##########################################################################
# ChangeLog
##########################################################################

# Create a ChangeLog based on the git log using the GitHub Changelog Generator
# (<https://github.com/github-changelog-generator/github-changelog-generator>).

# variable to control the diffs between the last released version and the current repository state
NEXT_VERSION ?= "unreleased"

ChangeLog.md:
	github_changelog_generator -o ChangeLog.md --user nlohmann --project json --simple-list --release-url https://github.com/nlohmann/json/releases/tag/%s --future-release $(NEXT_VERSION)
	$(SED) -i 's|https://github.com/nlohmann/json/releases/tag/HEAD|https://github.com/nlohmann/json/tree/HEAD|' ChangeLog.md
	$(SED) -i '2i All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).' ChangeLog.md


##########################################################################
# Release files
##########################################################################

# Create the files for a release and add signatures and hashes. We use `-X` to make the resulting ZIP file
# reproducible, see <https://content.pivotal.io/blog/barriers-to-deterministic-reproducible-zip-files>.

release:
	rm -fr release_files
	mkdir release_files
	zip -9 --recurse-paths -X include.zip $(SRCS) $(AMALGAMATED_FILE) meson.build
	gpg --armor --detach-sig include.zip
	mv include.zip include.zip.asc release_files
	gpg --armor --detach-sig $(AMALGAMATED_FILE)
	cp $(AMALGAMATED_FILE) release_files
	mv $(AMALGAMATED_FILE).asc release_files
	cd release_files ; shasum -a 256 json.hpp > hashes.txt
	cd release_files ; shasum -a 256 include.zip >> hashes.txt


##########################################################################
# Maintenance
##########################################################################

# clean up
clean:
	rm -fr json_unit json_benchmarks fuzz fuzz-testing *.dSYM test/*.dSYM oclint_report.html
	rm -fr benchmarks/files/numbers/*.json
	rm -fr cmake-3.1.0-Darwin64.tar.gz cmake-3.1.0-Darwin64
	rm -fr build_coverage build_benchmarks fuzz-testing clang_analyze_build pvs_studio_build infer_build clang_sanitize_build cmake_build
	$(MAKE) clean -Cdoc
	$(MAKE) clean -Ctest

##########################################################################
# Thirdparty code
##########################################################################

update_hedley:
	rm -f include/nlohmann/thirdparty/hedley/hedley.hpp include/nlohmann/thirdparty/hedley/hedley_undef.hpp
	curl https://raw.githubusercontent.com/nemequ/hedley/master/hedley.h -o include/nlohmann/thirdparty/hedley/hedley.hpp
	gsed -i 's/HEDLEY_/JSON_HEDLEY_/g' include/nlohmann/thirdparty/hedley/hedley.hpp
	grep "[[:blank:]]*#[[:blank:]]*undef" include/nlohmann/thirdparty/hedley/hedley.hpp | grep -v "__" | sort | uniq | gsed 's/ //g' | gsed 's/undef/undef /g' > include/nlohmann/thirdparty/hedley/hedley_undef.hpp
	$(MAKE) amalgamate
