;ò &S±Cc@sùdkZdkZdklZdklZlZdklZl Z dk Tdk l Z dk Tdk l Z lZdklZdklZd klZd klZlZd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„ZdS(N(sfind_primary_action(svarname2dictlists dictlist2str(sRecPossrpcopy(s*(sDepend(sProcesss recipe_error(sParsePos(sget_build_recdict(sfind_autodep_items(s srcitem2objstopdirc Cst||ƒg}x‡dtdƒfdtdƒfdtdƒfdtdƒfd td ƒfgD]4\}}|i|ƒ o|i||fƒqeqeWt ||ƒ|oO|i d ƒod k l }||ƒnt||d dgd ƒt||dddgdƒt||dddddddgdƒt||dddddgdƒxedddd d!d"d#d$d%d&g D]?}ti|ƒ}t||d'|gd(||||fƒq€Wx:|D].\}}|i|d)ƒihd*|<ƒqÊWnd+S(,s\ Add default dependencies, depending on what was defined in the recipe(s) read. sinstalls"install files to directory $PREFIXs uninstalls-delete installed files from directory $PREFIXscleans3delete all generated files that are not distributeds cleanmoresdelete all generated filesscleanALLs:delete all generated files, AAPDIR and build-* directoriessPORTNAME(sadd_port_defaultss^:tree . {dirname = AAPDIR} :del {f}{r} $name :tree . {dirname = build-.*} :del {f}{r} $name sinstall-platformsinstall-shareds8@if has_target('install-local'): :update install-local s install-execs install-sbins install-libs install-dlls install-ltlibs install-confsJ@if has_target('install-platform-local'): :update install-platform-local s install-datas install-mans install-infosinstall-includesF@if has_target('install-shared-local'): :update install-shared-local sexecssbinslibsdllsltlibsconfsdatasmansinfosincludes install-%ssV@if _top.get('INSTALL_%s'): :update $_top.INSTALL_%s :do install%s $_top.INSTALL_%s iscommentN(sadd_source_targetsworksrecdictscaddlists_snscs find_nodesappends add_cleanstoplevelsgetsPortsadd_port_defaultssadd_optional_targetsadd_install_targetstsstringsupperstupsget_nodesset_attributes( sworksrecdictstoplevelscstupsnscaddliststsadd_port_defaults((s-/mnt/gmirror/ports/devel/aap/work/DoAddDef.pysdoadddefs> R       % c CsÏ|idƒo |idƒo«t|tdƒ}t|ƒdjo‚t|tdƒƒ|i |ddƒ}| p |i ƒ o>t|tdƒ}t tdƒg||dh|h|ƒqÇqËnd S( sU Add build dependencies for $SOURCE and $TARGET for backwards compatibility. sTARGETsSOURCEis=Warning: support for $SOURCE and $TARGET will be removed soonisnamesDefault targetsprogramN(srecdictsgetsvarname2dictlistsNonestargetsslens msg_warnings_sworks find_nodestargetsget_first_build_dependencyssourcess add_buildrulesRecPos(sworksrecdictstargetssourcesstargets((s-/mnt/gmirror/ports/devel/aap/work/DoAddDef.pysadd_source_targetas c Cs xìddgfddhdd©ssINSTALLis :update.* ss UNINSTALLN(sadd_optional_targetsworksrecdicts targetnames sourcenamesscmdsressubs untargetnamesmaps unsourcenamessuncmdsstringsfind(sworksrecdicts targetnames sourcenamesscmdsuncmds unsourcenamess untargetname((s-/mnt/gmirror/ports/devel/aap/work/DoAddDef.pysadd_install_target¡s  c Cs±|i|ƒ}|o |iƒot|tdƒ|ƒnptdƒg}|ot d„|ƒ}ng}t hd|ÁssnamesrecdictN(sworks find_nodes targetnamestargetsget_dependenciess msg_dependsrecdicts_sRecPossrpstacks sourcenamessmaps sourcelistsDependscmdsdepsadd_dependency( sworksrecdicts targetnames sourcenamesscmdstargetsrpstacksdeps sourcelist((s-/mnt/gmirror/ports/devel/aap/work/DoAddDef.pysadd_optional_targetµscCs|djoV|i|ddƒ}|o |iƒo't|tdƒ|ddƒdSqcn|i |ƒ|djo|i |ƒn|i dƒ}|i dƒ}g}|djo|tjo d }qRny|d jo|tjo d }qRnQ|d jo|tjo d }qRn)|djo|tjo d}qRn|o |d jo#t|tdƒd|ƒt}n|o#t||||||||ƒnV|i dƒ}|oti|dƒ} nt} |i dƒ} |djo| o d} qØnÂ|d jo| o d} qØnŸ|d jo| o d} qØn||djo| o d} qØnY|djo|ddg} n7| ot|tdƒƒn|tjo d}n| oot| ƒ}| oK|dd d dgjot|tdƒƒq?t|tdƒ| ƒn|iƒ} n|i dƒ}|djo|di dƒo|di dƒ}n|i dƒ}|djo|di dƒo|di dƒ}ng} x"|D]}|i"|dd |ƒ}|i$|ƒ}|| jo| i&|ƒqêd!} t}xw| D]o}|d"joqInt*|||||||||||ƒ }|oPn| o| d#} n| |} qIW|tjo%t|td$ƒ| |dfƒn| i&hd|<ƒqêW|djo²t+|ƒ} | oit+| ƒ}d%| }t/|td&ƒ| ||fƒ|i0|t1||| |||d'd(|ƒƒn|i2|ƒ|ot3|d)|t4| ƒƒqÇnt5|t+|t6dƒƒƒt7d*„|ƒ}t9|t+|t6dƒƒƒdS(+st Add a buildrule. Also used for ":totype". "type" is "program", "lib", "ltlib", "dll", "totype" or the first argument of ":produce". "cmd_attr" are extra attributes for the command itself. "targetlist" is a dictlist with the target(s). "build_attr" are extra attributes for the build commands. "sourcelist" is a dictlist with the sources. stotypeisnamesGBoth a build rule and a dependency with build commands defined for '%s'Ns installvarsonestepsdlls INSTALL_DLLslibs INSTALL_LIBsltlibs INSTALL_LTLIBsprograms INSTALL_EXECs?The 'onestep' attribute is not supported for the :ltlib target.srpstacks objecttypes,s buildactionsbuilddllsbuildlibs buildltlibsbuildsMissing buildaction attributesMissing objecttype attributesNo primary %s action defineds objectsuffixssuffixs objectprefixsprefixissdefaults/s)Do not know how to make an %s out of "%s"s$ :do %s {target = $+target} $sourcesAdding dependency: %s : %s %ss srecdicts_topcCs|idƒ S(Nsnodist(sxsget(sx((s-/mnt/gmirror/ports/devel/aap/work/DoAddDef.pysds(:stypesworks find_nodes targetliststargetsget_first_build_dependencys msg_errorsrecdicts_sadd_dictlist_nodess sourcelistscmd_attrsgets installvarsonesteps cleanfilessNones msg_warningsrpstacksadd_onestep_builds build_attrsasstringssplitsobjtypess buildactions recipe_errorsfind_primary_actionsacts get_in_typess objectsuffixs objectprefixs build_objssisget_nodesnodes get_ftypesin_ftypesappendsnamessobjnamesobjtypes add_build_ones dictlist2strs targets_strs build_obj_strscmds msg_dependsadd_dependencysDependsextends append2varstopdirsadd_cleanfilessExpandsfiltersls add_distfiles(srpstacksworksrecdictstypescmd_attrs targetlists build_attrs sourcelistscmds buildactions build_objsnamess targets_strsobjtypessin_ftypes objectsuffixsnodes cleanfilessobjnames installvars objectprefixsastargets build_obj_strslssisactsobjtypesonestep((s-/mnt/gmirror/ports/devel/aap/work/DoAddDef.pys add_buildruleÉsÎ                      !!  * %       !c  Cs{t}| o`|djo d}qn|djo d}qn|djo d}qn|djo d}qnnt||d d |d |ƒ}|o5t i i t i i |ƒ|t i i |ƒƒ}n|o||}n|i|ƒ}|o |iƒoFt|ƒd jo/t|td ƒt|dƒ|d fƒqsn-|i||dd ƒ}| otSn|i|dd d|iƒt}t}xÙtt|iƒƒD]Â}|i!|d |id_"t#|idd|i|dƒ} t%||i|idd d| i'dƒƒ}|d |d|gƒ|fƒ||d