1
0
Fork 0
LibHashSet/config.mk

67 lines
1.4 KiB
Makefile

UNAME := $(strip $(shell uname))
ifeq ($(UNAME),)
$(error Operating system could not be detected!)
endif
DUMPMACHINE := $(strip $(shell $(CC) -dumpmachine))
ifeq ($(DUMPMACHINE),)
$(error C compiler could not be detected!)
endif
ifneq ($(DEBUG),)
XCFLAGS = -Og -g
else
ifneq ($(ASAN),)
XCFLAGS = -O1 -g -fsanitize=address -fno-omit-frame-pointer
XLDFLAGS += -static-libasan
else
XCFLAGS = -Ofast -DNDEBUG
endif
endif
ifneq ($(firstword $(filter x86_64-%,$(DUMPMACHINE))),)
XCFLAGS += -march=x86-64 -mtune=nocona
else ifneq ($(firstword $(filter i686-%,$(DUMPMACHINE))),)
XCFLAGS += -march=pentiumpro -mtune=intel
endif
ifneq ($(firstword $(filter %-mingw32 %-windows-gnu %-cygwin,$(DUMPMACHINE))),)
DLL_LDFLAGS = -shared -Wl,--out-implib,$@.a
EXE_SUFFIX := .exe
DLL_SUFFIX := .dll
ifneq ($(firstword $(filter i686-%,$(DUMPMACHINE))),)
XLDFLAGS += -Wl,--large-address-aware
endif
else
ifneq ($(findstring -apple-darwin,$(DUMPMACHINE)),)
DLL_LDFLAGS = -dynamiclib
DLL_SUFFIX := .dylib
else
DLL_LDFLAGS = -shared
DLL_SUFFIX := .so
endif
endif
ifneq ($(STATIC),)
XLDFLAGS += -static
endif
ifneq ($(FLTO),)
XCFLAGS += -flto
endif
ifneq ($(STRIP),)
XLDFLAGS += -Wl,--strip-all
DLL_LDFLAGS += -Wl,--strip-all
endif
ifneq ($(firstword $(filter MINGW32_NT-% MINGW64_NT-% CYGWIN_NT-%,$(UNAME))),)
ENV_LDPATH := PATH
else
ifneq ($(firstword $(UNAME)),Darwin)
ENV_LDPATH := LD_LIBRARY_PATH
else
ENV_LDPATH := DYLD_LIBRARY_PATH
endif
endif