aboutsummaryrefslogtreecommitdiffstats
path: root/testcase/deprecated_var.mk
diff options
context:
space:
mode:
Diffstat (limited to 'testcase/deprecated_var.mk')
-rw-r--r--testcase/deprecated_var.mk70
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