dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) (01/06/89)
Read the documentation.... Just to wet your interest, here is a sample makefile: (but remember, this is alpha ... I am expecting bug reports and everything isn't quite done yet) c:blah : ram:*.o ln %(right) -lc32 -o c:blah ram:*.o : *.c *.h cc %(*.c) -o %(left) -Matt #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # dmake.uue # dmake.doc # mf.test # mf2.test # DMakefile # This archive created: Thu Jan 5 15:47:45 1989 export PATH; PATH=/bin:/usr/bin:$PATH echo shar: "extracting 'dmake.uue'" '(29726 characters)' if test -f 'dmake.uue' then echo shar: "will not over-write existing file 'dmake.uue'" else cat << \!Funky!Stuff! > 'dmake.uue' begin 644 dmake M```#\P`````````#``````````(``!#<```#.`````$```/I```0W$[Z,,A. M5?_X2.<(,#M\``'__D)M__Q(;(KR3KI"SEA/2'H"`DALBPQ.NBLT4$](>/_^ M2'H!^DZZ0<903R\`3KI!3%A/*4"+"$)M__IX`6```)0P!$C`Y8`@;0`,)'`( M``P2`"UF?%**2A)G=A`22(!(P&!84FR*_F!F.7P``8L$8%XY?``!BP)@5C`$ M2,!2@+"M``AL+E)$,`1(P.6`(&T`#"\P"`!(;(L,3KHJLE!/,`1(P.6`(&T` M#")P"``2O``M8`8[?``!__I@%)"\````86>N6X!GLE&`9YY1@&>48(121#`$ M2,"PK0`(;0#_9$IM__IG%$AZ`3=.NB^06$](>``43KH!>%A/2'H!/TALBPQ. MNBP*4$\K0/_X9Q8O+?_X3KH!?EA/+RW_^$ZZ.F)83V`82&R+#$AZ`1-.NC3> M4$](>``43KH!-EA/>`%@>#`$2,#E@"!M``PD<`@`#!(`+6=B0FW__DALBO). MNBDP6$\F0&`V+RL`""\*3KHLX%!/2H!F'$AX``$P+(L&2,`O`"\+3KH$Q$_O M``PY0(L&8`XO"TZZ*/A83R9`(`MFQB`+9A(O"DAZ`*A.NC1@4$\[?``*__Q2 M1#`$2,"PK0`(;0#_?DIM__YG*DALBO).NBB^6$\D0"`*9QI(>``!,"R+!DC` M+P`O"DZZ!&!/[P`,.4"+!D*G3KH"H%A/3KH%!C`M__Q(P"\`86183TS?#!!. M74YU1$UA:V5F:6QE``!.;W0@96YO=6=H(&%R9W,@9F]R(&]P=&EO;B$`<@!5 M;F%B;&4@=&\@;W!E;B`E<PH`0V]U;&0@;F]T(&9I;F0@)7,@9&5P96YD86YC M>0H`3E4``"\LBPA.NC\$6$\O`$ZZ/[)83R\M``A.NCTX6$].74YU3E7_]DCG M##!";(L`+RT`"$ZZ%!Q83RM`__QG``'"2'@`#$ZZ.TQ83RM`__@O+?_X3KI` M%EA/4FR+`"!M__Q*$&8,+RW_^$ZZ.SA83V"^)&W__`P2`&%M!@P2`'IO*@P2 M`$%M!@P2`%IO'@P2`#!M!@P2`#EO$@P2`%]G#`P2`"!G!@P2``EF!%**8,8, M$@`]9A`O"B\M__Q.NASJ4$]@`/]L2&W_]B\M__Q.NA0.4$\D0'@`8"(P!$C` MY8`@<@@`#!``.F80,`1(P.6`('((`$HH``%G"%)$N&W_]FW8N&W_]F9X)E(O M"TZZ)^)83SH`2D5G/C`%2,`@0-'+#"@`.O__9BXP!4C`($#1RT(H__\P+?_V M2,`O`$AX``%(>``!0J<O"B\M__A.N@^.3^\`&&`H+RW__$AZ`*Y.NC(^4$\O M+0`(3KH2Z%A/*T#__&<*(&W__$H09P)@YF`F,"W_]DC`+P`P!$C`4H`O`#`$ M2,`O`$*G+PHO+?_X3KH//$_O`!@O+0`(3KH2IEA/*T#__&=((&W__$H09T`O M+?_\3KHG+%A/($!(:``/3KHYQ%A/)$`@2M'\````#B5(``HO+?_\+RH`"DZZ M)O103R\*+RW_^$ZZ/>I03V"H8`#^,$S?##!.74YU0F%D;'D@9F]R;65D(&-O M;6UA;F0@;&EN93H@)7,*``!.50``2.<`,$ALBO).NB7H6$\D0&!R2&R*\DZZ M)=I83R9`8%8O*P`(+RH`"$ZZ*8A03TJ`9CH@:@`4L>L`%&<P(&H`%")K`!0P M$=%0(&H`%")K`!0P*0`"@6@``B!K`!1"4"!K`!1":``")VH`%``4+PM.NB6" M6$\F0"`+9J8O"DZZ)7183R1`(`IFBDJM``AG``"&+RT`"$ZZ)5Q83R1`8'(O M+0`(3KHE3EA/)D!@5B\K``@O*@`(3KHH_%!/2H!F.B!J`!2QZP`49S`@:@`4 M(FL`%#`1T5`@:@`4(FL`%#`I``*!:``"(&L`%$)0(&L`%$)H``(G:@`4`!0O M"TZZ)/983R9`(`MFIB\*3KHDZ%A/)$`@"F:*2JT`"&8(0>R*\BM(``@O+0`( M3KHDREA/)$!@<DALBO).NB2\6$\F0&!6+RL`""\J``A.NBAJ4$]*@&8Z(&H` M%+'K`!1G,"!J`!0B:P`4,!'14"!J`!0B:P`4,"D``H%H``(@:P`40E`@:P`4 M0F@``B=J`!0`%"\+3KHD9%A/)D`@"V:F+PI.NB166$\D0"`*9HI,WPP`3EU. M=4Y5``!(YP`P)&T`"`CJ``$`$35M``X`$B`M`!#1K0`,2&R*\DZZ)!Y83R9` M8#@(*P`!`!%F)B\J``PO*P`(3KHGQ%!/2H!F%"\M`!`O+0`,+PMAK$_O``PK M0``,+PM.NB/D6$\F0"`+9L1(;(KR3KHCU%A/)D!@,@@K``$`$68@(&L`%+'J M`!1F%B\M`!`O+0`,+PM.NO]J3^\`#"M```PO"TZZ(Z!83R9`(`MFRB`M``Q, MWPP`3EU.=4Y5_^A(YP@P>`%*1&<``_X;?``!__MX`$HM__MG``%X0BW_^T*M M__Q(;(KR3KHC7%A/)$!@``%6(&H`%$I0;0`!0@@J``$`$6<``3@(*@```!%F M``$.2&R*\DZZ(RY83R9`8!PO*P`(+RH`#$ZZ)MQ03TJ`9PXO"TZZ(Q!83R9` M(`MFX"`+9DX;?``!__L@:@`44U`(Z@```!$O*@`,3KH%/EA/2H!G$$*G0J<O M"DZZ!5A/[P`,8!XO*@`(3KH%(%A/2H!G$$AX``%"IR\*3KH%.$_O``P(*@`$ M`!%F``"$2FR+`F9\+RH`"$ZZ!/)83TJ`9FY(;?_X+RH`#"\J``A.NA:H3^\` M##M`__8,;``"BOYF)#`M__A(P"\`,"W_]DC`+P`O*@`,+RH`"$AZ`N9.NBW6 M3^\`%`@J``0`$68$<`%@`G``,BW_^,)`9Q1*;?_V9P@":O_W`!!@!@CJ``,` M$2!J`!1*4&882JW__&<.(&W__#`J`!*P:``29`0K2O_\+PI.NB($6$\D0"`* M9@#^J&``_H0,;``!BOYF'DAZ`IE.NB?46$](;(KR3KH/)EA/2'H"EDZZ)\!8 M3R1M__P@"F<``D0@:@`42E!F``(Z>`%*;(K^9QQP`#`J`!(O`"\J``PO*@`( M2'H"84ZZ+1I/[P`0(&H`%#"\__\O*@`(3KH#W%A/2H!F``$*0BW_Z4(M_^A( M;?_N3KHYO%A/2&R*\DZZ(6983R9`8```AB\+3KHA6%A/*T#_ZB!J`!2QZP`4 M9FH(*P```!%F)G``,"L`$"\`+RL`#"\K``A(>@((3KHLID_O`!!(>``>3KKX M_%A/+RL`#$ZZ`V983TJ`9P)@+%(M_^@(*P`#`!%G#`@K``0`$68$4BW_Z2\+ M3KHY9EA/+PM(;?_N3KHXHE!/)FW_ZB`+9@#_>$AM_^Y.NB#,6$]*@&=.$"W_ MZ+`M_^EF!DHM_^AF%DAM_^Y.N@'V6$\@:@`4".@`!``#8`H@:@`4".@``P`# M2&W_[DZZ./Q83R9`2H!G#B\+2&R*\DZZ.#Y03V#B2&R*\DZZ('!83R9`8``` MX"\K``PO*@`(3KHD'%!/2H!F``#"""L````19@``N"!K`!134`CK````$2!J M`!1P`#`H``+`O````!B!:P`0#&P``HK^9E(@:@`4""@`!``#9QXO*P`,+RL` M""\J``PO*@`(2'H`_$ZZ*WQ/[P`48"@@:@`4""@``P`#9QPO*P`,+RL`""\J M``PO*@`(2'H`^4ZZ*U)/[P`4+RL`#$ZZ`AQ83TJ`9Q!"IT*G+PM.N@(V3^\` M#&`>+RL`"$ZZ`?Y83TJ`9Q!(>``!0J<O"TZZ`A9/[P`,+PM.NA^.6$\F0"`+ M9@#_'F``_`!,WPP03EU.=4-/35!!4D4@)7,@.B`E<RP@;V0@/2`E;&0@('9R M(#T@)6QD"@`*4U1!0DQ%($1%4$Q)4U0Z``!024-+140Z("5S(#H@)7,@*'-E M<2,@)60I"@!3;V9T($5R<F]R($14.B`E<R`Z("5S("4P,FQX"@!0<F]P;V=A M=&4@;W5T9&%T960@*"5S.B5S*2`M/B`H)7,Z)7,I"@!0<F]P;V=A=&4@9&%T M92!O:R`H)7,Z)7,I("T^("@E<SHE<RD*``!.50``+PHO+0`(3KH>K%A/)$!. MNAFJ+RT`"$ZZ'IQ83R1`8#!*J@`89Q(@:@`8+R@`#"\J``Q.NAG`4$](>@!" M+RH`#$ZZ&;)03R\*3KH>:EA/)$`@"F;,+RT`"$ZZ'EI83R1`2'H`("\J``A. MNAF*4$\O*@`<81183R1?3EU.=7)I9VAT`&QE9G0``$Y5```O"DJM``AG:B\M M``A.NAX:6$\D0&!8+RH`"DAL@NI.NA[(4$](;(+J3KH>SEA/+P!(;(+J2'@` M`4ZZ%+1/[P`,2&R"ZDAZ`#)(;(%23KHA8D_O``Q*;(L$9@I(;(+J3KH:&%A/ M+PI.NAW`6$\D0"`*9J0D7TY=3G4E<PH`3E4``"\*)&T`"$H29Q@,$@`J9P8, M$@`_9@AP`21?3EU.=5**8.1P`&#R3E7_ZB\*(&T`""\H``AAQEA/.T#_\DAM M__1.NC6R6$]*;?_R9R@@;0`(""@`!0`19QP@;0`((F@`%%)1(&T`"`)H__X` M$'``)%].74YU2FW_\F<*(&T`""`H``A@""!M``@@*``,*T#_[DJM`!!G"B!M M``@@*``(8`@@;0`(("@`#"M`_^I*K0`,9QHO+0`,+RW_ZB\M_^Y(;?_T3KH" MZ$_O`!!@%"\M_^HO+?_N2&W_]$ZZ`R)/[P`,2&W_]$ZZ',)83R1`8$@(Z@`! M`!$@;0`(-6@`$@`22FW_\F8,(&T`""5H``@`"&`02JT`$&<*(&T`""5H``P` M#"\M``@O"DZZ"(A03R\*3KH<>%A/)$`@"F:T2&W_]$ZZ]G)83TIM__)F2$AM M__1.NC3&6$\D0$J`9S(@;0`()6@`'``<2'@``3`LBP9(P"\`+PI.NO?P3^\` M##E`BP8O"DALBO).NC/D4$]@OG`!8`#^WDALBO).NAP06$\D0&```9HO*@`( M(&T`""\H``A.NA^X4$]*@&8``)@(*@`%`!%G``".""H````19@``A"!J`!13 M4`CJ````$4AM__1.NAO(6$\K0/_N8&`O*@`,(&W_[B\H``A(;(KR(&W_[B\H M`!1.N@<N3^\`$"M`_^H@;?_N(FW_ZC-H`!(`$B!M_^H(Z``!`!$@;?_J(6H` M'``<+PHO+?_J3KH'>%!/+RW_[DZZ&V983RM`_^Y*K?_N9IHO*@`,(&T`""\H M``A.NA\*4$]*@&8``,H(*@`!`!%G``#`""H````19@8@:@`44U`(Z@```!$@ M:@`42E!L%$AZ`0!.NB$"6$](>``>3KKRZEA/+RH`"$ZZ_5183TJ`9Q)"ITAM M__0O"DZZ_6Q/[P`,8&Y(;?_T3KH:X%A/*T#_[F!8(&W_[B\H``@O*@`(2&R* M\B\J`!1.N@9*3^\`$"M`_^H@;?_J,6H`$@`2(&W_Z@CH``$`$2!M_^HA:@`< M`!PO"B\M_^I.N@:84$\O+?_N3KH:AEA/*T#_[DJM_^YFHB\*3KH:=%A/)$`@ M"F8`_F1(;?_T3KKT;%A/2&W_]$ZZ,L983R1`2H!G,"!M``@E:``<`!Q"IR!M M``AP`#`H`!(O`"\*3KKU[D_O``PO"DALBO).NC'F4$]@P'`!8`#\X$E.5$52 M3D%,($524D]2("-$:7)E8W1O<GDM,0!.50``+PHO+0`43KH9\%A/)$!@,B\J M``@O*@`(+RT`$"\M``Q.N@",3^\`#"\`+RT`"$*G3KH%4$_O`!`O"DZZ&;Q8 M3R1`(`IFRB1?3EU.=4Y5__A(YP@@2&W_^"\M`!!.N@E64$\D0'@`8#0P!$C` MY8`O,@@`,`1(P.6`+S((`"\M`!`O+0`,82A/[P`,+P`O+0`(0J=.N@3N3^\` M$%)$,`1(P+"M__AMPDS?!!!.74YU3E7_[$CG#C`D;0`()FT`#"@M`!`K2O_\ M*@LL!"!%2A!G*B!%#!``*F<B($4,$``_9QH@1B)%$!"P$6<*<`!,WPQP3EU. M=5*&4H5@T"9%*`8J"B!%2A!G%"!%#!``*F<,($4,$``_9P12A6#F)$40$K`3 M9P1P`&#&2A-F#"!$2A!F!B`M__Q@M@P3`#]F``":($12B"\(($M2B"\(($I2 MB"\(3KK_7$_O``PK0/_X2JW_^&8$<`!@AB!*D>W__#M(__(O+?_X3KH94EA/ M,BW_\DC!T(%4@"\`3KHKY%A/*T#_]#`M__)(P"\`+RW_]"\M__Q.NA;43^\` M#"!$,"W_\B)M__03D```+RW_^#`M__)(P-"M__12@"\`3KH8[E!/("W_]&`` M_Q@O!$ZZ&.Y83]"$*T#_^"!M__BQQ&4``,(O+?_X($M2B"\(($I2B"\(3KK^ MKD_O``PK0/_T9P``FB!*D>W__#M(_^X@;?_XD<0[2/_L+RW_]$ZZ&*!83S(M M_^Y(P="!,BW_[$C!T(%2@"\`3KHK*EA/*T#_\#`M_^Y(P"\`+RW_\"\M__Q. MNA8:3^\`##`M_^Q(P"\`,"W_[DC`T*W_\"\`+P1.NA7\3^\`#"\M__0P+?_N M2,`R+?_L2,'0@="M__`O`$ZZ&!Y03R`M__!@`/Y(4ZW_^&``_SAP`&``_CI. M5?_T2.<,,$AM__1.NB^"6$]X`&`\,"T`&DC`,@1(P="!Y8`@;0`,+S`(`#`M M`!)(P#($2,'0@>6`(&T`#"\P"`!(;?_T0J=.N@*$3^\`$%)$,"T`$DC`,@1( MP="!,BT`%DC!L(%L%C`M`!I(P#($2,'0@3(M`!Y(P;"!;9@P+0`22,`R!$C! MT($R+0`62,&P@6P``+(P+0`:L&T`'F8H0J<P+0`22,`R!$C!T('E@"!M``PO M,`@`2&W_]$*G3KH"#D_O`!!@>#`M`!I(P%*`,BT`'DC!L(%F-C`M`!I(P.6` M(&T`#"\P"``P+0`22,`R!$C!T('E@"!M``PO,`@`2&W_]$*G3KH!QD_O`!!@ M,#`LBP!(P"\`2'H`V$ZZ(:103TAZ`01.NAP*6$](>@$S3KH<`%A/2'H!8TZZ M&_983U)$8`#_.DAM__1.NA8&6$\D0"`*9W`P+0`:2,`R!$C!T($R+0`>2,&P M@6Q:)DI@3C`M`!I(P#($2,'0@>6`(&T`#"\P"``O*P`(2&W_]"\K`!1.N@$Z M3^\`$"H`($4O*``(3KKW]%A/2H!G""!%".@`!0`1+PM.NA6L6$\F0"`+9JY2 M1&"02&W_]$ZZ+>983R1`2H!G%"5M``@`'"\*2&R*\DZZ+2)03V#<3-\,,$Y= M3G5%<G)O<B!L:6YE("5L9"X@(%5N9&5R(&YO<FUA;"!C;VYD:71I;VYS(&]N M92!H87,@=&AE"@!S86UE(&YU;6)E<B!O9B!D97!E;F1A;F-I97,@;VX@=&AE M(&QE9G0@87,@;VX@=&AE(')I9VAT+`!O<B!M;W)E(&]N('1H92!L969T+B`@ M5&AE(&]N;'D@='=O(&-A<V5S(&%L;&]W960@9F]R(&UO<F4`;VX@=&AE(&QE M9G0@:7,@=VAE;B!T:&4@<FEG:'0@:&%S(#`@;W(@,2!A<F=U;65N=',`3E4` M`"\*2'@`($ZZ)]Y83R1`2JT`"&8<2'@`!$ZZ)\Q83RM```A(>``$+RT`"$ZZ M$[Q03TAX`"`O"DZZ$[!03R!M``A24"5M``@`%"5M`!``"$JM`!1G!B`M`!1@ M!D'Z`!P@""5```PO"B\M``Q.NBO(4$\@"B1?3EU.=0``3E4``"!M``@(Z``" M`!$@;0`((F@`%`CI``(``R!M``@A;0`,`!A.74YU3E4``"\$+RT`"$AX`0!( M;(N,3KH4G$_O``Q*@&=J#"P`(XN,9@1"+(N,2&R+C$ZZ%&Y83R\`2&R+C$*G M3KH*5D_O``PX`#`$4T1*0&<N0>R+C`PP``I``&<80>R+C`PP``E``&<,0>R+ MC`PP`"!``&8*0>R+C$(P0`!@RD'LBXP@""@?3EU.=7``8/9.5?_\2.<(("1M M``@O"DZZ%`)83U*`+P!.NB:<6$\K0/_\>``O"B\M__Q.NA/64$\D;?_\2A)G M0`P2`"!G!@P2``EF!%**8/`P!%)$2,#E@$'LANHAB@@`2A)G$`P2`"!G"@P2 M``EG!%**8.Q*$F<&($I2BD(08+P@;0`,,(1![(;J(`A,WP003EU.=4Y5```O M"DAZ`(I.NAB86$\O+0`(3KH2H%A/)$!@8"\J``PO*@`(+RH`%'``,"H`$B\` M(&H`%#`02,`O`'``,"H`$"\`2'H`5TZZ'>I/[P`<""H``@`19Q(@:@`8+R@` M#$AZ`&).NAW.4$](>@!J3KH8-%A/+PI.NA(^6$\D0"`*9IQ(>@!33KH8'%A/ M)%].74YU*$1%4"!,25-4*0!D97`Z("4P,FQX("4R;&0@*",E,FQD*2@E,#AL M>"D@)7,@.B`E<P`@("AC;VQL96-T('1O("5S*0``*$5.1"!/1B!$15`@3$E3 M5"D``$Y5``!(YP`P)&T`#$*22'@`"$ZZ)2Q83R9`2'C__B\M``A.NBD(4$\F M@$J39A(O"TZZ)1Y83W``3-\,`$Y=3G5(>``!2'@!!$ZZ*7I03R=```0O*P`$ M+Q-.NBB(4$]*@&84+RT`"$ZZ%(Q83R\+86I83W``8,(@:P`$2J@`!&T&)+P` M```!(`M@KDY5```O"B1M``@@"F8(<``D7TY=3G4O*@`$+Q).NBA:4$]*@&<F M(&H`!$JH``1L!'``8`)P`2!M`!`@@"!M``PB:@`$4(D@B7`!8,1P`&#`3E4` M`"\*)&T`""`*9@AP`21?3EU.=4JJ``1G#DAX`00O*@`$3KHH^%!/2I)G""\2 M3KHH9%A/+PI.NB0\6$]P`6#.3E7__"\*0JW__$AM__PO+0`(3KK^T%!/)$!* M@&<&+PIAG%A/#*T````!__QF!'`!8`)P`"1?3EU.=4Y5``!(YP`P)&T`""9* M(`IG&$J29PPO$DZZ(^!83UB*8/`O"TZZ(]183TS?#`!.74YU3E7_R$CG`#!( M>``$3KHCJEA/*T#__$)M__AP`#M`__I(P"!M``P@@"\M``@O+0`(3KH0XEA/ M4H`O`$ZZ(WQ83R\`3KH0P%!/*T``""1M``A@`E**2A)G#`P2`#]G!@P2`"IF M[F`"4XJU[0`(90P,$@`O9P8,$@`Z9NRU[0`(9!Q(>@/&2'@``4ZZ(RY83R\` M3KH0<E!/*T#_\&`Z$"H``4B`2,`K0/_@0BH``2\M``@O+0`(3KH07EA/4H`O M`$ZZ(OA83R\`3KH0/%!/*T#_\!5M_^,``2!*4H@K2/_L)&W_[&`"4HI*$F<& M#!(`+V;T$!)(@$C`*T#_X$(22JW_X&<&(`I2@&`"<``K0/_H2&W_Y"\M__!. MNOU@4$\F0$J`9P9*K?_D9C(O+?_P3KHBFEA/+RT`"$ZZ(I!83R\M__Q.NB*& M6$](>@,!3KH4YEA/<`!,WPP`3EU.=4AM_^1(;?_T+PM.NOV<3^\`#$J`9P`" M@B\M__0O+?_L3KH,#E!/2H!G``)J2JW_Z&<``8A*K?_D9\8O$TZZ)9I83RM` M_\PO+?_T3KH/;EA/+P`O+?_H3KH/8EA/(A_2@%2!+P%.NB'X6$\K0/_8+RW_ M]"\M_]A.N@\R4$](>@**+RW_V$ZZ&!Q03R\M_^@O+?_83KH8#E!/2&W_W"\M M_]A.NOX$4$\K0/_4*T#_T"\M_\Q.NB4D6$]*K?_09P``^"!M_]!*D&<``.0, M;0`"__IL3#`M__A(P-"\````"N6`+P!.NB%Z6$\K0/_(,"W_^$C`4H#E@"\` M+RW_R"\M__Q.N@QF3^\`#"\M__Q.NB%@6$\K;?_(__P[?``*__HO+?_P3KH. MEEA/+P`@;?_0+Q!.N@Z(6$\B']*`4H$O`4ZZ(1Y83S(M__A(P>6!(&W__"&` M&``O+?_P,"W_^$C`Y8`@;?_\+S`(`$ZZ#D!03R!M_]`O$#`M__A(P.6`(&W_ M_"\P"`!.NA<<4$\@;?_0+Q!.NB#<6$]8K?_04VW_^E)M__@P+?_X2,!@`/\6 M+RW_U$ZZ(+Q83V```-P,;0`"__IL3#`M__A(P-"\````"N6`+P!.NB"*6$\K M0/_<,"W_^$C`4H#E@"\`+RW_W"\M__Q.N@MV3^\`#"\M__Q.NB!P6$\K;?_< M__P[?``*__HO+?_P3KH-IEA/+P`O+?_T3KH-FEA/(A_2@%*!+P%.NB`P6$\R M+?_X2,'E@2!M__PA@!@`+RW_\#`M__A(P.6`(&W__"\P"`!.N@U24$\R+?_X M2,'E@2!M__PA@!@`+RW_]#`M__A(P.6`(&W__"\P"`!.NA8@4$]3;?_Z4FW_ M^#`M__A(P&``_6HO"TZZ^UQ83S`M__A(P"!M``P@@#`M__A(P.6`(&W__$*P M"``O+?_P3KH?K%A/+RT`"$ZZ'Z)83TIM__AG""`M__Q@`/T<+RW__$ZZ'XI8 M3W``8`#]#`!#;W5L9"!N;W0@;W!E;B!D:7)E8W1O<GD`+P!.5?_F2'@!!$ZZ M'TI83RM`__0[?``!_^9(>/_^+RT`"$ZZ(QY03RM`__QG``#0+RW_]"\M__Q. MNB*^4$]*@&<``+(@;?_T2J@`!&P``*9![?_H(FW_]-/\````A"#9(-D@V4AX M__XO+0`,3KHBU%!/*T#_^&=\+RW_]"\M__A.NB)V4$]*@&=@(&W_]$JH``1L M5B!M__0@+?_HL*@`A&\&0FW_YF!"(&W_]"`H`(2PK?_H9C0@;?_T("W_[+"H M`(AO!D)M_^9@("!M__0@*`"(L*W_[&82(&W_]"`M__"PJ`",;P1";?_F+RW_ M^$ZZ(I983R\M__Q.NB*,6$]*;?_F9@H@;0`0,+P``6!((&T`$$)02'C__B\M M``Q.NB(D4$\K0/_\9RXO+?_T+RW__$ZZ(<903TJ`9Q(@;?_T2J@`!&P((&T` M$#"\``$O+?_\3KHB-%A/+RW_]$ZZ'@I83S`M_^9(P$Y=3G5.5?_\2'@`%$ZZ M'>)83RM`__P@;0`,L>T`"&<D(&T`#`P0`#UG%"!M``P,$``@9PH@;0`,#!`` M"68&4ZT`#JT`#"!M``R1[0`((FW__#-(`!(@;?_\,"@`$DC`4H`O`$ZZ M'8A83R!M__PA0``((&W__#`H`!)(P"\`(&W__"\H``@O+0`(3KH(;$_O``P@ M;?_\,"@`$B!M__PB:``(0C$``"!M``Q*$&<0(&T`#`P0`#UG!E*M``Q@Z"!M M``P,$``]9@12K0`,(&T`#$H09QH@;0`,#!``(&<*(&T`#`P0``EF!E*M``Q@ MWB\M``Q.N@I66$\@;?_\,4``$"!M__PP*``02,!2@"\`3KH<WEA/(&W__"%` M``PO+0`,(&W__"\H``Q.N@H04$\O+?_\2&R``DZZ(4Q03TY=3G5.5?_:2.<. M,"1M``PK2O_\.WP`0/_X2A)G``/24VW_^&<``\I"K?_T0FW_\@P2`"1G!@P2 M`"5F"`PJ`"@``6<$4HI@TG@"8`)21$HR0`!G$`PR`"E``&<(##(`.D``9N@, M,@`I0`!G#`PR`#I``&<$4HI@H@PR`#I``&8$<`%@`G``&T#_^SH$544@2E2( M*TC_[DAL@`).N@BB6$\F0&`T,"L`$K!%9B(P!4C`+P`O+?_N+RL`"$ZZ#$A/ M[P`,2H!F""MK``S_]&`.+PM.N@AL6$\F0"`+9L@@"V<>#!(`)688*VW_]/_N M+RW_]$ZZ"1Q83SH`E\M"K?_T(`MF3$JM``AG1DAL@`Y.N@@P6$\F0&`T,"L` M$K!%9B(P!4C`+P`O+?_N+RL`"$ZZ"]9/[P`,2H!F""MK``S_]&`.+PM.N@?Z M6$\F0"`+9LA*K?_T9P`"*DHM__MG``(B2'@!`$ZZ&TY83RM`_^9(>``!3KH; M0%A/*T#_WB!M_]Y"$%)$##(`(D``9Q8O"DAZ`G!.NA,J4$](>``>3KK?@EA/ M4D0P!$C`T(HK0/_N2C)``&<,##(`(D``9P121&#N##(`(D``9Q8O"DAZ`D=. MNA+N4$](>``>3KK?1EA/,`121$(R```P!%)$##(`.@``9Q8O"DAZ`C!.NA+$ M4$](>``>3KK?'%A/,`121`PR`"(``&<42'H"(TZZ#1183TAX`!Y.NM[\6$\P M!$C`T(HK0/_J2C)``&<,##(`(D``9P121&#N##(`(D``9Q1(>@'N3KH,W%A/ M2'@`'DZZWL183S`$4D1",@``##(`*4``9Q1(>@'.3KH,N%A/2'@`'DZZWJ!8 M3R9M__1@``#:#!,`(&<&#!,`"68$4HM@\$H39P``RGH`8`)214HS4`!G$`PS M`"!0`&<(##,`"5``9N@P!4C`+P`O+?_F+PM.N@3R3^\`##`%2,#7P"!M_^9" M,%``+RW_YB\M_^XO+?_J3KKM"$_O``PK0/_B9VHO+?_>3KH'$%A/+P`O+?_B M3KH'!%A/(A_2@%2!+P%.NAF:6$\K0/_:+RW_WB\M_]I.N@;44$\@;?_:2A!G M#DAZ`0HO+?_:3KH/ME!/+RW_XB\M_]I.N@^H4$\O+?_>3KH9:EA/*VW_VO_> M2A-F`/\D*VW_WO_T.WP``?_R+RW_YDZZ&4A83TJM__1G4"\M__1.N@:$6$\Z M`#P$4D8P!DC`T(HO`$ZZ!G!83U*`+P`P!4C`T(HO`#`&2,#0BB\`3KH$!$_O M``PP!4C`+P`O"B\M__1.N@/P3^\`#&`(,`1(P%*`U<!*;?_R9PHO+?_T3KH8 MVEA/8`#\+"`*D*W__$S?#'!.74YU475O=&4@;6ES<VEN9SH@)7,*`%%U;W1E M(&UI<W-I;F<Z("5S"@!#;VQO;B!M:7-S:6YG.B`E<PH`44T`44TR`%%-,P`@ M`$Y5```O"DAL@`Y.NAU<6$\D0$J`9QXO*@`(3KH88EA/+RH`#$ZZ&%A83R\* M3KH84%A/8-(D7TY=3G5.5?_^2.<`,"\M``A.N@6"6$\[0/_^2&R`#DZZ!*18 M3R1`8!PO+0`,+RH`"$ZZ"%)03TJ`9PXO"DZZ!(983R1`(`IFX"`*9F!(>``4 M3KH7YEA/)$`O+0`,3KH%-EA/-4``$C`J`!)(P%*`+P!.NA?&6$\E0``(+RT` M#"\J``A.N@4`4$]":@`02'@``4ZZ%Z983R5```P@:@`,0A`O"DAL@`Y.NAO> M4$\P*@`02,`R+?_^2,'0@52`+P!.NA=X6$\F0"\J``PO"TZZ!+903TIJ`!!G M#$AZ`#@O"TZZ#9Q03R\M``@O"TZZ#9!03R\J``Q.NA=26$\E2P`,+PM.N@22 M6$\U0``03-\,`$Y=3G4@`$Y5__Q(YP`P)&T`"`P2`"!G!@P2``EF!%**8/`, M$@`M9@)2BB9*8`)2BTH39PP,$P`@9P8,$P`)9NX@2Y'*L?P````"9@``C!`2 M2(!(P`C```6PO````&-F>!`J``%(@$C`",``!;"\````9&9D#!,`(&<&#!,` M"68$4HM@\$H39Q)(>/_^+PM.NAJ&4$\K0/_\8`XO+(L(3KH:(%A/*T#__$JM M__QG%"\M__Q.NAGP6$\O`$ZZ&IY83V`,+PM(>@`D3KH.:E!/<`!,WPP`3EU. M=4*G0J<O"DZZ&?Y/[P`,<`!@YE5N86)L92!T;R!C9"`E<PH``$Y5_\!(YPXP M)&T`""9M``QX`$H39@9*$F<``0`0$DB`2,!@``#2N'P`"&862'H`\DZY```P MC%A/<`!,WPQP3EU.=3`$2,#G@$'M_\`AB@@`,`1(P.>`0>W_Q"&+"`!21%** M8*Y31$I$;18P!$C`YX!![?_$(G`(`$H19@131&#F2D1L!'``8+(P!$C`YX!! M[?_`)'`(`%**,`1(P.>`0>W_Q%*P"``F<`@`4D1@`/]D2A-F"DI$9JQP`&`` M_WY@2AH3NCP`06T*NCP`6FX$",4`!1P2O#P`06T*O#P`6FX$",8`!;H&9PQ* M1&8`_WAP`&``_TA@%)"\````*F<`_RB0O````!5GJ&"V2A-G`E*+2A)G`E** M8`#^^G`!8`#_'%1O;R!M86YY(&QE=F5L<R!O9B`G*B<``"!O``0B;P`(("\` M#+/(9P``YF-TT<#3P#(("`$``&9:,@D(`0``9E*PO````0-E)B(`@OP`+&D> M2.<_/G`L8`J1P$S0?/Q(X3\^4<G_]$A!,`%,WWS\,@#FB&`$(R`C(%'(__J0 MO``!``!D\#`!P+P````'9@1.=1,@4<C__)"\``$``&3R3G4R"`@!``!F6C() M"`$``&92L+P```$#928B`(+\`"QI'DCG/SYP+&`*3-A\_$C1?/S3P%')__1( M03`!3-]\_#(`YHA@!"+8(MA1R/_ZD+P``0``9/`P`<"\````!V8$3G42V%'( M__R0O``!``!D\DYU<@!@!!(O``\@;P`$("\`"-'`L+P````H8P1@"!$!4<C_ M_$YU2.<_/B0("`(``&<$$0%3@`*!````_R0!X4*"0C0!2$*$@28"*`(J`BP" M+@(B0B1")D(H0BI"+$)R,)"!:PA(X#]^D(%J^-!!,CP`!)!!:P8A`I!!:OK0 M06`"$0)1R/_\3-]\_$YU(&\`!"!02I!G*"`(3G4@;P`$(&@`"$JH``1G%B`( M3G4@;P`$(&@`!$JH``1G!"`(3G5P`$YU3.\``P`$($`@4$J09^X@")"!(E`@ M:``$(T@`!"")3G5,[P`#``0@0"!H``A*J``$9MQP`$YU("\`!"!`(%!*D&>Z MD<$@"$YU("\`!"!`(&@`"$JH``1GI)'!(`A.=2`O``0@0"!P&`!*D&>0D<$@ M"$YU("\`!"!`('`8!$JH``1G`/]ZD<$@"$YU(&\`!"`((F\`"!#99OQ.=2!O M``0@"$H89OR1P"`(4X!.=4Y5``!(YP@@)&T`"%.M``Q*K0`,;R0O+0`03KH` M/B@`L+S_____6$]G$"!*4HH0A+B\````"F<"8-)"$KB\_____V80M>T`"&8* M<`!,WP003EU.=2`M``A@\DY5``!(YP@@)&T`""\*3KH`,B@`L+S_____6$]G M("`$8!13D@CJ``,`#'#_3-\$$$Y=3G5@UDJ`9_I9@&?D(`1@ZDY5```O"B1M M``@@4K'J``1E#"\*81I83R1?3EU.=2!24I(0$$B`2,#`O````/]@Z$Y5``!( MYP@P)&T`"!`J``S`/``89PIP_TS?#!!.74YU"*H``@`,2JH`"&8(+PI.NA#$ M6$\0*@`,2(!(P`@```=G-D'L@28F2!`K``Q(@$C`P+P```"$L+P```"$9@Q( M>/__+PM.N@]D4$_7_````!9![(+>M\AET#`J`!!(P"\`+RH`"!`J``U(@$C` M+P!.N@,B*`!*@$_O``QN%$J$9@1P"&`"<!"!*@`,</]@`/]J)*H`""!J``C1 MQ"5(``0@4E*2$!!(@$C`P+P```#_8`#_2$Y5```O"DZZ#^(D0$J`9@AP`"1? M3EU.=2\*+RT`#"\M``AA!D_O``Q@Z$Y5``!(YP@@+RT`$$ZZ#CI![(`:)$A8 M3TH29A(I?`````6,C'``3-\$$$Y=3G4@2B)M``P0&+`99@1*`&;VD"%(@$C` M9P10BF#.+RH`!"\M``A.N@$,*`"PO/____]03V8$<`!@P"!M`!`11``-(&T` M$!%\``$`#"`M`!!@J$Y5``!*K(R,;0H@+(R,L*R`CF\&</].74YU2JT`"&<4 M+RT`"$AZ`#!(;(%23KH`,D_O``P@+(R,Y8!![(!B+S`(`$AZ`!=(;(%23KH` M%'``3^\`#&#`)7,Z(``E<PH``$Y5```I;0`(BNI(;0`0+RT`#$AZ``Y.N@B` M3^\`#$Y=3G5.50``+RR*ZB\M``A.N@R*4$].74YU,#Q__V`$,"\`#E-`:Q0@ M;P`$(F\`"+$)9@Q32$H85\C_]G``3G5C!'`!3G5P_TYU3E4``"\M``Q(>`,! M+RT`"&$(3^\`#$Y=3G5.50``2.</,"1M``A.NA#")FR,D'@`8!!R!B`$3KH2 MEDJS"`!G$E*$,"R"WDC`N(!MYGH&8```R@@M``$`#F<R2'C__R\*3KH3$BP` M4$]G(B\&3KH32B\*3KH2FDJ`4$]F$$ZZ$MXJ`+"\````S68``)!(>`/M+PI. MNA+N+`!*AE!/9F`(+0````YF!'H!8'!(>`/N+PI.NA+0+`!03V8(3KH2H"H` M8%A(>``A2'H`FDZZ$Z(N`%!/9PHO!TZZ$R183V`>2'@``4AZ`(HO!DZZ$MI( M>/__0J<O!DZZ$K!/[P`88"H@+0`,P+P```4`L+P```4`9A@O!DZZ$=YZ!%A/ M*46,C'#_3-\,\$Y=3G5R!B`$3KH1H">&"`!R!B`$3KH1E"!`T<LQ;0`.``0( M+0`#``YG$$AX``%"IR\&3KH23D_O``P@!&"^9&]S+FQI8G)A<GD```!.50`` M2.<,("@M``A.N@]L<@8@!$ZZ$4@D0-7LC)!*A&T.,"R"WDC`N(!L!$J29A(I M?`````*,C'#_3-\$,$Y=3G4P*@`$2,#`O`````.PO`````%F#"E\````!8R, M</]@V"\M`!`O+0`,+Q).NA&Z*@"PO/____]/[P`,9@Q.NA%L*4",C'#_8+`@ M!6"L3E4``"\*)&T`"$H29R0@2E**$!!(@$C`+P!.N@HBL+S_____6$]F"'#_ M)%].74YU8-A(>``*3KH*!EA/8.QA<$/L@NI%[(+JM<EF#C(\`GUK"'0`(L)1 MR?_\*4^,E"QX``0I3HR82.>`@`@N``0!*6<02_H`"$ZN_^)@!D*G\U].<T/Z M`"!.KOYH*4",G&8,+CP``X`'3J[_E&`$3KH`&E!/3G5D;W,N;&EB<F%R>0!) M^0``?_Y.=4Y5```O"DAY``$``#`L@M[!_``&+P!.NA$^*4",D%!/9A1"ITAY M``$``$ZZ$/Y03RYLC)1.=2!LC)!":``$(&R,D#%\``$`$"!LC)`Q?``!``H@ M;(R4("R,E)"H``10@"E`C*`@;(R@(+Q-04Y80J=.NA$`)$!*J@"L6$]G,"\M M``PO+0`(+PI.N@"R*7P````!C*0@;(R0`&B````$(&R,D`!H@```"D_O``Q@ M0DAJ`%Q.NA%&2&H`7$ZZ$-XI0(RH(&R,J$JH`"103V<0(&R,J")H`"0O$4ZZ M#W)83R\LC*@O"DZZ`SXI;(RHC*Q03TZZ#ZP@;(R0((!.N@_>(&R,D"%```9G M%DAX`^U(>@`L3KH/NB!LC)`A0``,4$\O+(RL+RR,L$ZZS9A"ITZZ#6!/[P`, M)%].74YU*@!.50``2.<,,"1M`!`@;0`(2J@`K&<8(&T`""`H`*SE@"@`($0@ M*``0Y8`F0&`$)FR"X!`32(!(P-"M``Q4@"E`C+1"IR\LC+1.N@_0*4",N%!/ M9@A,WPPP3EU.=1`32(!(P"H`+P4@2U*(+P@O+(RX3KH!CB!LC+C1Q4/Z`5@0 MV6;\+RT`#"\*+RR,N$ZZ`4X@;(RX0C!8`"E\`````8RP(&R,N-'%)DA2BR1+ M3^\`&!`32(!(P"H`L+P````@9R"ZO`````EG&+J\````#&<0NKP````-9PBZ MO`````IF!%*+8,P,$P`@;0``C`P3`")F,E*+($M2BQ`02(!(P"H`9R`@2E** M$(6ZO````")F$`P3`")F!%*+8`9"*O__8`)@TF!$($M2BQ`02(!(P"H`9S"Z MO````"!G*+J\````"6<@NKP````,9QBZO`````UG$+J\````"F<(($I2BA"% M8,(@2E**0A!*A68"4XM2K(RP8`#_/$(20J<@+(RP4H#E@"\`3KH.E"E`C*Q0 M3V8(0JR,L&``_KYZ`"9LC+A@'B`%Y8`@;(RL(8L(`"!+(`A*&&;\D<!3B%*( MU\A2A;JLC+!MW"`%Y8`@;(RL0K`(`&``_H(@`#`\?_]@!#`O``X@;P`$2AAF M_%-((F\`"%-`$-E7R/_\9P)"$"`O``1.=4SO`P``!"`((B\`#&`"$-E7R?_\ M9P9206`"0AA1R?_\3G5.;R!E<G)O<@!&:6QE(&YO="!F;W5N9`!"860@9FEL M92!H86YD;&4`26YS=69F:6-I96YT(&UE;6]R>0!&:6QE(&5X:7-T<P!);G9A M;&ED(&9U;F-T:6]N(&YU;6)E<@!4;V\@;6%N>2!O<&5N(&9I;&5S`$YO="!A M(&-O;G-O;&4@9&5V:6-E`$EN=F%L:60@86-C97-S(&-O9&4`4F5S=6QT('1O M;R!L87)G90!!<F=U;65N="!O=70@;V8@9&]M86EN``!.50``2.<.,"1M``A" MITAZ`(Y.N@V`*4",O%!/9@A,WPQP3EU.=2!M``PB:``D+RD`!$ZZ#<@H`%A/ M9U)(>@!M($0O*``V3KH-FB9`2H!03V<T2'@#[2\+3KH,3BP`4$]G)"`&Y8`J M`"!%)6@`"`"D)48`G$AX`^U(>@`X3KH,*B5``*!03R\$3KH-9EA/+RR,O$ZZ M#(I"K(R\6$]@@&EC;VXN;&EB<F%R>0!724Y$3U<`*@!.50``2&T`#"\M``A( M>@2@3KH`D$_O``Q.74YU3E4``$CG""`D;0`0#*T````$`!1F""!M``@H$&`4 M2JT`#&\((&T`""@08`8@;0`(*!!"K0`42JT`#&P21*T`#$J$;`I$A"M\```` M`0`4(BT`#"`$3KH#UD'L@))3BA2P"``B+0`,(`1.N@/.*`!FWDJM`!1G!E.* M%+P`+2`*3-\$$$Y=3G5.5?\42.<(,"1M``@F;0`,0JW_^"MM`!#__"!+4HL0 M$$B`2,`H`&<``S2XO````"5F``,.0BW_(BM\`````?_T*WP````@__`K?``` M)Q#_["!+4HL0$$B`2,`H`+"\````+6800JW_]"!+4HL0$$B`2,`H`+B\```` M,&84*WP````P__`@2U*+$!!(@$C`*`"XO````"IF&B!M__Q8K?_\*U#_Z"!+ M4HL0$$B`2,`H`&`T0JW_Z&`B<@H@+?_H3KH)WM"$D+P````P*T#_Z"!+4HL0 M$$B`2,`H`$'L@*4(,``"2`!FTKB\````+F9B($M2BQ`02(!(P"@`L+P````J M9AH@;?_\6*W__"M0_^P@2U*+$!!(@$C`*`!@-$*M_^Q@(G(*("W_[$ZZ"730 MA)"\````,"M`_^P@2U*+$!!(@$C`*`!![("E"#```D@`9M(K?`````3_Y+B\ M````;&86($M2BQ`02(!(P"@`*WP````$_^1@%+B\````:&8,($M2BQ`02(!( MP"@`(`1@``""*WP````(_^!@'"M\````"O_@8!(K?````!#_X&`(*WS____V M_^`O+?_D2&W_(B\M_^`O+?_\3KK]LBM`_]P@+?_DT:W__$_O`!!@7"!M__Q8 MK?_\(E`K2?_<(`E*&6;\D\!3B2M)_^1@2B!M__Q8K?_\*!!![?\A*TC_W!"$ M8"B0O````&-GXE.`9Y*0O`````MG`/]L68!GLE6`9P#_;%>`9P#_<&#,0>W_ M(I'M_]PK2/_D("W_Y+"M_^QO!BMM_^S_Y$JM__1G<"!M_]P,$``M9PH@;?_< M#!``*V8T#*T````P__!F*E.M_^@@;?_<4JW_W!`02(!(P"\`3I*PO/____]8 M3V8*</],WPP03EU.=6`8+RW_\$Z2L+S_____6$]F!'#_8.)2K?_X("W_Z%.M M_^BPK?_D;MI"K?_@8"0@;?_<4JW_W!`02(!(P"\`3I*PO/____]83V8$</]@ MJE*M_^`@;?_<2A!G"B`M_^"PK?_L;<H@+?_@T:W_^$JM__1F*F`:2'@`($Z2 ML+S_____6$]F!G#_8`#_<%*M__@@+?_H4ZW_Z+"M_^1NV&`8+P1.DK"\____ M_UA/9@9P_V``_TA2K?_X8`#\P"`M__A@`/\X2.=(`$*$2H!J!$2`4D1*@6H& M1($*1``!83Y*1&<"1(!,WP`22H!.=4CG2`!"A$J`:@1$@%)$2H%J`D2!81H@ M`6#8+P%A$B`!(A]*@$YU+P%A!B(?2H!.=4CG,`!(04I!9B!(038!-`!"0$A` M@,,B`$A`,@*"PS`!0D%(04S?``Q.=4A!)@$B`$)!2$%(0$)`=`_0@-.!MH%B M!)*#4D!1RO_R3-\`#$YU3E4``$AL@3PO+0`(3KH`"%!/3EU.=4Y5```O!"@M M``@O+0`,+P1.N@`TN+P````*4$]F)B!M``P0*``,2(!(P`@```=G%$AX__\O M+0`,3KH`_%!/*!].74YU8/A.50``+PHD;0`,(%*QZ@`$91H@+0`(P+P```#_ M+P`O"DZZ`,Y03R1?3EU.=2!24I(0+0`+$(!(@$C`P+P```#_8.1.50``+PI! M[($F)$@@2M7\````%B\(81!83T'L@MZUR&7J)%].74YU3E4``$CG""`D;0`( M>``@"F8*</],WP003EU.=4HJ``QG4@@J``(`#&<,2'C__R\*850H`%!/$"H` M#4B`2,`O`$ZZ!32(@`@J``$`#%A/9PHO*@`(3KH"/%A/""H`!0`,9Q(O*@`2 M3KH"V"\J`!).N@(B4$]"DD*J``1"J@`(0BH`#"`$8(Y.5?_^2.<(("1M``A! M^O]$*4B,P`@J``0`#&<*</],WP003EU.=0@J``(`#&<T(%*1Z@`(*`@O!"\J M``@0*@`-2(!(P"\`3KH"EK"$3^\`#&<0".H`!``,0I)"J@`$</]@O`RM____ M_P`,9A`(J@`"``Q"DD*J``1P`&"B2JH`"&8(+PI.N@"D6$\,:@`!`!!F,!MM M``___TAX``%(;?__$"H`#4B`2,`O`$ZZ`C*PO`````%/[P`,9I@@+0`,8`#_ M7B2J``@P*@`02,#0J@`()4``!`CJ``(`#"!24I(0+0`/$(!(@$C`P+P```#_ M8`#_+DY5```O"D'L@28D2$HJ``QG&-7\````%D'L@MZUR&4(<``D7TY=3G5@ MXD*20JH`!$*J``@@"F#J3E7__"\*)&T`"$AX!`!.N@#"*T#__%A/9A@U?``! M`!`@2M'\````#B5(``@D7TY=3G4U?`0``!`(Z@`!``PE;?_\``@0*@`-2(!( MP"\`3KH`WDJ`6$]G!@`J`(``#&#,3E4``$CG`#`D;(KN8!0F4B`J``10@"\` M+PI.N@424$\D2R`*9NA"K(KN3-\,`$Y=3G5.50``+PI!^O_&*4B,Q$*G("T` M"%"`+P!.N@2N)$!*@%!/9@AP`"1?3EU.=22LBNXE;0`(``0I2HKN(`I0@&#F M3E4``"\M``AAMEA/3EU.=4Y5``!(YP`PE\LD;(KN8`X@;0`(48BQRF<2)DHD M4B`*9NYP_TS?#`!.74YU(`MG!":28`0I4HKN("H`!%"`+P`O"DZZ!&AP`%!/ M8-A.50``+PIR!B`M``A.N@+@)$#5[(R02JT`"&T2,"R"WDC`(BT`"+*`;`1* MDF80*7P````"C(QP_R1?3EU.=7(&("T`"$ZZ`J@@;(R0+S`(`$ZZ`S)*@%A/ M9P1P`6`"<`!@UDY5```O+0`(3KH"PDJ`6$]F#DZZ`P8I0(R,</].74YU<`!@ M^$Y5``!(YPP@*"T`"$ZZ`'9R!B`$3KH"4B1`U>R,D$J$;0XP+(+>2,"X@&P$ M2I)F$BE\`````HR,</],WP0P3EU.=3`J``3`?``#9@PI?`````6,C'#_8.(O M+0`0+RT`#"\23KH"^BH`L+S_____3^\`#&8,3KH"@"E`C(QP_V"Z(`5@MDY5 M__Q(>!``0J=.N@.L*T#__`@```Q03V<22JR,I&8(("W__$Y=3G5.N@`&<`!@ M]$Y5``!(>``$2'H`'$ZZ`F@O`$ZZ`I9(>``!3KH`#D_O`!!.74YU7D,*`$Y5 M``!*K(S`9P8@;(S`3I`O+0`(3KH`"%A/3EU.=4Y5__PO!"MM``C__$JLC)!G M+'@`8`HO!$ZZ`/Q83U*$,"R"WDC`N(!M[#`L@M[!_``&+P`O+(R03KH"I%!/ M2JR,Q&<&(&R,Q$Z02JR"Y&<*+RR"Y$ZZ`?Q83TJLC,AG""!LC,@@K(S,2JR, MT&<*+RR,T$ZZ`B983TJLC-1G"B\LC-1.N@(66$]*K(S89PHO+(S83KH"!EA/ M2JR,W&<*+RR,W$ZZ`?983RQX``0(+@`$`2EG%"\-2_H`"DZN_^(J7V`&0J?S M7TYS2JR,J&8J2JR,N&<B+RR,M"\LC+A.N@(`("R,L%*`Y8`O`"\LC*Q.N@'N M3^\`$&`.3KH!V"\LC*A.N@(R6$\@+?_\+FR,E$YU*!].74YU3E4``$CG#B`H M+0`(<@8@!$ZZ`$0D0-7LC)!*A&T.,"R"WDC`N(!L!$J29A(I?`````*,C'#_ M3-\$<$Y=3G4P*@`$P'R``&8(+Q).N@`N6$]"DG``8.!(YW``-`'$P"8!2$/& MP$A#0D/4@TA`P,%(0$)`T(),WP`.3G4B+P`$+&R,G$[N_]Q.^@`"(B\`!"QL MC)Q.[O^"(B\`!"QLC)Q.[O^X(B\`!"QLC)Q.[O^@3OH``DSO``8`!"QLC)Q. M[O^:3.\`#@`$+&R,G$[N_R),[P`&``0L;(R<3N[_E"QLC)Q.[O_*+&R,G$[N M_WPB+P`$+&R,G$[N_RA.^@`"3.\`!@`$+&R,G$[N_ZQ,[P`&``0L;(R<3N[_ MXBQLC)Q.[O_$3.\`#@`$+&R,G$[N_]9,[P`.``0L;(R<3N[_OD[Z``(B+P`$ M+&R,G$[N_Z9,[P`.``0L;(R<3N[_T$SO`P``!"QLC)A.[O\*2.<!!$SO((`` M#"QLC)A.KO^43-\@@$YU3OH``B)O``0L;(R83N[^8D[Z``),[P`#``0L;(R8 M3N[_.DSO`P``!"QLC)A.[O\0(F\`!"QLC)A.[O[:+&R,F$[N_WQ.^@`"(F\` M!"`O``@L;(R83N[_+B!O``0L;(R83N[^C"!O``0@B%B00J@`!"%(``A.=2QL MC)@B;P`$("\`"$[N_=@@;P`$+&R,F$[N_OXB;P`$+&R,F$[N_P0B;P`$+&R, MF$[N_H9,[P`#``0L;(R83N[^SB!O``0L;(R83N[^@$SO`P``!"QLC+Q.[O^@ M(&\`!"QLC+Q.[O^F(&\`!"QLC+Q.[O^R```#[`````$````````H%@````$` M```!```Q/@````````/P`````E]?2#!?;W)G``````````)?;6%I;@`````` M``0````"7WAE>&ET``````)^`````U]38V%N1FEL90```````J(````$7T-O M;6)I;F52969#;G1S````!*@````$7T9I;F1"96=I;E!O:6YT````!EH````$ M7T5X96-U=&5$97!,:7-T````!Q0````&7T5X96-U=&5#;61#;VQL96-T:6]N M```````+Y@````1?17AE8W5T94-M9$QI<W0````,<@````-?27-7:6QD0V%R M9`````SR````!5]$:7)E8W1O<GE7:6QD4V-A;@`````-'`````5?075T;T5X M<&%N9%)I9VAT4VED90``$*(````$7T5X<&%N9%)I9VAT4VED90``$/(````$ M7U9I<G1U;T5X<&%N9```````$50````%7T-R96%T941E<&5N9&%N8VEE<P`` M`!-:````!%]-86ME3VYE1&5P96YD`````!8H`````U]!9&1#;VQL96-T```` M%J8````"7V=E=&QI;F4``!;0`````U]P87)S96QI;F4`````%UP````$7U!R M:6YT1&5P3&ES=```````%^@````"7V1O<&5N`````!C2`````E]D;F5X=``` M```97`````)?9&-L;W-E````&:P````"7VES9&ER`````!GN`````U]F<F5E M7V5X<&%N9```&B@````"7V5X<&%N9````!I:`````U]/=71$871E9``````` M'KX````#7TUA8W)O07-S:6=N```@)@````1?36%C<F]297!L86-E```````A M9`````5?4F5S971687)#;VQL96-T;W(`````):0````$7T%D9%9A<D-O;&QE M8W1O<@``)=X````$7T5X96-U=&5?0V]M;6%N9```)NX````"7W=I;&1C;7`` M`"?D`````E]B;6]V```````I'`````)?8GIE<F\`````*A0````"7V)S970` M`````"H8`````E]'971(96%D```JG@````)?1V5T4W5C8P``*IX````"7T=E M=%1A:6P``"JL`````E]'9710<F5D```JO@````-?4F5M2&5A9$]F9@```"K4 M`````U]296U486EL3V9F````*O0````#7T=E=$AE861/9F8````K"@````-? M1V5T5&%I;$]F9@```"L<`````U]'9713=6-C3V9F````*S(````#7T=E=%!R M961/9F8````K1@````)?<W1R8W!Y````*UX````"7W-T<FQE;@```"MN```` M`E]F9V5T<P`````K@`````)?86=E=&,`````*]H````"7V=E=&,``````"P< M`````E]?9FEL;``````L3`````)?9F]P96X`````+1X````"7V9R96]P96X` M`"U(`````E]P97)R;W(````MQ@````)?9G!R:6YT9@``+B8````"7W-T<F-M M<````"Y>`````E]S=')N8VUP```N9`````)?8W)E870`````+HX````"7V]P M96X``````"ZH`````E]R96%D```````O_@````)?<'5T<P``````,(P````" M+F)E9VEN`````##*`````E]G971A-``````Q/`````)?7VUA:6X`````,40` M```#7U]C;&E?<&%R<V4````R@`````)?<W1R8V%T````-%8````"7W-T<FYC M870``#1<`````E]S=')N8W!Y```T@`````-?7W=B7W!A<G-E`````#5H```` M`E]P<FEN=&8````V'`````)?9F]R;6%T````-KX````"+F1I=G,``````#HB M`````BYM;V1S```````Z2@````(N;6]D=0``````.F0````"+F1I=G4````` M`#IP`````E]P=71C:&%R```ZR@````)?87!U=&,`````.N`````"7W!U=&,` M`````#LF`````E]F8VQO<V4````[D`````)?9FQS:%\`````/!8````#7VYE M=W-T<F5A;0`````]"`````)?9V5T8G5F9@``/4`````"7VQM86QL;V,``#W2 M`````E]M86QL;V,````^$@````)?9G)E90``````/B(````"7VES871T>0`` M`#YN`````E]U;FQI;FL````^T`````)?=W)I=&4`````/O0````#7T-H:U]! M8F]R=``````_>`````)?7V%B;W)T````/Z@````"7V5X:70``````#_2```` M`E]?97AI=``````_\`````)?8VQO<V4`````008````"+FUU;'4``````$%< M`````E]?0VQO<V4```!!@`````-?0W5R<F5N=$1I<@```$&,`````U]?0W5R M<F5N=$1I<@``09`````#7U]$96QE=&5&:6QE``!!G`````)?1'5P3&]C:P`` M0:@````"7T5X86UI;F4``$&T`````U]?17AA;6EN90``````0;@````"7T5X M96-U=&4``$'&`````E]%>$YE>'0```!!U`````)?7TEN<'5T````0>(````" M7U]);T5R<@```$'J````!%]?27-);G1E<F%C=&EV90```$'R`````E],;V-K M``````!!_@````)?7TQO8VL`````0@(````"7U]/<&5N`````$(0`````E]? M3W5T<'5T``!"'@````)?7U)E860`````0B8````"7U]3965K`````$(T```` M`E]5;DQO8VL```!"0@````)?7U5N3&]C:P``0D8````"7U]7<FET90```$)2 M`````E]!9&1486EL``!"8`````)?06QE<G0`````0FX````$7T-L;W-E3&EB M<F%R>0``````0H8````$7U]#;&]S94QI8G)A<GD`````0HH````#7T%L;&]C M365M``````!"E@````-?7T%L;&]C365M`````$*:`````E]!9&1(96%D``!" MJ`````-?7T9I;F1487-K`````$*V`````E]?1F]R8FED``!"P@````)?1G)E M94UE;0``0LH````#7U]&<F5E365M``````!"S@````)?7T=E=$US9P``0MX` M```"7TYE=TQI<W0``$+J````!%]?3W!E;DQI8G)A<GD``````$+\`````E]2 M96U(96%D``!##`````)?4F5M;W9E````0Q@````#7U]297!L>4US9P````!# M)`````-?7U-E=%-I9VYA;````$,P`````U]?5V%I=%!O<G0`````0SX````$ M7T9I;F14;V]L5'EP90``````0TH````$7T9R965$:7-K3V)J96-T````0U@` M```$7T=E=$1I<VM/8FIE8W0`````0V0````"7U](,%]E;F0``$-P```````` M`_(```/J````N@````0``````````````!``````````#'(`````````<BL` M``````)W```````#`7<K``````,"80``````"0%A*P`````)`G@```````4! M>"L`````!0(`````````````-*(``#2K```TN@``-,H``#3>```TZ@``-0(` M`#46```U*P``-3\``#50````"S`Q,C,T-38W.#EA8F-D968````@("`@("`@ M("`P,#`P,"`@("`@("`@("`@("`@("`@()!`0$!`0$!`0$!`0$!`0$`,#`P, M#`P,#`P,0$!`0$!`0`D)"0D)"0$!`0$!`0$!`0$!`0$!`0$!`0$!0$!`0$!` M"@H*"@H*`@("`@("`@("`@("`@("`@("`@)`0$!`(``````````````````! M``````$``````````````````````0$````!``````````````````````$" M`````0`````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````4`````````````````^P````$```` M`0`````````(````#````!0````+`````````&````!D````:````&P```!P M````=````'@```!\````@````(0```"(`````````_`````"7U](,5]O<F<` M`````````E]-86-,:7-T``````````)?0V]L3&ES=`````P````#7W-Y<U]E M<G)L:7-T````8`````-?<WES7VYE<G(```````",`````E]C='!?```````` MH@````)?0V)U9F9S`````20````"7U]N=6UD978```+<````!%]?9&5T86-H M7VYA;64```````+>````!%]?9&5T86-H7V-U<F1I<@````+B`````E]?2#%? M96YD```"Z`````)?7T@R7V]R9P```N@````"7T1E<$QI<W0```KP`````E]6 M97)B;W-E```*_`````)?3&EN94YO````"OX````#7T9O<F-E06QL```````+ M``````-?3&ES=$]N;'D```````L"`````E]/<F1E<@`````+!`````-?4V%V M94QO8VL```````L&`````U]-86ME1FEL90``````"PH````"7TQI;F5"=68` M``N*`````E]E<G)N;P`````,B@````)?7V1E=G1A8@``#(X````"7U]S879S M<`````R2`````E]3>7-"87-E```,E@````)?1$]30F%S90``#)H````#7U]S M=&MB87-E```````,G@````1?16YA8FQE7T%B;W)T```````,H@````-?5T)E M;F-H37-G``````RF`````E]?87)G=@`````,J@````)?7V%R9V,`````#*X` M```#7U]A<F=?;&5N```````,L@````-?7V%R9U]L:6X```````RV`````U]) M8V]N0F%S90``````#+H````"7V-L<U\```````R^`````E]?8VQN```````, MP@````-?7W1R87!A9&1R``````S&`````U]?;VQD=')A<```````#,H````$ M7TUA=&A4<F%N<T)A<V4`````#,X````#7TUA=&A"87-E```````,T@````5? M36%T:$EE965$;W5B0F%S0F%S90``#-8````&7TUA=&A)965E1&]U8E1R86YS M0F%S90`````,V@````)?7T@R7V5N9```#.`````````#\@```^L````!```# !\F%S ` end !Funky!Stuff! fi # end of overwriting check echo shar: "extracting 'dmake.doc'" '(6781 characters)' if test -f 'dmake.doc' then echo shar: "will not over-write existing file 'dmake.doc'" else cat << \!Funky!Stuff! > 'dmake.doc' DMAKE.DOC ALPHA RELEASE V1.00 5-Jan-1988 *ALPHA* *ALPHA* *ALPHA* NOTE!! This is an alpha version. I have yet to add all the features I will eventually want (like \ line continuation). In fact, that's the whole point of saying 'alpha' above ... only people interesting in exploring and testing the radical features of DMake should be using this release. You MUST be familar with 'make' to understand these instructions. The default file is 'DMakefile'. Options are: -a force a time comparisons to fail -f filename use this instead of DMakefile -n don't actually execute the lines -v (debugging) RADICAL FEATURES We are all familar with the UNIX make utility. We all hate it. This program is the beginnings of my solution to the problem. (1) Multiple dependancies on the left: ram:a.o ram:b.o ram:c.o : a.c b.c c.c cc %(right) -o %(left) (2) Wildcards with virtual reverse mapping (I just made that word up). In the example below, a directory search is used to resolve the *.c wildcard in the line "ram:*.o : *.c". The left side is then replaced with the resolved list changing the order according to the wildcard specification ( *.c -> ram:*.o ). NOTE that the two wildcard specifications have to contain the same wildcards in the same order. NO directory search is made for the objects ... the names are generated from the source. Finally, note the line 'ram:*.o : *.asm'... note that this combined with 'ram:*.o : *.c' specifies a joinin of the two specs ... the 'ram:*.o' spec in the linker line will contain ALL the objects. $(EXE) : ram:symbols.m ram:*.o ln +Q %(ram:*.o) -o $(EXE) ram:*.o : *.c cc +Iram:symbols.m %(right) -o %(left) ram:*.o : *.asm as %(right) -o %(left) ram:symbols.m : include:symbols.m copy %(right) %(left) (3) $ and % variables. $(SYMBOL) is the standard way to specify a symbol name. %(symbol) is used to macro-insert wildcard symbols that appear on the right. Two special % symbols exist: %(left) contains the stuff on the left and %(right) contains the stuff on the right. Note the difference between these two lines: all: ram:*.o ln %(ram:*.o) -o c:blah ram:*.o : *.c cc %(*.c) -o %(left) The difference is that the symbol in the linker line contains ALL the objects while the symbol in the compiler line contains only the CURRENT .c file being compiled. The reason is explained below, but it ought to be obvious. Note that only variables on the right of the ':' may be specified via their name in a %() macro. You can refer to the left side with %(left), or the entire right side with %(right). (4) Another form that might be useful is this: ram:*.o : *.c *.h cc %(*.c) -o %(left) Carefully now: Each .O file is dependant on its .C file. Each .O file depends on ALL OF THE .H FILES. SPECIFICATION OF DEPENDANCIES The specification of dependancies might seem a bit confusing to you. Lets take a general example: a b c d : r s t u The rule is as follows: UNTIL one side is exhausted, one item on the left is dependant on one item on the right. That is, a : r, b : s, c : t etc.... If there are EXTRA arguments on the right, each argument is applied to ALL THE ARGUMENTS ON THE LEFT. If I had a 'v' above it would be equivalent to a : v, b : v, c : v, d : v. EXTRA arguments on the left are disalloweds except for two cases: blah : - blah depends on nothing a b c d e : x - a : x, b : x, c : x , d : x, etc.... *.c : *.h - WRONG THIS DOES NOT SPECIFY ALL THE .C FILES DEPENDANT ON THE .H FILES!!! *.o : *.c *.h - This does, as well as saying that each object depends on its associated .C file EXECUTION ORDER & VARIABLES Whenever possible, a depth first execution order will be taken: all: ram:symbols.m $(OBJS) ln "%(OBJS)" -o c:blah $(OBJS): *.c cc +Iram:symbols.m %(right) -o %(left) ram:symbols.m : include:symbols.m copy %(right) %(left) Here, the symbols are guarenteed to be copied before the objects are compiled. Variables work somewhat like the normal make. You can create variables with '=': SRCS = a.c b.c c.c OBJS = $(SRCS:"*.c":"ram:*.o") (i.e. ram:a.o, ram:b.o ...) When used in the Makefile, use $(SYMBOL) to get an exact replacement, %(SYMBOL) to get an indirect replacement. That is, OBJS = ram:*.o all: $(OBJS) ln %(OBJS) ... Here, %(OBJS) finds "ram:*.o" then re-applies it to %, giving you the object list. The other little item you just saw is global name replacement on symbol inclusion: $(SYMNAME:"oldwild":"newwild") -if the symbol is a list of files and not a wildcard %(SYMNAME:"oldwild":"newwild") -if the symbol is a wildcard on the righthand side of the dependancy. Causes the symbol to be parsed (space delimits) and each filename rung through the grinder. Each filename is matched with the left wildcard and then modified according to the right wildcard. Here are two common DMakefiles: SRCS = a.c b.c c.c d.c e.c OBJS = $(SRCS:"*.c":"ram:*.o") all: $(OBJS) ln $(OBJS) -o c:blah $(OBJS) : $(SRCS) cc %(right) -o %(left) --- SRCS = *.c OBJS = ram:*.o # note, in the line below you must specify $(SRCS) on the right # hand side of you want %(SRCS) to expand properly all: $(OBJS) $(SRCS) ln %(OBJS) -o c:blah Echo "%(SRCS)" $(OBJS) : $(SRCS) cc %(right) -o %(left) arc: $(SRCS) c:blah -delete ram:x.arc arc a ram:x %(right) ALPHA 'TO-DO' There are probably lots of bugs. The bigest one now is the lack of error detection... it won't stop if it comes across an error. You *can* ^C dmake though ... no problem. DMake is currently extremely slow ... extremely extremely slow. I am not releasing source yet (cause it's a mess). You just wouldn't BELIEVE what I had to go through! DMake currently uses Execute() to run commands. Error codes are ignored. However, you *can* 'cd' ... this is handled internally. The original directory can be returned to via 'cd' with no argument. Since Execute() is used, command lines that are too long get chopped. Eventually there will be no limit (for non BCPL program). But, since 'cd' is internal, you can sometimes shorten the link line. In the example below we use the wildcard modification feature to modify ram:*.o to just *.o in the link line after having CD'd to ram:. OBJS = ram:*.o SRCS = *.c $(EXE): $(OBJS) cd ram: ln %(right:"ram:*":"*") -lc32 -o $(EXE) cd $(OBJS): $(SRCS) cc %(right) -o %(left) !Funky!Stuff! fi # end of overwriting check echo shar: "extracting 'mf.test'" '(225 characters)' if test -f 'mf.test' then echo shar: "will not over-write existing file 'mf.test'" else cat << \!Funky!Stuff! > 'mf.test' OBJS = ram:a.o ram:b.o ram:c.o SRCS = $(OBJS:"ram:*.o":"*.c") all: $(OBJS) Echo "$(SRCS) $(OBJS)" cd ram: dir Echo "$(OBJS:"ram:*":"*")" cd dir $(OBJS) : $(SRCS) Echo "cc %(right) -o %(left)" !Funky!Stuff! fi # end of overwriting check echo shar: "extracting 'mf2.test'" '(432 characters)' if test -f 'mf2.test' then echo shar: "will not over-write existing file 'mf2.test'" else cat << \!Funky!Stuff! > 'mf2.test' SRCS = *.c OBJS = ram:*.o # note, in the line below you must specify $(SRCS) on the right # hand side of you want %(SRCS) to expand properly. Apart from # that the specification of $(SRCS) is redundant all: $(OBJS) $(SRCS) Echo "ln %(OBJS) -o c:blah" Echo "sources are: %(SRCS)" $(OBJS) : $(SRCS) Echo "cc %(right) -o %(left)" arc: $(SRCS) c:blah Echo "Delete ram:x.arc" Echo "arc a ram:x %(SRCS) c:blah" !Funky!Stuff! fi # end of overwriting check echo shar: "extracting 'DMakefile'" '(255 characters)' if test -f 'DMakefile' then echo shar: "will not over-write existing file 'DMakefile'" else cat << \!Funky!Stuff! > 'DMakefile' EXE = srcc:dmake CFLAGS = +L +Iram:symbols.m all: ram:symbols.m $(EXE) $(EXE) : ram:*.o ln -W +Q %(right) -lsup32 -lc32 -o $(EXE) ram:*.o : *.c *.h cc $(CFLAGS) %(*.c) -o %(left) ram:symbols.m : include:symbols.m copy %(right) %(left) !Funky!Stuff! fi # end of overwriting check exit 0 # End of shell archive