1281760Ssjg# $Id: cond1.mk,v 1.1.1.1 2014/08/30 18:57:18 sjg Exp $
2281760Ssjg
3281760Ssjg# hard code these!
4281760SsjgTEST_UNAME_S= NetBSD
5281760SsjgTEST_UNAME_M= sparc
6281760SsjgTEST_MACHINE= i386
7281760Ssjg
8281760Ssjg.if ${TEST_UNAME_S}
9281760SsjgOk=var,
10281760Ssjg.endif
11281760Ssjg.if ("${TEST_UNAME_S}")
12281760SsjgOk+=(\"var\"),
13281760Ssjg.endif
14281760Ssjg.if (${TEST_UNAME_M} != ${TEST_MACHINE})
15281760SsjgOk+=(var != var),
16281760Ssjg.endif
17281760Ssjg.if ${TEST_UNAME_M} != ${TEST_MACHINE}
18281760SsjgOk+= var != var,
19281760Ssjg.endif
20281760Ssjg.if !((${TEST_UNAME_M} != ${TEST_MACHINE}) && defined(X))
21281760SsjgOk+= !((var != var) && defined(name)),
22281760Ssjg.endif
23281760Ssjg# from bsd.obj.mk
24281760SsjgMKOBJ?=no
25281760Ssjg.if ${MKOBJ} == "no"
26281760Ssjgo= no
27281760SsjgOk+= var == "quoted",
28281760Ssjg.else
29281760Ssjg.if defined(notMAKEOBJDIRPREFIX) || defined(norMAKEOBJDIR)
30281760Ssjg.if defined(notMAKEOBJDIRPREFIX)
31281760Ssjgo=${MAKEOBJDIRPREFIX}${__curdir}
32281760Ssjg.else
33281760Ssjgo= ${MAKEOBJDIR}
34281760Ssjg.endif
35281760Ssjg.endif
36281760Ssjgo= o
37281760Ssjg.endif
38281760Ssjg
39281760Ssjg# repeat the above to check we get the same result
40281760Ssjg.if ${MKOBJ} == "no"
41281760Ssjgo2= no
42281760Ssjg.else
43281760Ssjg.if defined(notMAKEOBJDIRPREFIX) || defined(norMAKEOBJDIR)
44281760Ssjg.if defined(notMAKEOBJDIRPREFIX)
45281760Ssjgo2=${MAKEOBJDIRPREFIX}${__curdir}
46281760Ssjg.else
47281760Ssjgo2= ${MAKEOBJDIR}
48281760Ssjg.endif
49281760Ssjg.endif
50281760Ssjgo2= o
51281760Ssjg.endif
52281760Ssjg
53281760SsjgPRIMES=2 3 5 7 11
54281760SsjgNUMBERS=1 2 3 4 5
55281760Ssjg
56281760Ssjgn=2
57281760Ssjg.if ${PRIMES:M$n} == ""
58281760SsjgX=not
59281760Ssjg.else
60281760SsjgX=
61281760Ssjg.endif
62281760Ssjg
63281760Ssjg.if ${MACHINE_ARCH} == no-such
64281760SsjgA=one
65281760Ssjg.else
66281760Ssjg.if ${MACHINE_ARCH} == not-this
67281760Ssjg.if ${MACHINE_ARCH} == something-else
68281760SsjgA=unlikely
69281760Ssjg.else
70281760SsjgA=no
71281760Ssjg.endif
72281760Ssjg.endif
73281760SsjgA=other
74281760Ssjg# We expect an extra else warning - we're not skipping here
75281760Ssjg.else
76281760SsjgA=this should be an error
77281760Ssjg.endif
78281760Ssjg
79281760Ssjg.if $X != ""
80281760Ssjg.if $X == not
81281760SsjgB=one
82281760Ssjg.else
83281760SsjgB=other
84281760Ssjg# We expect an extra else warning - we are skipping here
85281760Ssjg.else
86281760SsjgB=this should be an error
87281760Ssjg.endif
88281760Ssjg.else
89281760SsjgB=unknown
90281760Ssjg.endif
91281760Ssjg
92281760Ssjg.if "quoted" == quoted
93281760SsjgC=clever
94281760Ssjg.else
95281760SsjgC=dim
96281760Ssjg.endif
97281760Ssjg
98281760Ssjg.if defined(nosuch) && ${nosuch:Mx} != ""
99281760Ssjg# this should not happen
100281760Ssjg.info nosuch is x
101281760Ssjg.endif
102281760Ssjg
103281760Ssjgall:
104281760Ssjg	@echo "$n is $X prime"
105281760Ssjg	@echo "A='$A' B='$B' C='$C' o='$o,${o2}'"
106281760Ssjg	@echo "Passed:${.newline} ${Ok:S/,/${.newline}/}"
107281760Ssjg	@echo "${NUMBERS:@n@$n is ${("${PRIMES:M$n}" == ""):?not:} prime${.newline}@}"
108281760Ssjg	@echo "${"${DoNotQuoteHere:U0}" > 0:?OK:No}"
109281760Ssjg	@echo "${${NoSuchNumber:U42} > 0:?OK:No}"
110