• Viktor Söderqvist's avatar
    Makefile respect user's REDIS_CFLAGS and OPT (#13073) · 1d77a8e2
    Viktor Söderqvist authored
    This change to the Makefile makes it possible to opt out of
    `-fno-omit-frame-pointer` added in #12973 and `-flto` (#11350). Those
    features were implemented by conditionally modifying the `REDIS_CFLAGS`
    and `REDIS_LDFLAGS` variables. Historically, those variables provided a
    way for users to pass options to the compiler and linker unchanged.
    
    Instead of conditionally appending optimization flags to REDIS_CFLAGS
    and REDIS_LDFLAGS, I want to append them to the OPTIMIZATION variable.
    
    Later in the Makefile, we have `OPT=$(OPTIMIZATION)` (meaning
    OPTIMIZATION is only a default for OPT, but OPT can be overridden by the
    user), and later the flags are combined like this:
    
    FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
        FINAL_LDFLAGS=$(LDFLAGS) $(OPT) $(REDIS_LDFLAGS) $(DEBUG)
    
    This makes it possible for the the user to override all optimization
    flags with e.g. `make OPT=-O1` or just `make OPT=`.
    
    For some reason `-O3` was also already added to REDIS_LDFLAGS by default
    in #12339, so I added OPT to FINAL_LDFLAGS to avoid more complex logic
    (such as introducing a separate LD_OPT variable).
    1d77a8e2
Makefile 16.7 KB