CXX=clang++-13 ifeq ($(shell which $(CXX)),) CXX=clang++-11 endif ifeq ($(shell which $(CXX)),) CXX=g++-11 endif ifeq ($(shell which $(CXX)),) CXX=g++-10 endif ifeq ($(shell which $(CXX)),) CXX=g++-8 endif ifeq ($(shell which $(CXX)),) CXX=clang++ endif ifeq ($(shell which $(CXX)),) CXX=g++-10 endif ifeq ($(shell which $(CXX)),) CXX=g++-9 endif ifeq ($(shell which $(CXX)),) CXX=g++ endif ifeq ($(LINK_STATICALLY),1) LDFLAGS+=-static endif ifeq ($(CXXFLAGS),) #CXXFLAGS=-O2 -g -DNDEBUG CXXFLAGS=-O0 -g -D_DEBUG endif # -fprofile-instr-generate -fcoverage-mapping # gcc:--coverage CXXFLAGS+=-Wall -I. CXXFLAGS+=-pthread ifeq ($(CXX),clang++-11) CXXFLAGS+=-std=c++20 #-stdlib=libc++ else ifeq ($(CXX),clang++-13) CXXFLAGS+=-std=c++2b #-stdlib=libc++ else ifeq ($(CXX),g++-11) CXXFLAGS+=-std=c++20 #-stdlib=libc++ else CXXFLAGS+=-std=c++17 endif ifeq ($(CXX),clang++-11) LIBS+= \ -fuse-ld=lld-11 \ -lstdc++ #-lc++ \ #-lc++abi #-lc++fs #-lstdc++fs else ifeq ($(CXX),clang++-13) LIBS+= \ -fuse-ld=lld-13 \ -lstdc++ else LIBS+= \ -lstdc++ \ -lstdc++fs endif