diff options
Diffstat (limited to 'common.mk')
-rw-r--r-- | common.mk | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/common.mk b/common.mk new file mode 100644 index 0000000..0b5c4d8 --- /dev/null +++ b/common.mk @@ -0,0 +1,85 @@ +CXX=clang++-14 + +ifeq ($(shell which $(CXX)),) +CXX=clang++-13 +endif + +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. + +ifeq ($(CXX),clang++-11) +CXXFLAGS+=-std=c++20 #-stdlib=libc++ +else ifeq ($(CXX),clang++-14) +CXXFLAGS+=-std=c++2b #-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++-14) +LIBS+= \ +-fuse-ld=lld-14 \ +-lstdc++ +else ifeq ($(CXX),clang++-13) +LIBS+= \ +-fuse-ld=lld-13 \ +-lstdc++ +else +LIBS+= \ +-lstdc++ \ +-lstdc++fs +endif + |