1*db29cad8SSimon J. Gerraty${VAR} = "foo bar baz" 2*db29cad8SSimon J. Gerratya 3*db29cad8SSimon J. Gerratyb 4*db29cad8SSimon J. Gerratyc 5*db29cad8SSimon J. Gerratyfoo baR baz, bar baz, foo bar baz, fooadd baradd bazadd 6*db29cad8SSimon J. Gerratymkdir -p 'dir' 7*db29cad8SSimon J. Gerratytouch 'dir/obj_1.h' 8*db29cad8SSimon J. Gerratymkdir -p 'dir' 9*db29cad8SSimon J. Gerratyprintf '#include "obj_1.h"\nconst char* obj_1 = "dir/obj_1.c";\n' \ 10*db29cad8SSimon J. Gerraty >'dir/obj_1.c' 11*db29cad8SSimon J. GerratyLocal variables 12*db29cad8SSimon J. Gerraty ${@}="dir/obj_1.o" ${<}="dir/obj_1.c" 13*db29cad8SSimon J. Gerraty ${*}="dir/obj_1" ${?}="dir/obj_1.h dir/obj_1.c" 14*db29cad8SSimon J. Gerraty ${%}="" 15*db29cad8SSimon J. Gerraty 16*db29cad8SSimon J. GerratyDirectory and filename parts of local variables 17*db29cad8SSimon J. Gerraty ${@D}="dir" ${@F}="obj_1.o" 18*db29cad8SSimon J. Gerraty ${<D}="dir" ${<F}="obj_1.c" 19*db29cad8SSimon J. Gerraty ${*D}="dir" ${*F}="obj_1" 20*db29cad8SSimon J. Gerraty ${?D}="dir dir" ${?F}="obj_1.h obj_1.c" 21*db29cad8SSimon J. Gerraty ${%D}="" ${%F}="" 22*db29cad8SSimon J. Gerraty 23*db29cad8SSimon J. GerratyLocal variable substitutions 24*db29cad8SSimon J. Gerraty ${@:.o=}="dir/obj_1" ${<:.c=.C}="dir/obj_1.C" 25*db29cad8SSimon J. Gerraty ${*:=.h}="dir/obj_1.h" ${?:.h=.H}="dir/obj_1.H dir/obj_1.c" 26*db29cad8SSimon J. Gerraty ${%:=}="" 27*db29cad8SSimon J. Gerraty 28*db29cad8SSimon J. GerratyTarget with suffix transformations 29*db29cad8SSimon J. Gerraty ${@D:=append}="dirappend" 30*db29cad8SSimon J. Gerraty ${@F:.o=.O}="obj_1.O" 31*db29cad8SSimon J. Gerraty 32*db29cad8SSimon J. Gerraty Implied source with suffix transformations 33*db29cad8SSimon J. Gerraty ${<D:r=rr}="dirr" 34*db29cad8SSimon J. Gerraty ${<F:.c=.C}="obj_1.C" 35*db29cad8SSimon J. Gerraty 36*db29cad8SSimon J. Gerraty Suffixless target with suffix transformations 37*db29cad8SSimon J. Gerraty ${*D:.=dot}="dir" 38*db29cad8SSimon J. Gerraty ${*F:.a=}="obj_1" 39*db29cad8SSimon J. Gerraty 40*db29cad8SSimon J. Gerraty Out-of-date dependencies with suffix transformations 41*db29cad8SSimon J. Gerraty ${?D:ir=}="d d" 42*db29cad8SSimon J. Gerraty ${?F:.h=.H}="obj_1.H obj_1.c" 43*db29cad8SSimon J. Gerraty 44*db29cad8SSimon J. Gerraty Member with suffix transformations 45*db29cad8SSimon J. Gerraty ${%D:.=}="" 46*db29cad8SSimon J. Gerraty ${%F:${VAR2}=${VAR}}="" 47*db29cad8SSimon J. Gerraty 48*db29cad8SSimon J. Gerratycc -c -o 'dir/obj_1.o' 'dir/obj_1.c' 49*db29cad8SSimon J. Gerratymkdir -p '.' 50*db29cad8SSimon J. Gerratytouch 'dummy' 51*db29cad8SSimon J. GerratyLocal variables 52*db29cad8SSimon J. Gerraty ${@}="lib.a" ${<}="dir/obj_1.o" 53*db29cad8SSimon J. Gerraty ${*}="obj1" ${?}="dir/obj_1.o dummy" 54*db29cad8SSimon J. Gerraty ${%}="obj1.o" 55*db29cad8SSimon J. Gerraty 56*db29cad8SSimon J. GerratyDirectory and filename parts of local variables 57*db29cad8SSimon J. Gerraty ${@D}="." ${@F}="lib.a" 58*db29cad8SSimon J. Gerraty ${<D}="dir" ${<F}="obj_1.o" 59*db29cad8SSimon J. Gerraty ${*D}="." ${*F}="obj1" 60*db29cad8SSimon J. Gerraty ${?D}="dir ." ${?F}="obj_1.o dummy" 61*db29cad8SSimon J. Gerraty ${%D}="." ${%F}="obj1.o" 62*db29cad8SSimon J. Gerraty 63*db29cad8SSimon J. GerratyLocal variable substitutions 64*db29cad8SSimon J. Gerraty ${@:.o=}="lib.a" ${<:.c=.C}="dir/obj_1.o" 65*db29cad8SSimon J. Gerraty ${*:=.h}="obj1.h" ${?:.h=.H}="dir/obj_1.o dummy" 66*db29cad8SSimon J. Gerraty ${%:=}="obj1.o" 67*db29cad8SSimon J. Gerraty 68*db29cad8SSimon J. GerratyTarget with suffix transformations 69*db29cad8SSimon J. Gerraty ${@D:=append}=".append" 70*db29cad8SSimon J. Gerraty ${@F:.o=.O}="lib.a" 71*db29cad8SSimon J. Gerraty 72*db29cad8SSimon J. Gerraty Implied source with suffix transformations 73*db29cad8SSimon J. Gerraty ${<D:r=rr}="dirr" 74*db29cad8SSimon J. Gerraty ${<F:.c=.C}="obj_1.o" 75*db29cad8SSimon J. Gerraty 76*db29cad8SSimon J. Gerraty Suffixless target with suffix transformations 77*db29cad8SSimon J. Gerraty ${*D:.=dot}="dot" 78*db29cad8SSimon J. Gerraty ${*F:.a=}="obj1" 79*db29cad8SSimon J. Gerraty 80*db29cad8SSimon J. Gerraty Out-of-date dependencies with suffix transformations 81*db29cad8SSimon J. Gerraty ${?D:ir=}="d ." 82*db29cad8SSimon J. Gerraty ${?F:.h=.H}="obj_1.o dummy" 83*db29cad8SSimon J. Gerraty 84*db29cad8SSimon J. Gerraty Member with suffix transformations 85*db29cad8SSimon J. Gerraty ${%D:.=}="" 86*db29cad8SSimon J. Gerraty ${%F:${VAR2}=${VAR}}="obj1foo bar baz" 87*db29cad8SSimon J. Gerraty 88*db29cad8SSimon J. Gerratycp 'dir/obj_1.o' 'obj1.o' 89*db29cad8SSimon J. Gerratyar -rcv 'lib.a' 'obj1.o' 90*db29cad8SSimon J. Gerratya - obj1.o 91*db29cad8SSimon J. Gerratyrm -f 'obj1.o' 92*db29cad8SSimon J. Gerratymkdir -p '.' 93*db29cad8SSimon J. Gerratyprintf '#include "obj_2.h"\nconst char* obj_2 = "obj_2.c";\n' \ 94*db29cad8SSimon J. Gerraty >'obj_2.c' 95*db29cad8SSimon J. Gerratymkdir -p '.' 96*db29cad8SSimon J. Gerratytouch 'obj_2.h' 97*db29cad8SSimon J. GerratyLocal variables 98*db29cad8SSimon J. Gerraty ${@}="obj2.o" ${<}="obj_2.c" 99*db29cad8SSimon J. Gerraty ${*}="obj2" ${?}="obj_2.c obj_2.h dir/obj_1.h" 100*db29cad8SSimon J. Gerraty ${%}="" 101*db29cad8SSimon J. Gerraty 102*db29cad8SSimon J. GerratyDirectory and filename parts of local variables 103*db29cad8SSimon J. Gerraty ${@D}="." ${@F}="obj2.o" 104*db29cad8SSimon J. Gerraty ${<D}="." ${<F}="obj_2.c" 105*db29cad8SSimon J. Gerraty ${*D}="." ${*F}="obj2" 106*db29cad8SSimon J. Gerraty ${?D}=". . dir" ${?F}="obj_2.c obj_2.h obj_1.h" 107*db29cad8SSimon J. Gerraty ${%D}="" ${%F}="" 108*db29cad8SSimon J. Gerraty 109*db29cad8SSimon J. GerratyLocal variable substitutions 110*db29cad8SSimon J. Gerraty ${@:.o=}="obj2" ${<:.c=.C}="obj_2.C" 111*db29cad8SSimon J. Gerraty ${*:=.h}="obj2.h" ${?:.h=.H}="obj_2.c obj_2.H dir/obj_1.H" 112*db29cad8SSimon J. Gerraty ${%:=}="" 113*db29cad8SSimon J. Gerraty 114*db29cad8SSimon J. GerratyTarget with suffix transformations 115*db29cad8SSimon J. Gerraty ${@D:=append}=".append" 116*db29cad8SSimon J. Gerraty ${@F:.o=.O}="obj2.O" 117*db29cad8SSimon J. Gerraty 118*db29cad8SSimon J. Gerraty Implied source with suffix transformations 119*db29cad8SSimon J. Gerraty ${<D:r=rr}="." 120*db29cad8SSimon J. Gerraty ${<F:.c=.C}="obj_2.C" 121*db29cad8SSimon J. Gerraty 122*db29cad8SSimon J. Gerraty Suffixless target with suffix transformations 123*db29cad8SSimon J. Gerraty ${*D:.=dot}="dot" 124*db29cad8SSimon J. Gerraty ${*F:.a=}="obj2" 125*db29cad8SSimon J. Gerraty 126*db29cad8SSimon J. Gerraty Out-of-date dependencies with suffix transformations 127*db29cad8SSimon J. Gerraty ${?D:ir=}=". . d" 128*db29cad8SSimon J. Gerraty ${?F:.h=.H}="obj_2.c obj_2.H obj_1.H" 129*db29cad8SSimon J. Gerraty 130*db29cad8SSimon J. Gerraty Member with suffix transformations 131*db29cad8SSimon J. Gerraty ${%D:.=}="" 132*db29cad8SSimon J. Gerraty ${%F:${VAR2}=${VAR}}="" 133*db29cad8SSimon J. Gerraty 134*db29cad8SSimon J. Gerratycc -c -o 'obj2.o' 'obj_2.c' 135*db29cad8SSimon J. Gerratyar -rcv 'lib.a' 'obj2.o' 136*db29cad8SSimon J. Gerratya - obj2.o 137*db29cad8SSimon J. Gerratymkdir -p '.' 138*db29cad8SSimon J. Gerratytouch 'obj3.h' 139*db29cad8SSimon J. Gerratymkdir -p 'dir' 140*db29cad8SSimon J. Gerratytouch 'dir/dummy' 141*db29cad8SSimon J. Gerratymkdir -p '.' 142*db29cad8SSimon J. Gerratyprintf '#include "obj3.h"\nconst char* obj3 = "obj3.c";\n' \ 143*db29cad8SSimon J. Gerraty >'obj3.c' 144*db29cad8SSimon J. GerratyLocal variables 145*db29cad8SSimon J. Gerraty ${@}="lib.a" ${<}="obj3.c" 146*db29cad8SSimon J. Gerraty ${*}="obj3" ${?}="obj3.h dir/dummy obj3.c" 147*db29cad8SSimon J. Gerraty ${%}="obj3.o" 148*db29cad8SSimon J. Gerraty 149*db29cad8SSimon J. GerratyDirectory and filename parts of local variables 150*db29cad8SSimon J. Gerraty ${@D}="." ${@F}="lib.a" 151*db29cad8SSimon J. Gerraty ${<D}="." ${<F}="obj3.c" 152*db29cad8SSimon J. Gerraty ${*D}="." ${*F}="obj3" 153*db29cad8SSimon J. Gerraty ${?D}=". dir ." ${?F}="obj3.h dummy obj3.c" 154*db29cad8SSimon J. Gerraty ${%D}="." ${%F}="obj3.o" 155*db29cad8SSimon J. Gerraty 156*db29cad8SSimon J. GerratyLocal variable substitutions 157*db29cad8SSimon J. Gerraty ${@:.o=}="lib.a" ${<:.c=.C}="obj3.C" 158*db29cad8SSimon J. Gerraty ${*:=.h}="obj3.h" ${?:.h=.H}="obj3.H dir/dummy obj3.c" 159*db29cad8SSimon J. Gerraty ${%:=}="obj3.o" 160*db29cad8SSimon J. Gerraty 161*db29cad8SSimon J. GerratyTarget with suffix transformations 162*db29cad8SSimon J. Gerraty ${@D:=append}=".append" 163*db29cad8SSimon J. Gerraty ${@F:.o=.O}="lib.a" 164*db29cad8SSimon J. Gerraty 165*db29cad8SSimon J. Gerraty Implied source with suffix transformations 166*db29cad8SSimon J. Gerraty ${<D:r=rr}="." 167*db29cad8SSimon J. Gerraty ${<F:.c=.C}="obj3.C" 168*db29cad8SSimon J. Gerraty 169*db29cad8SSimon J. Gerraty Suffixless target with suffix transformations 170*db29cad8SSimon J. Gerraty ${*D:.=dot}="dot" 171*db29cad8SSimon J. Gerraty ${*F:.a=}="obj3" 172*db29cad8SSimon J. Gerraty 173*db29cad8SSimon J. Gerraty Out-of-date dependencies with suffix transformations 174*db29cad8SSimon J. Gerraty ${?D:ir=}=". d ." 175*db29cad8SSimon J. Gerraty ${?F:.h=.H}="obj3.H dummy obj3.c" 176*db29cad8SSimon J. Gerraty 177*db29cad8SSimon J. Gerraty Member with suffix transformations 178*db29cad8SSimon J. Gerraty ${%D:.=}="" 179*db29cad8SSimon J. Gerraty ${%F:${VAR2}=${VAR}}="obj3foo bar baz" 180*db29cad8SSimon J. Gerraty 181*db29cad8SSimon J. Gerratycc -c -o 'obj3.o' 'obj3.c' 182*db29cad8SSimon J. Gerratyar -rcv 'lib.a' 'obj3.o' 183*db29cad8SSimon J. Gerratya - obj3.o 184*db29cad8SSimon J. Gerratyrm -f 'obj3.o' 185*db29cad8SSimon J. Gerratyexit status 0 186