diff options
Diffstat (limited to 'testcase/deprecated_var.mk')
-rw-r--r-- | testcase/deprecated_var.mk | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/testcase/deprecated_var.mk b/testcase/deprecated_var.mk new file mode 100644 index 0000000..2cacbda --- /dev/null +++ b/testcase/deprecated_var.mk @@ -0,0 +1,70 @@ +# 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 |