diff options
Diffstat (limited to 'Makerules')
-rw-r--r-- | Makerules | 20 |
1 files changed, 16 insertions, 4 deletions
@@ -7,17 +7,29 @@ OS := $(OS:Darwin=MACOS) HAVE_LIBDL ?= yes -CFLAGS += -Wall -ffunction-sections -fdata-sections + +CFLAGS += -Wall + +ifeq (,$(findstring -fembed-bitcode,$(XCFLAGS))) +# clang does not support these in combination with -fembed-bitcode +CFLAGS += -ffunction-sections -fdata-sections +endif + +ifeq "$(OS)" "MACOS" +LDREMOVEUNREACH = -Wl,-dead_strip +else +LDREMOVEUNREACH = -Wl,--gc-sections +endif ifeq "$(build)" "debug" CFLAGS += -pipe -g -DDEBUG LDFLAGS += -g else ifeq "$(build)" "release" CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer -LDFLAGS += -Wl,--gc-sections -Wl,-s +LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s else ifeq "$(build)" "small" CFLAGS += -pipe -Os -DNDEBUG -fomit-frame-pointer -LDFLAGS += -Wl,--gc-sections -Wl,-s +LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s else ifeq "$(build)" "sanitize" CFLAGS += -pipe -g -DDEBUG -fsanitize=address -fno-omit-frame-pointer LDFLAGS += -fsanitize=address @@ -29,7 +41,7 @@ CFLAGS += -pipe -g -DDEBUG -pg -fprofile-arcs -ftest-coverage LIBS += -lgcov else ifeq "$(build)" "native" CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer -march=native -mfpmath=sse -LDFLAGS += -Wl,--gc-sections -Wl,-s +LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s else ifeq "$(build)" "memento" CFLAGS += -pipe -g -DMEMENTO -DDEBUG LDFLAGS += -g -d -rdynamic |