PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/cedet/ede
Viewing File: /usr/share/emacs/24.3/lisp/cedet/ede/proj.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:56:42 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/ede/proj.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\207" [require ede/proj-comp ede/make] 2) #@41 Target class for a group of lisp files. (autoload 'ede-proj-target-aux "ede/proj-aux" '(#$ . 633) nil nil) #@41 Target class for a group of lisp files. (autoload 'ede-proj-target-elisp "ede/proj-elisp" '(#$ . 746) nil nil) #@45 Target class for generating autoload files. (autoload 'ede-proj-target-elisp-autoloads "ede/proj-elisp" '(#$ . 863) nil nil) #@41 Target class for a group of lisp files. (autoload 'ede-proj-target-scheme "ede/proj-scheme" '(#$ . 994) nil nil) #@66 Target class for a group of miscellaneous w/ a special makefile. (autoload 'ede-proj-target-makefile-miscelaneous "ede/proj-misc" '(#$ . 1113) nil nil) #@38 Target class for building a program. (autoload 'ede-proj-target-makefile-program "ede/proj-prog" '(#$ . 1271) nil nil) #@54 Target class for building an archive of object code. (autoload 'ede-proj-target-makefile-archive "ede/proj-archive" '(#$ . 1396) nil nil) #@44 Target class for building a shared object. (autoload 'ede-proj-target-makefile-shared-object "ede/proj-shared" '(#$ . 1540) nil nil) #@30 Target class for info files. (autoload 'ede-proj-target-makefile-info "ede/proj-info" '(#$ . 1679) nil nil) (byte-code "\300\301\302\303\304$\210\300\305\306\307\304$\210\300\310\311\307\312$\210\300\313\314\315\304$\210\300\316\317\320\321$\210\300\322\323\324\325$\210\300\326\327\330\331$\210\300\332\333\334\335$\210\300\336\337\340\341$\210\300\342\343\344\345$\210\346\347\350\351\352$\210\346\353\354\355\356$\207" [eieio-defclass-autoload ede-proj-target-aux (ede-proj-target) "ede/proj-aux" "Target class for a group of lisp files." ede-proj-target-elisp (ede-proj-target-makefile) "ede/proj-elisp" ede-proj-target-elisp-autoloads (ede-proj-target-elisp) "Target class for generating autoload files." ede-proj-target-scheme (ede-proj-target) "ede/proj-scheme" ede-proj-target-makefile-miscelaneous (ede-proj-target-makefile) "ede/proj-misc" "Target class for a group of miscellaneous w/ a special makefile." ede-proj-target-makefile-program (ede-proj-target-makefile-objectcode) "ede/proj-prog" "Target class for building a program." ede-proj-target-makefile-archive (ede-proj-target-makefile-objectcode) "ede/proj-archive" "Target class for building an archive of object code." ede-proj-target-makefile-shared-object (ede-proj-target-makefile-program) "ede/proj-shared" "Target class for building a shared object." ede-proj-target-makefile-info (ede-proj-target-makefile) "ede/proj-info" "Target class for info files." semantic-ede-proj-target-grammar (ede-proj-target-elisp) "semantic/ede-grammar" "Target classfor Semantic grammar files." eieio-defclass ede-proj-target (ede-target) ((auxsource :initarg :auxsource :initform nil :type list :custom (repeat (string :tag "File")) :label "Auxiliary Source Files" :group (default source) :documentation "Auxiliary source files included in this target.\nEach of these is considered equivalent to a source file, but it is not\ndistributed, and each should have a corresponding rule to build it.") (dirty :initform nil :type boolean :documentation "Non-nil when generated files needs updating.") (compiler :initarg :compiler :initform nil :type (or null symbol) :custom (choice (const :tag "None" nil) :slotofchoices availablecompilers) :label "Compiler for building sources" :group make :documentation "The compiler to be used to compile this object.\nThis should be a symbol, which contains the object defining the compiler.\nThis enables save/restore to do so by name, permitting the sharing\nof these compiler resources, and global customization thereof.") (linker :initarg :linker :initform nil :type (or null symbol) :custom (choice (const :tag "None" nil) :slotofchoices availablelinkers) :label "Linker for combining intermediate object files." :group make :documentation "The linker to be used to link compiled sources for this object.\nThis should be a symbol, which contains the object defining the linker.\nThis enables save/restore to do so by name, permitting the sharing\nof these linker resources, and global customization thereof.") (phony :allocation :class :initform nil :type boolean :documentation "A phony target is one where the build target does not relate to a file.\nSuch targets are always built, but make knows how to deal with them..") (availablecompilers :allocation :class :initform nil :type (or null list) :documentation "A list of `ede-compiler' objects.\nThese are the compilers the user can choose from when setting the\n`compiler' slot.") (availablelinkers :allocation :class :initform nil :type (or null list) :documentation "A list of `ede-linker' objects.\nThese are the linkers the user can choose from when setting the\n`linker' slot.")) ("Abstract class for ede-proj targets.") ede-proj-target-makefile (ede-proj-target) ((makefile :initarg :makefile :initform "Makefile" :type string :custom string :label "Parent Makefile" :group make :documentation "File name of generated Makefile.") (partofall :initarg :partofall :initform t :type boolean :custom boolean :label "Part of `all:' target" :group make :documentation "Non nil means the rule created is part of the all target.\nSetting this to nil creates the rule to build this item, but does not\ninclude it in the ALL`all:' rule.") (configuration-variables :initarg :configuration-variables :initform nil :type list :custom (repeat (cons (string :tag "Configuration") (repeat (cons (string :tag "Name") (string :tag "Value"))))) :label "Environment Variables for configurations" :group make :documentation "Makefile variables appended to use in different configurations.\nThese variables are used in the makefile when a configuration becomes active.\nTarget variables are always renamed such as foo_CFLAGS, then included into\ncommands where the variable would usually appear.") (rules :initarg :rules :initform nil :type list :custom (repeat (object :objecttype ede-makefile-rule)) :label "Additional Rules" :group (make) :documentation "Arbitrary rules and dependencies needed to make this target.\nIt is safe to leave this blank.")) ("Abstract class for Makefile based targets.")] 5) #@69 Alist of names to class types for available project target classes. (defvar ede-proj-target-alist '(("program" . ede-proj-target-makefile-program) ("archive" . ede-proj-target-makefile-archive) ("sharedobject" . ede-proj-target-makefile-shared-object) ("emacs lisp" . ede-proj-target-elisp) ("emacs lisp autoloads" . ede-proj-target-elisp-autoloads) ("info" . ede-proj-target-makefile-info) ("auxiliary" . ede-proj-target-aux) ("scheme" . ede-proj-target-scheme) ("miscellaneous" . ede-proj-target-makefile-miscelaneous)) (#$ . 6724)) #@110 Register a new target class with NAME and class symbol CLASS. This enables the creation of your target type. (defalias 'ede-proj-register-target #[(name class) "\304 \"\211\203\n \241\202 B B\211)\207" [name ede-proj-target-alist a class assoc] 4 (#$ . 7266)]) (eieio-defclass 'ede-proj-project '(eieio-persistent ede-project) '((extension :initform ".ede") (file-header-line :initform ";; EDE Project Files are auto generated: Do Not Edit") (makefile-type :initarg :makefile-type :initform Makefile :type symbol :custom (choice (const Makefile) (const Makefile\.am)) :documentation "The type of Makefile to generate.\nCan be one of 'Makefile, 'Makefile.in, or 'Makefile.am.\nIf this value is NOT 'Makefile, then that overrides the :makefile slot\nin targets.") (variables :initarg :variables :initform nil :type list :custom (repeat (cons (string :tag "Name") (string :tag "Value"))) :group (settings) :documentation "Variables to set in this Makefile.") (configuration-variables :initarg :configuration-variables :initform ("debug" (("DEBUG" . "1"))) :type list :custom (repeat (cons (string :tag "Configuration") (repeat (cons (string :tag "Name") (string :tag "Value"))))) :group (settings) :documentation "Makefile variables to use in different configurations.\nThese variables are used in the makefile when a configuration becomes active.") (inference-rules :initarg :inference-rules :initform nil :custom (repeat (object :objecttype ede-makefile-rule)) :documentation "Inference rules to add to the makefile.") (include-file :initarg :include-file :initform nil :custom (repeat (string :tag "Include File")) :documentation "Additional files to include.\nThese files can contain additional rules, variables, and customizations.") (automatic-dependencies :initarg :automatic-dependencies :initform t :type boolean :custom boolean :group (default settings) :documentation "Non-nil to do implement automatic dependencies in the Makefile.") (menu :initform (["Regenerate Makefiles" ede-proj-regenerate t] ["Upload Distribution" ede-upload-distribution t])) (metasubproject :initarg :metasubproject :initform nil :type boolean :custom boolean :group (default settings) :documentation "Non-nil if this is a metasubproject.\nUsually, a subproject is determined by a parent project. If multiple top level\nprojects are grouped into a large project not maintained by EDE, then you need\nto set this to non-nil. The only effect is that the `dist' rule will then avoid\nmaking a tar file.")) '("The EDE-PROJ project definition class.")) #@225 Load a project file from PROJECT directory. If optional ROOTPROJ is provided then ROOTPROJ is the root project for the tree being read in. If ROOTPROJ is nil, then assume that the PROJECT being read in is the root project. (defalias 'ede-proj-load #[(project &optional rootproj) "\212\306\307P \"\310\311\312\311$\313 \301\"\204\314\315!\210\316 \317#\210\316 \320\f#\210\n\203W\321\322\n@\"!\323 !\203P\324 !\203P\316 \325\326 \f\206H \"\327 \325\"B#\210\nA)\202& +\207" [project ede-proj-project subdirs ret rootproj sd eieio-persistent-read "Project.ede" directory-files nil "[^.].*" object-of-class-p error "Corrupt project file" eieio-oset directory rootproject file-name-as-directory expand-file-name file-directory-p ede-directory-project-p subproj ede-proj-load eieio-oref] 7 (#$ . 9815)]) #@41 Write out object PROJECT into its file. (defalias 'ede-proj-save #[(&optional project) "\212\204\302 \303\304\"\305\216\306\307\"\210\310!+\207" [project cdir ede-current-project eieio-oref directory ((byte-code "\302\303 #\207" [project cdir eieio-oset directory] 4)) slot-makeunbound :directory eieio-persistent-save] 3 (#$ . 10635)]) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\311\"\"\210\304\310\305\306\312$\210\300\310\302\310\313\"\"\210\304\310\305\314\315$\210\300\316\302\316\317\"\"\210\304\316\305\306\320$\210\300\321\302\321\322\"\"\210\304\321\305\306\323$\210\300\321\302\321\322\"\"\210\304\321\305\314\324$\207" [eieio--defalias ede-commit-local-variables eieio--defgeneric-init-form #1="Commit change to local variables in PROJ." eieio--defmethod nil ede-proj-project #[(proj) "\301!\207" [proj ede-proj-save] 2 #1#] eieio-done-customizing #2="Call this when a user finishes customizing this object.\nArgument PROJ is the project to save." #[(proj) "\301 \210\302!\207" [proj call-next-method ede-proj-save] 2 #2#] #3="Call this when a user finishes customizing this object.\nArgument TARGET is the project we are completing customization on." ede-proj-target #[(target) "\300 \210\301\302 !\207" [call-next-method ede-proj-save ede-current-project] 2 #3#] ede-commit-project #4="Commit any change to PROJ to its file." #[(proj) "\301!\207" [proj ede-proj-save] 2 #4#] ede-buffer-mine #5="Return t if object THIS lays claim to the file in BUFFER." #[(this buffer) "\303\304 !\"\305\306\307\"!\n\230\2062\310!\n\230\2062\311\312\n\"\2062\311\313\n\"\2062\311\314\n\"\2062\n\315\235)\207" [this buffer f ede-convert-path buffer-file-name file-name-nondirectory eieio-oref file ede-proj-dist-makefile string-match "Makefile\\(\\.\\(in\\|am\\)\\)?$" "config\\(ure\\.\\(in\\|ac\\)\\|\\.status\\)?$" "config.h\\(\\.in\\)?" ("AUTHORS" "NEWS" "COPYING" "INSTALL" "README")] 4 #5#] #[(this buffer) "\302 \206 \303 \304\305\"#\207" [this buffer call-next-method ede-target-buffer-in-sourcelist eieio-oref auxsource] 6 "Return t if object THIS lays claim to the file in BUFFER."]] 5) #@42 History when querying for a target type. (defvar ede-proj-target-history nil (#$ . 12796)) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\311\"\"\210\304\310\305\306\312$\210\300\313\302\313\314\"\"\210\304\313\305\315\316$\210\300\317\302\317\320\"\"\210\304\317\305\315\321$\210\300\322\302\322\323\"\"\210\304\322\305\315\324$\210\300\325\302\325\326\"\"\210\304\325\305\306\327$\210\300\330\302\330\331\"\"\210\304\330\305\306\332$\210\300\333\302\333\334\"\"\210\304\333\305\306\335$\210\300\336\302\336\337\"\"\210\304\336\305\306\340$\210\300\341\302\341\342\"\"\210\304\341\305\315\343$\210\300\341\302\341\344\"\"\210\304\341\305\345\346$\210\300\347\302\347\350\"\"\210\304\347\305\315\351$\210\300\352\302\352\353\"\"\210\304\352\305\315\354$\210\300\355\302\355\356\"\"\210\304\355\305\315\357$\210\300\360\302\360\361\"\"\210\304\360\305\362\363$\210\300\364\302\364\365\"\"\210\304\364\305\315\366$\210\300\367\302\367\370\"\"\210\304\367\305\315\371$\207" [eieio--defalias project-new-target eieio--defgeneric-init-form #1="Create a new target in THIS based on the current buffer." eieio--defmethod nil ede-proj-project #[(this &optional name type autoadd) "\206\306\307\310\" \206\311\312\n\313\314\313\315&\313\316 \205:\f\203-\f;\203-\f\317\230\2025\320\321\322\323 #!\205:\316 \324 \n\"A\211 \204K\325\326 \"\210 \327\330\331!\"\"\332 \205`\333 !C& \203m #\334 \210\335!\336 \314$\210\337!!-\207" [name type ede-proj-target-alist ot autoadd src read-string "Name: " #2="" completing-read "Type: " nil t (ede-proj-target-history . 1) buffer-file-name "y" y-or-n-p format "Add %s to %s? " buffer-name assoc error "Unknown target type %s for EDE Project" :name :path ede-convert-path :source file-name-nondirectory ede-apply-object-keymap object-add-to-list targets ede-proj-save fcn this default-directory ede-object] 10 #1#] project-new-target-custom #3="Create a new target in THIS for custom." #[(this) "\305\306\307\"\310\311 \312\313\312\314&\315\n \"A\316\317\320 \f\"\321\312&*\207" [name ede-proj-target-alist type this default-directory read-string "Name: " #2# completing-read "Type: " nil t (ede-proj-target-history . 1) assoc :name :path ede-convert-path :source] 8 #3#] project-delete-target #4="Delete the current target THIS from its parent project." ede-proj-target #[(this) "\306 \307\310\" \2032\307\311\"\312 @!\211\203*r\fq\210 =\203)\313\314 \210)* A\211\204\f\315\n\316\317\307\n\316\"\"#\210\320\306 !*\207" [this ts p default-directory b ede-object ede-current-project eieio-oref source path get-file-buffer nil ede-apply-object-keymap eieio-oset targets delq ede-proj-save] 9 #4#] project-add-file #5="Add to target THIS the current buffer represented as FILE." #[(this file) "\303 \"\304!\n\203\305\n@ \"\204\nA\211\204 \n\205K\n@\306 \"\2034\307\310 \311$\210\202I\312 \"\203E\307\313 \311$\210\202I\314\315!\210\316 *\207" [this file src ede-convert-path ede-target-sourcecode ede-want-file-p ede-want-file-source-p object-add-to-list source t ede-want-file-auxiliary-p auxsource error "`project-add-file(ede-target)' source mismatch error" ede-proj-save] 6 #5#] project-remove-file #6="For TARGET, remove FILE.\nFILE must be massaged by `ede-convert-path'." #[(target file) "\302\303\304 \"#\210\302\305\304 \"#\210\306 \207" [target file object-remove-from-list source ede-convert-path auxsource ede-proj-save] 6 #6#] project-update-version #7="The :version of project THIS has changed." #[(this) "\300 \207" [ede-proj-save] 1 #7#] project-make-dist #8="Build a distribution for the project based on THIS target." #[(this) "\304!\305!\306 @!\203\307\310!\204\311\312!\210\313!\210\314!\203*\315\316\317\n!\"\320 \321\n\322R!*\207" [this df pm ede-make-command ede-proj-dist-makefile project-dist-files file-exists-p y-or-n-p "Dist file already exists. Rebuild? " error "Try `ede-update-version' before making a distribution" ede-proj-setup-buildenvironment ede-proj-automake-p expand-file-name "Makefile" file-name-directory compile " -f " " dist"] 5 #8#] project-dist-files #9="Return a list of files that constitutes a distribution of THIS project." #[(this) "\301\302\"\303\301\304\"\305RC\207" [this eieio-oref name "-" version ".tar.gz"] 5 #9#] project-compile-project #10="Compile the entire current project PROJ.\nArgument COMMAND is the command to use when compiling." #[(proj &optional command) "\304!\305\306\307\"!\310!\210\311!\203\312\313\305\n!\"\314 \315\n\316R!*\207" [proj default-directory pm ede-make-command ede-proj-dist-makefile file-name-directory eieio-oref file ede-proj-setup-buildenvironment ede-proj-automake-p expand-file-name "Makefile" compile " -f " " all"] 5 #10#] project-compile-target #11="Compile the current target OBJ.\nArgument COMMAND is the command to use for compiling the target." #[(obj &optional command) "\301\302 \"\207" [command project-compile-project ede-current-project] 3 #11#] #12="Compile the current target program OBJ.\nOptional argument COMMAND is the s the alternate command to use." ede-proj-target-makefile #[(obj &optional command) "\302\303 !\210\304\305\306 \307\"\310\311 !\260!\207" [ede-make-command obj ede-proj-setup-buildenvironment ede-current-project compile " -f " eieio-oref makefile " " ede-proj-makefile-target-name] 7 #12#] project-debug-target #13="Run the current project target OBJ in a debugger." #[(obj) "\301\302\303!\"\207" [obj error "Debug-target not supported by %s" object-name] 4 #13#] project-run-target #14="Run the current project target OBJ." #[(obj) "\301\302\303!\"\207" [obj error "Run-target not supported by %s" object-name] 4 #14#] ede-proj-makefile-target-name #15="Return the name of the main target for THIS target." #[(this) "\301!\207" [this ede-name] 2 #15#] ede-want-file-auxiliary-p #16="Return non-nil if THIS target wants FILE." ede-target #[(this file) "\303!\211\203\304 @\n\"\204 A\211\204 )\207" [this src file ede-target-sourcecode ede-want-file-auxiliary-p] 4 #16#] ede-proj-compilers #17="List of compilers being used by OBJ.\nIf the `compiler' slot is empty, concoct one on a first match found\nbasis for any given type from the `availablecompilers' slot.\nOtherwise, return the `compiler' slot.\nConverts all symbols into the objects to be used." #[(obj) "\306\307\"\205t\310\307\"\211\203$ <\203\311\312 \"\202r JC\202r\310\313\"\311\312\n\"\310\314\"\310\315\"\f\203]\316\f@J \"\203V\317 \f@\"\211\203U B)\fA\211\204< \204q\320\321 \203n\322 @!\202o\323\"\210, )\207" [obj comp acomp avail st sources slot-exists-p compiler eieio-oref mapcar symbol-value availablecompilers sourcetype source ede-want-any-source-files-p ede-proj-find-compiler error "Could not find compiler match for source code extension \"%s\".\nYou may need to add support for this type of file." file-name-extension #2# c] 5 #17#] ede-proj-linkers #18="List of linkers being used by OBJ.\nIf the `linker' slot is empty, concoct one on a first match found\nbasis for any given type from the `availablelinkers' slot.\nOtherwise, return the `linker' slot.\nConverts all symbols into the objects to be used." #[(obj) "\306\307\"\205y\310\307\"\211\203# 9\203 JC\202w\311\312!\210\202w\310\313\"\314\315\n\"\310\316\"\310\317\"\f\203\\\320\f@J \"\203U\321 \f@\"\211\203T B)\fA\211\204; \204v \203s\322 @\316\"\204s A\211\204d A, )\207" [obj link alink avail st sources slot-exists-p linker eieio-oref error ":linker is not a symbol. Howd you do that?" availablelinkers mapcar symbol-value sourcetype source ede-want-any-source-files-p ede-proj-find-linker eieio-instance-inheritor-slot-boundp c] 4 #18#]] 5) #@44 Makefile type of the current project PROJ. (defalias 'ede-proj-makefile-type #[(&optional proj) "\301\206\302 \303\"\207" [proj eieio-oref ede-current-project makefile-type] 3 (#$ . 20556)]) #@62 Return non-nil if the current project PROJ is automake mode. (defalias 'ede-proj-automake-p #[(&optional proj) "\301!\302=\207" [proj ede-proj-makefile-type Makefile\.am] 2 (#$ . 20756)]) #@62 Return non-nil if the current project PROJ is automake mode. (defalias 'ede-proj-autoconf-p #[(&optional proj) "\301!\302=\207" [proj ede-proj-makefile-type Makefile\.in] 2 (#$ . 20951)]) #@62 Return non-nil if the current project PROJ is automake mode. (defalias 'ede-proj-make-p #[(&optional proj) "\301!\302=\207" [proj ede-proj-makefile-type Makefile] 2 (#$ . 21146)]) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\207" [eieio--defalias ede-proj-dist-makefile eieio--defgeneric-init-form #1="Return the name of the Makefile with the DIST target in it for THIS." eieio--defmethod nil ede-proj-project #[(this) "\302\303\"\304=\203\305\302\306\"!\307P\207\302\303\"\310=\203%\311\312\305\302\306\"!\"\207\313\314\315\302\301\"#\203:\311\314\305\302\306\"!\"\207\302\301\"\211\203R\316 @\317\"\204R A\211\204C \203^\302 @\315\"\202g\311\314\305\302\306\"!\")\207" [this targets eieio-oref makefile-type Makefile\.am file-name-directory file "Makefile.am" Makefile\.in expand-file-name "Makefile.in" object-assoc "Makefile" makefile obj-of-class-p ede-proj-target-makefile] 7 #1#]] 5) #@50 Regenerate Makefiles for and edeproject project. (defalias 'ede-proj-regenerate #[nil "\300\301 \302\"\207" [ede-proj-setup-buildenvironment ede-current-project t] 3 (#$ . 22080) nil]) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\311\"\"\210\304\310\305\306\312$\210\300\313\302\313\314\"\"\210\304\313\305\306\315$\210\316\317!\207" [eieio--defalias ede-proj-makefile-create-maybe eieio--defgeneric-init-form #1="Create a Makefile for all Makefile targets in THIS if needed.\nMFILENAME is the makefile to generate." eieio--defmethod nil ede-proj-project #[(this mfilename) "\302\303!\210\304!\203\305\306 \307\"\"\205\310 \"\207" [mfilename this require ede/pmake file-exists-p file-newer-than-file-p eieio-oref file ede-proj-makefile-create] 4 #1#] ede-proj-setup-buildenvironment #2="Setup the build environment for project THIS.\nHandles the Makefile, or a Makefile.am configure.ac combination.\nOptional argument FORCE will force items to be regenerated." #[(this &optional force) "\204\302 \303 !\"\210\202\304\305!\210\306 \303 !\"\210\307 \310\"\210\311 !\2053 \312 !=\2053\304\313!\210\314 !\207" [force this ede-proj-makefile-create-maybe ede-proj-dist-makefile require ede/pmake ede-proj-makefile-create ede-map-subprojects #[(sproj) "\302 \"\207" [sproj force ede-proj-setup-buildenvironment] 3] ede-proj-automake-p ede-toplevel ede/pconf ede-proj-configure-synchronize] 4 #2#] project-rescan #3="Rescan the EDE proj project THIS." #[(this) "\303!\206\304 \n\"\305\306 !!)\207" [this root ede-projects ede-project-root delq ede-load-project-file ede-project-root-directory] 3 #3#] provide ede/proj] 5)