From 1680ff4f7ee0f9dad5add4ca53d85af75eabaf09 Mon Sep 17 00:00:00 2001 From: bloodstalker Date: Tue, 27 Dec 2016 00:17:22 +0330 Subject: addded the json library by nlohmann --- json/makefile | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 json/makefile (limited to 'json/makefile') diff --git a/json/makefile b/json/makefile new file mode 100644 index 0000000..3e114ca --- /dev/null +++ b/json/makefile @@ -0,0 +1,71 @@ + +#############################################################VARS############################################################# +CXX?=clang++ +LLVM_CONF?=llvm-config +BUILD_MODE?=COV_NO_CLANG +CXX_FLAGS=$(shell $(LLVM_CONF) --cxxflags) + +ifeq ($(BUILD_MODE), COV_USE) +ifneq ($(CXX), clang++) +$(error This build mode is only useable with clang++.) +endif +EXTRA_CXX_FALGS=-I$(shell $(LLVM_CONF) --src-root)/tools/clang/include -I$(shell $(LLVM_CONF) --obj-root)/tools/clang/include\ + -std=c++11 -stdlib=libstdc++ -UNDEBUG -fprofile-instr-use=code.profdata -fexceptions +EXTRA_LD_FLAGS=-v tinyxml2/tinyxml2.o -fprofile-instr-use=code.profdata +endif + +ifeq ($(BUILD_MODE), COV_GEN) +ifneq ($(CXX), clang++) +$(error This build mode is only useable with clang++.) +endif +EXTRA_CXX_FALGS=-I$(shell $(LLVM_CONF) --src-root)/tools/clang/include -I$(shell $(LLVM_CONF) --obj-root)/tools/clang/include\ + -std=c++11 -stdlib=libstdc++ -UNDEBUG -fprofile-instr-generate -fexceptions +EXTRA_LD_FLAGS=-v tinyxml2/tinyxml2.o -fprofile-instr-generate +endif + +#for gcov compatibility +ifeq ($(BUILD_MODE), COV_GNU) +ifneq ($(CXX), clang++) +$(error This build mode is only useable with clang++.) +endif +EXTRA_CXX_FALGS=-I$(shell $(LLVM_CONF) --src-root)/tools/clang/include -I$(shell $(LLVM_CONF) --obj-root)/tools/clang/include\ + -std=c++11 -stdlib=libstdc++ -UNDEBUG -fprofile-arcs -ftest-coverage -fexceptions +EXTRA_LD_FLAGS=-v tinyxml2/tinyxml2.o -fprofile-arcs -ftest-coverage +endif + +ifeq ($(BUILD_MODE), COV_NO_CLANG) +EXTRA_CXX_FALGS=-I$(shell $(LLVM_CONF) --src-root)/tools/clang/include -I$(shell $(LLVM_CONF) --obj-root)/tools/clang/include\ + -std=c++11 -stdlib=libstdc++ -UNDEBUG -fexceptions +EXTRA_LD_FLAGS=-v tinyxml2/tinyxml2.o +endif + +ifeq ($(BUILD_MODE), COV_NO_CLANG_1Z) +ifeq ($(CXX), g++) +$(error This build mode is only useable with clang++.) +endif +EXTRA_CXX_FALGS=-I$(shell $(LLVM_CONF) --src-root)/tools/clang/include -I$(shell $(LLVM_CONF) --obj-root)/tools/clang/include\ + -std=c++1z -stdlib=libstdc++ -UNDEBUG -fexceptions +EXTRA_LD_FLAGS=-v tinyxml2/tinyxml2.o +endif + +ifeq ($(BUILD_MODE), GNU_MODE) +ifneq ($(CXX), g++) +$(error This build mode is only useable with g++.) +endif +EXTRA_CXX_FALGS=-I$(shell $(LLVM_CONF) --src-root)/tools/clang/include -I$(shell $(LLVM_CONF) --obj-root)/tools/clang/include\ + -std=c++11 -stdlib=libstdc++ -UNDEBUG -fexceptions +EXTRA_LD_FLAGS=-v tinyxml2/tinyxml2.o +endif + +CXX_FLAGS+=$(EXTRA_CXX_FALGS) + +###########################################################RULES############################################################## +.DEFAULT: json + +.PHONY: json + +json.o: json.hpp + $(CXX) $(CXX_FLAGS) -c $< -o $@ + +clean: + rm -f *.o \ No newline at end of file -- cgit v1.2.3