1# $NetBSD: cond-cmp-string.mk,v 1.3 2020/08/20 18:43:19 rillig Exp $ 2# 3# Tests for string comparisons in .if conditions. 4 5# This is a simple comparison of string literals. 6# Nothing surprising here. 7.if "str" != "str" 8.error 9.endif 10 11# The right-hand side of the comparison may be written without quotes. 12.if "str" != str 13.error 14.endif 15 16# The left-hand side of the comparison must be enclosed in quotes. 17# This one is not enclosed in quotes and thus generates an error message. 18.if str != str 19.error 20.endif 21 22# The left-hand side of the comparison requires a defined variable. 23# The variable named "" is not defined, but applying the :U modifier to it 24# makes it "kind of defined" (see VAR_KEEP). Therefore it is ok here. 25.if ${:Ustr} != "str" 26.error 27.endif 28 29# Any character in a string literal may be escaped using a backslash. 30# This means that "\n" does not mean a newline but a simple "n". 31.if "string" != "\s\t\r\i\n\g" 32.error 33.endif 34 35# It is not possible to concatenate two string literals to form a single 36# string. 37.if "string" != "str""ing" 38.error 39.endif 40