michael@0: define COMMANDS michael@0: shellvar=hello michael@0: test "$$shellvar" != "hello" michael@0: endef michael@0: michael@0: define COMMANDS2 michael@0: shellvar=hello; \ michael@0: test "$$shellvar" = "hello" michael@0: endef michael@0: michael@0: define VARWITHCOMMENT # comment michael@0: value michael@0: endef michael@0: michael@0: define TEST3 michael@0: whitespace michael@0: endef michael@0: michael@0: define TEST4 michael@0: define TEST5 michael@0: random michael@0: endef michael@0: endef michael@0: michael@0: ifdef TEST5 michael@0: $(error TEST5 should not be set) michael@0: endif michael@0: michael@0: define TEST6 michael@0: define TEST7 michael@0: random michael@0: endef michael@0: endef michael@0: michael@0: ifdef TEST7 michael@0: $(error TEST7 should not be set) michael@0: endif michael@0: michael@0: define TEST8 michael@0: is this # a comment? michael@0: endef michael@0: michael@0: ifneq ($(TEST8),is this \# a comment?) michael@0: $(error TEST8 value not expected: $(TEST8)) michael@0: endif michael@0: michael@0: # A backslash continuation "hides" the endef michael@0: define TEST9 michael@0: value \ michael@0: endef michael@0: endef michael@0: michael@0: # Test ridiculous spacing michael@0: define TEST10 michael@0: define TEST11 michael@0: baz michael@0: endef michael@0: define TEST12 michael@0: foo michael@0: endef michael@0: endef michael@0: michael@0: all: michael@0: $(COMMANDS) michael@0: $(COMMANDS2) michael@0: test '$(VARWITHCOMMENT)' = 'value' michael@0: test '$(COMMANDS2)' = 'shellvar=hello; test "$$shellvar" = "hello"' michael@0: test "$(TEST3)" = " whitespace" michael@0: @echo TEST-PASS