diff --git a/src/Makefile b/src/Makefile index f776fd29d..5747e1ae8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -16,17 +16,20 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh') uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') CLANG := $(findstring clang,$(shell sh -c '$(CC) --version | head -1')) + +# Optimization flags. To override, the OPTIMIZATION variable can be passed, but +# some automatic defaults are added to it. To specify optimization flags +# explicitly without any defaults added, pass the OPT variable instead. OPTIMIZATION?=-O3 ifeq ($(OPTIMIZATION),-O3) ifeq (clang,$(CLANG)) - SERVER_CFLAGS+=-flto + OPTIMIZATION+=-flto else - SERVER_CFLAGS+=-flto=auto + OPTIMIZATION+=-flto=auto endif - SERVER_LDFLAGS+=-O3 -flto endif ifneq ($(OPTIMIZATION),-O0) - SERVER_CFLAGS+=-fno-omit-frame-pointer + OPTIMIZATION+=-fno-omit-frame-pointer endif DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram fpconv NODEPS:=clean distclean @@ -120,7 +123,7 @@ endif -include .make-settings FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(SERVER_CFLAGS) -FINAL_LDFLAGS=$(LDFLAGS) $(SERVER_LDFLAGS) $(DEBUG) +FINAL_LDFLAGS=$(LDFLAGS) $(OPT) $(SERVER_LDFLAGS) $(DEBUG) FINAL_LIBS=-lm DEBUG=-g -ggdb