aboutsummaryrefslogtreecommitdiff
path: root/testcase
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-05-30 18:41:21 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-05-30 18:43:40 +0900
commit390115c9f284c66aeda94d36e01533f7b668627d (patch)
treea00ee4a558330113761d89371b196614820e6d94 /testcase
parentc15a82489decf50137c0e25626b80d2fa8de17a8 (diff)
downloadkati-390115c9f284c66aeda94d36e01533f7b668627d.tar.gz
Handle nested define/endef
This fixes #72.
Diffstat (limited to 'testcase')
-rw-r--r--testcase/err_unmatched_endef.mk9
-rw-r--r--testcase/nested_define.mk21
2 files changed, 30 insertions, 0 deletions
diff --git a/testcase/err_unmatched_endef.mk b/testcase/err_unmatched_endef.mk
new file mode 100644
index 0000000..b1a44ce
--- /dev/null
+++ b/testcase/err_unmatched_endef.mk
@@ -0,0 +1,9 @@
+define test1
+# Typo below, endif instead of endef
+endif
+define test2
+endef
+
+foo:
+ echo FAIL
+
diff --git a/testcase/nested_define.mk b/testcase/nested_define.mk
new file mode 100644
index 0000000..8de444a
--- /dev/null
+++ b/testcase/nested_define.mk
@@ -0,0 +1,21 @@
+define outer
+ define inner
+PASS
+ endef
+ define inner_fail
+FAIL
+ endef
+endef
+
+# Prefixed defines don't increase the nest level.
+define outer_override
+override define inner2
+export define inner3
+endef
+
+A := $(inner_fail)
+$(eval $(outer))
+
+foo:
+ echo $(A)
+ echo $(inner)