1236769Sobrien# $Id: cond1,v 1.1.1.3 2011/03/06 00:04:58 sjg Exp $
2236769Sobrien
3236769Sobrien# hard code these!
4236769SobrienTEST_UNAME_S= NetBSD
5236769SobrienTEST_UNAME_M= sparc
6236769SobrienTEST_MACHINE= i386
7236769Sobrien
8236769Sobrien.if ${TEST_UNAME_S}
9236769SobrienOk=var,
10236769Sobrien.endif
11236769Sobrien.if ("${TEST_UNAME_S}")
12236769SobrienOk+=(\"var\"),
13236769Sobrien.endif
14236769Sobrien.if (${TEST_UNAME_M} != ${TEST_MACHINE})
15236769SobrienOk+=(var != var),
16236769Sobrien.endif
17236769Sobrien.if ${TEST_UNAME_M} != ${TEST_MACHINE}
18236769SobrienOk+= var != var,
19236769Sobrien.endif
20236769Sobrien.if !((${TEST_UNAME_M} != ${TEST_MACHINE}) && defined(X))
21236769SobrienOk+= !((var != var) && defined(name)),
22236769Sobrien.endif
23236769Sobrien# from bsd.obj.mk
24236769SobrienMKOBJ?=no
25236769Sobrien.if ${MKOBJ} == "no"
26236769Sobrieno= no
27236769SobrienOk+= var == "quoted",
28236769Sobrien.else
29236769Sobrien.if defined(notMAKEOBJDIRPREFIX) || defined(norMAKEOBJDIR)
30236769Sobrien.if defined(notMAKEOBJDIRPREFIX)
31236769Sobrieno=${MAKEOBJDIRPREFIX}${__curdir}
32236769Sobrien.else
33236769Sobrieno= ${MAKEOBJDIR}
34236769Sobrien.endif
35236769Sobrien.endif
36236769Sobrieno= o
37236769Sobrien.endif
38236769Sobrien
39236769Sobrien# repeat the above to check we get the same result
40236769Sobrien.if ${MKOBJ} == "no"
41236769Sobrieno2= no
42236769Sobrien.else
43236769Sobrien.if defined(notMAKEOBJDIRPREFIX) || defined(norMAKEOBJDIR)
44236769Sobrien.if defined(notMAKEOBJDIRPREFIX)
45236769Sobrieno2=${MAKEOBJDIRPREFIX}${__curdir}
46236769Sobrien.else
47236769Sobrieno2= ${MAKEOBJDIR}
48236769Sobrien.endif
49236769Sobrien.endif
50236769Sobrieno2= o
51236769Sobrien.endif
52236769Sobrien
53236769SobrienPRIMES=2 3 5 7 11
54236769SobrienNUMBERS=1 2 3 4 5
55236769Sobrien
56236769Sobrienn=2
57236769Sobrien.if ${PRIMES:M$n} == ""
58236769SobrienX=not
59236769Sobrien.else
60236769SobrienX=
61236769Sobrien.endif
62236769Sobrien
63236769Sobrien.if ${MACHINE_ARCH} == no-such
64236769SobrienA=one
65236769Sobrien.else
66236769Sobrien.if ${MACHINE_ARCH} == not-this
67236769Sobrien.if ${MACHINE_ARCH} == something-else
68236769SobrienA=unlikely
69236769Sobrien.else
70236769SobrienA=no
71236769Sobrien.endif
72236769Sobrien.endif
73236769SobrienA=other
74236769Sobrien# We expect an extra else warning - we're not skipping here
75236769Sobrien.else
76236769SobrienA=this should be an error
77236769Sobrien.endif
78236769Sobrien
79236769Sobrien.if $X != ""
80236769Sobrien.if $X == not
81236769SobrienB=one
82236769Sobrien.else
83236769SobrienB=other
84236769Sobrien# We expect an extra else warning - we are skipping here
85236769Sobrien.else
86236769SobrienB=this should be an error
87236769Sobrien.endif
88236769Sobrien.else
89236769SobrienB=unknown
90236769Sobrien.endif
91236769Sobrien
92236769Sobrien.if "quoted" == quoted
93236769SobrienC=clever
94236769Sobrien.else
95236769SobrienC=dim
96236769Sobrien.endif
97236769Sobrien
98236769Sobrien.if defined(nosuch) && ${nosuch:Mx} != ""
99236769Sobrien# this should not happen
100236769Sobrien.info nosuch is x
101236769Sobrien.endif
102236769Sobrien
103236769Sobrienall:
104236769Sobrien	@echo "$n is $X prime"
105236769Sobrien	@echo "A='$A' B='$B' C='$C' o='$o,${o2}'"
106236769Sobrien	@echo "Passed:${.newline} ${Ok:S/,/${.newline}/}"
107236769Sobrien	@echo "${NUMBERS:@n@$n is ${("${PRIMES:M$n}" == ""):?not:} prime${.newline}@}"
108236769Sobrien	@echo "${"${DoNotQuoteHere:U0}" > 0:?OK:No}"
109236769Sobrien	@echo "${${NoSuchNumber:U42} > 0:?OK:No}"
110