| # TODO(go): not implemented |
| |
| |
| A := test |
| $(KATI_deprecated_var A B C D) |
| |
| # Writing to an undefined deprecated variable |
| B := test |
| ifndef KATI |
| $(info Makefile:8: B has been deprecated.) |
| endif |
| |
| # Reading from deprecated variables (set before/after/never the deprecation func) |
| # Writing to an undefined deprecated variable |
| D := $(A)$(B)$(C) |
| ifndef KATI |
| $(info Makefile:15: A has been deprecated.) |
| $(info Makefile:15: B has been deprecated.) |
| $(info Makefile:15: C has been deprecated.) |
| $(info Makefile:15: D has been deprecated.) |
| endif |
| |
| # Writing to a reset deprecated variable |
| D += test |
| ifndef KATI |
| $(info Makefile:24: D has been deprecated.) |
| endif |
| |
| # Using a custom message |
| $(KATI_deprecated_var E,Use X instead) |
| E = $(C) |
| ifndef KATI |
| $(info Makefile:31: E has been deprecated. Use X instead.) |
| endif |
| |
| # Expanding a recursive variable with an embedded deprecated variable |
| $(E) |
| ifndef KATI |
| $(info Makefile:37: E has been deprecated. Use X instead.) |
| $(info Makefile:37: C has been deprecated.) |
| endif |
| |
| # All of the previous variable references have been basic SymRefs, now check VarRefs |
| F = E |
| G := $($(F)) |
| ifndef KATI |
| $(info Makefile:45: E has been deprecated. Use X instead.) |
| $(info Makefile:45: C has been deprecated.) |
| endif |
| |
| # And check VarSubst |
| G := $(C:%.o=%.c) |
| ifndef KATI |
| $(info Makefile:52: C has been deprecated.) |
| endif |
| |
| # Deprecated variable used in a rule-specific variable |
| test: A := $(E) |
| ifndef KATI |
| $(info Makefile:58: E has been deprecated. Use X instead.) |
| $(info Makefile:58: C has been deprecated.) |
| # A hides the global A variable, so is not considered deprecated. |
| endif |
| |
| # Deprecated variable used in a rule |
| test: |
| echo $(C)Done |
| ifndef KATI |
| $(info Makefile:67: C has been deprecated.) |
| endif |