carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/reference/api/com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html
changeset 1704 24ac5a5cf80c
parent 0 fb279309251b
--- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/reference/api/com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html	Tue Jul 27 15:20:28 2010 -0500
+++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/reference/api/com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html	Tue Jul 27 15:28:19 2010 -0500
@@ -1,543 +1,543 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.5.0_15) on Tue Jan 06 17:31:54 CST 2009 -->
-<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<TITLE>
-IMakefileViewBase (Carbide.c++ SDK API Reference)
-</TITLE>
-
-<META NAME="keywords" CONTENT="com.nokia.carbide.cpp.epoc.engine.model.makefile.IMakefileViewBase interface">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="IMakefileViewBase (Carbide.c++ SDK API Reference)";
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IMakefileViewBase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-<b>Carbide.c++</b></EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewConfiguration.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../../../../index.html?com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="IMakefileViewBase.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.nokia.carbide.cpp.epoc.engine.model.makefile</FONT>
-<BR>
-Interface IMakefileViewBase</H2>
-<DL>
-<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/image/IImageMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile.image">IImageMakefileView</A>, <A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile">IMakefileView</A></DD>
-</DL>
-<HR>
-<DL>
-<DT><PRE>public interface <B>IMakefileViewBase</B></DL>
-</PRE>
-
-<P>
-This is the interface to reading and modifying the Makefile contents.
- <p>
- This is radically simplified and stupid.  CDT's IMakefile doesn't provide write
- access, so instead of implementing a parallel layer, we expose only
- operations that query the model or make simple text-based operations.
- Changes are made to the backing text and the model is reparsed.
- Obviously, this is meant only for occasional operations.
-<P>
-
-<P>
-<HR>
-
-<P>
-
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#appendText(java.lang.String)">appendText</A></B>(java.lang.String&nbsp;text)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append new text to the file.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#deleteDirective(IDirective)">deleteDirective</A></B>(IDirective&nbsp;directive)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete a directive and any children.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#expandAllMacrosInRuleString(java.lang.String, ITargetRule)">expandAllMacrosInRuleString</A></B>(java.lang.String&nbsp;target,
-                            ITargetRule&nbsp;rule)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expand macro definition references in string.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#expandAllMacrosInString(java.lang.String)">expandAllMacrosInString</A></B>(java.lang.String&nbsp;text)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expand macro definition references in string.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;ICommand[]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#findCommandsInvoking(java.lang.String)">findCommandsInvoking</A></B>(java.lang.String&nbsp;program)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get commands in any rule that run this program (either literal filename or $(var))</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;ITargetRule</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#findRuleForTarget(java.lang.String, boolean)">findRuleForTarget</A></B>(java.lang.String&nbsp;target,
-                  boolean&nbsp;exactMatch)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get (last) rule with the given target</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;IMacroDefinition[]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#getAllMacroDefinitions()">getAllMacroDefinitions</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find all the macro definitions, recursively.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;IMacroDefinition[]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#getAllMacroDefinitions(java.lang.String)">getAllMacroDefinitions</A></B>(java.lang.String&nbsp;name)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find all the macro definitions for the given name, recursively.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#getEOL()">getEOL</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get end-of-line terminator used in the makefile.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;IMakefile</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#getMakefile()">getMakefile</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get CDT representation of makefile, with read-only access.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#insertText(IDirective, java.lang.String)">insertText</A></B>(IDirective&nbsp;directive,
-           java.lang.String&nbsp;text)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a new line after the given directive.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#insertTextBefore(java.lang.String, IDirective)">insertTextBefore</A></B>(java.lang.String&nbsp;text,
-                 IDirective&nbsp;directive)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a new line before the given directive.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#replaceDirective(IDirective, java.lang.String)">replaceDirective</A></B>(IDirective&nbsp;directive,
-                 java.lang.String&nbsp;text)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace a directive with alternate text.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#unexpandMacros(java.lang.String, boolean)">unexpandMacros</A></B>(java.lang.String&nbsp;text,
-               boolean&nbsp;exhaustive)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Try to replace literal text in the given string with macros.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#unexpandMacros(java.lang.String, java.lang.String[])">unexpandMacros</A></B>(java.lang.String&nbsp;text,
-               java.lang.String[]&nbsp;macroNames)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Try to replace literal text in the given string with the given macros.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="getMakefile()"><!-- --></A><H3>
-getMakefile</H3>
-<PRE>
-IMakefile <B>getMakefile</B>()</PRE>
-<DL>
-<DD>Get CDT representation of makefile, with read-only access.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getAllMacroDefinitions()"><!-- --></A><H3>
-getAllMacroDefinitions</H3>
-<PRE>
-IMacroDefinition[] <B>getAllMacroDefinitions</B>()</PRE>
-<DL>
-<DD>Find all the macro definitions, recursively.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getAllMacroDefinitions(java.lang.String)"><!-- --></A><H3>
-getAllMacroDefinitions</H3>
-<PRE>
-IMacroDefinition[] <B>getAllMacroDefinitions</B>(java.lang.String&nbsp;name)</PRE>
-<DL>
-<DD>Find all the macro definitions for the given name, recursively.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="expandAllMacrosInString(java.lang.String)"><!-- --></A><H3>
-expandAllMacrosInString</H3>
-<PRE>
-java.lang.String <B>expandAllMacrosInString</B>(java.lang.String&nbsp;text)</PRE>
-<DL>
-<DD>Expand macro definition references in string.  This searches 
- for any applicable macro, even those in conditionals.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>text</CODE> - 
-<DT><B>Returns:</B><DD>string with macros expanded -- other shell commands will be left</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="expandAllMacrosInRuleString(java.lang.String, ITargetRule)"><!-- --></A><H3>
-expandAllMacrosInRuleString</H3>
-<PRE>
-java.lang.String <B>expandAllMacrosInRuleString</B>(java.lang.String&nbsp;target,
-                                             ITargetRule&nbsp;rule)</PRE>
-<DL>
-<DD>Expand macro definition references in string.  This searches 
- for any applicable macro, even those in conditionals.
- Additionally, it replaces references to "$&lt;" with the target
- and "$^" and "$@" with the appropriate sources.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>target</CODE> - <DD><CODE>rule</CODE> - 
-<DT><B>Returns:</B><DD></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="unexpandMacros(java.lang.String, boolean)"><!-- --></A><H3>
-unexpandMacros</H3>
-<PRE>
-java.lang.String <B>unexpandMacros</B>(java.lang.String&nbsp;text,
-                                boolean&nbsp;exhaustive)</PRE>
-<DL>
-<DD>Try to replace literal text in the given string with macros.
- <p>
- If exhaustive is true, then conditionalized macros in the Makefile are replaced too.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="findRuleForTarget(java.lang.String, boolean)"><!-- --></A><H3>
-findRuleForTarget</H3>
-<PRE>
-ITargetRule <B>findRuleForTarget</B>(java.lang.String&nbsp;target,
-                              boolean&nbsp;exactMatch)</PRE>
-<DL>
-<DD>Get (last) rule with the given target
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>target</CODE> - filename or filepath<DD><CODE>exactMatch</CODE> - if true, verify same filepath; else, just check filename
-<DT><B>Returns:</B><DD>last matching rule, or null</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="findCommandsInvoking(java.lang.String)"><!-- --></A><H3>
-findCommandsInvoking</H3>
-<PRE>
-ICommand[] <B>findCommandsInvoking</B>(java.lang.String&nbsp;program)</PRE>
-<DL>
-<DD>Get commands in any rule that run this program (either literal filename or $(var))
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>program</CODE> - 
-<DT><B>Returns:</B><DD></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getEOL()"><!-- --></A><H3>
-getEOL</H3>
-<PRE>
-java.lang.String <B>getEOL</B>()</PRE>
-<DL>
-<DD>Get end-of-line terminator used in the makefile.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="appendText(java.lang.String)"><!-- --></A><H3>
-appendText</H3>
-<PRE>
-void <B>appendText</B>(java.lang.String&nbsp;text)</PRE>
-<DL>
-<DD>Append new text to the file.
- <p>Note: this invalidates any directives read from the model.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>text</CODE> - text to add (add #getEOL() if a full line)</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="insertText(IDirective, java.lang.String)"><!-- --></A><H3>
-insertText</H3>
-<PRE>
-void <B>insertText</B>(IDirective&nbsp;directive,
-                java.lang.String&nbsp;text)</PRE>
-<DL>
-<DD>Insert a new line after the given directive.
- <p>Note: this invalidates any directives read from the model.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>directive</CODE> - directive, or null for start of file<DD><CODE>text</CODE> - text to add (add #getEOL() if a full line)</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="insertTextBefore(java.lang.String, IDirective)"><!-- --></A><H3>
-insertTextBefore</H3>
-<PRE>
-void <B>insertTextBefore</B>(java.lang.String&nbsp;text,
-                      IDirective&nbsp;directive)</PRE>
-<DL>
-<DD>Insert a new line before the given directive.<p>
- Note: this invalidates any directives read from the model.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>text</CODE> - text to add (add #getEOL() if a full line)<DD><CODE>directive</CODE> - directive, or null for end of file</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="deleteDirective(IDirective)"><!-- --></A><H3>
-deleteDirective</H3>
-<PRE>
-void <B>deleteDirective</B>(IDirective&nbsp;directive)</PRE>
-<DL>
-<DD>Delete a directive and any children.  
- <p>Note: this invalidates any directives read from the model.
- directives read from the model.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="replaceDirective(IDirective, java.lang.String)"><!-- --></A><H3>
-replaceDirective</H3>
-<PRE>
-void <B>replaceDirective</B>(IDirective&nbsp;directive,
-                      java.lang.String&nbsp;text)</PRE>
-<DL>
-<DD>Replace a directive with alternate text.
- <p>Note: this invalidates any directives read from the model.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="unexpandMacros(java.lang.String, java.lang.String[])"><!-- --></A><H3>
-unexpandMacros</H3>
-<PRE>
-java.lang.String <B>unexpandMacros</B>(java.lang.String&nbsp;text,
-                                java.lang.String[]&nbsp;macroNames)</PRE>
-<DL>
-<DD>Try to replace literal text in the given string with the given macros.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IMakefileViewBase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-<b>Carbide.c++</b></EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewConfiguration.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../../../../index.html?com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="IMakefileViewBase.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
-</BODY>
-</HTML>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_15) on Tue Jan 06 17:31:54 CST 2009 -->
+<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<TITLE>
+IMakefileViewBase (Carbide.c++ SDK API Reference)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.nokia.carbide.cpp.epoc.engine.model.makefile.IMakefileViewBase interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="IMakefileViewBase (Carbide.c++ SDK API Reference)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IMakefileViewBase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<b>Carbide.c++</b></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewConfiguration.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../../../../index.html?com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="IMakefileViewBase.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.nokia.carbide.cpp.epoc.engine.model.makefile</FONT>
+<BR>
+Interface IMakefileViewBase</H2>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/image/IImageMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile.image">IImageMakefileView</A>, <A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile">IMakefileView</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>IMakefileViewBase</B></DL>
+</PRE>
+
+<P>
+This is the interface to reading and modifying the Makefile contents.
+ <p>
+ This is radically simplified and stupid.  CDT's IMakefile doesn't provide write
+ access, so instead of implementing a parallel layer, we expose only
+ operations that query the model or make simple text-based operations.
+ Changes are made to the backing text and the model is reparsed.
+ Obviously, this is meant only for occasional operations.
+<P>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#appendText(java.lang.String)">appendText</A></B>(java.lang.String&nbsp;text)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append new text to the file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#deleteDirective(IDirective)">deleteDirective</A></B>(IDirective&nbsp;directive)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete a directive and any children.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#expandAllMacrosInRuleString(java.lang.String, ITargetRule)">expandAllMacrosInRuleString</A></B>(java.lang.String&nbsp;target,
+                            ITargetRule&nbsp;rule)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expand macro definition references in string.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#expandAllMacrosInString(java.lang.String)">expandAllMacrosInString</A></B>(java.lang.String&nbsp;text)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expand macro definition references in string.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;ICommand[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#findCommandsInvoking(java.lang.String)">findCommandsInvoking</A></B>(java.lang.String&nbsp;program)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get commands in any rule that run this program (either literal filename or $(var))</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;ITargetRule</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#findRuleForTarget(java.lang.String, boolean)">findRuleForTarget</A></B>(java.lang.String&nbsp;target,
+                  boolean&nbsp;exactMatch)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get (last) rule with the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;IMacroDefinition[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#getAllMacroDefinitions()">getAllMacroDefinitions</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find all the macro definitions, recursively.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;IMacroDefinition[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#getAllMacroDefinitions(java.lang.String)">getAllMacroDefinitions</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find all the macro definitions for the given name, recursively.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#getEOL()">getEOL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get end-of-line terminator used in the makefile.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;IMakefile</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#getMakefile()">getMakefile</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get CDT representation of makefile, with read-only access.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#insertText(IDirective, java.lang.String)">insertText</A></B>(IDirective&nbsp;directive,
+           java.lang.String&nbsp;text)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a new line after the given directive.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#insertTextBefore(java.lang.String, IDirective)">insertTextBefore</A></B>(java.lang.String&nbsp;text,
+                 IDirective&nbsp;directive)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a new line before the given directive.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#replaceDirective(IDirective, java.lang.String)">replaceDirective</A></B>(IDirective&nbsp;directive,
+                 java.lang.String&nbsp;text)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace a directive with alternate text.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#unexpandMacros(java.lang.String, boolean)">unexpandMacros</A></B>(java.lang.String&nbsp;text,
+               boolean&nbsp;exhaustive)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Try to replace literal text in the given string with macros.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html#unexpandMacros(java.lang.String, java.lang.String[])">unexpandMacros</A></B>(java.lang.String&nbsp;text,
+               java.lang.String[]&nbsp;macroNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Try to replace literal text in the given string with the given macros.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getMakefile()"><!-- --></A><H3>
+getMakefile</H3>
+<PRE>
+IMakefile <B>getMakefile</B>()</PRE>
+<DL>
+<DD>Get CDT representation of makefile, with read-only access.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllMacroDefinitions()"><!-- --></A><H3>
+getAllMacroDefinitions</H3>
+<PRE>
+IMacroDefinition[] <B>getAllMacroDefinitions</B>()</PRE>
+<DL>
+<DD>Find all the macro definitions, recursively.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllMacroDefinitions(java.lang.String)"><!-- --></A><H3>
+getAllMacroDefinitions</H3>
+<PRE>
+IMacroDefinition[] <B>getAllMacroDefinitions</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Find all the macro definitions for the given name, recursively.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="expandAllMacrosInString(java.lang.String)"><!-- --></A><H3>
+expandAllMacrosInString</H3>
+<PRE>
+java.lang.String <B>expandAllMacrosInString</B>(java.lang.String&nbsp;text)</PRE>
+<DL>
+<DD>Expand macro definition references in string.  This searches 
+ for any applicable macro, even those in conditionals.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - 
+<DT><B>Returns:</B><DD>string with macros expanded -- other shell commands will be left</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="expandAllMacrosInRuleString(java.lang.String, ITargetRule)"><!-- --></A><H3>
+expandAllMacrosInRuleString</H3>
+<PRE>
+java.lang.String <B>expandAllMacrosInRuleString</B>(java.lang.String&nbsp;target,
+                                             ITargetRule&nbsp;rule)</PRE>
+<DL>
+<DD>Expand macro definition references in string.  This searches 
+ for any applicable macro, even those in conditionals.
+ Additionally, it replaces references to "$&lt;" with the target
+ and "$^" and "$@" with the appropriate sources.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - <DD><CODE>rule</CODE> - 
+<DT><B>Returns:</B><DD></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unexpandMacros(java.lang.String, boolean)"><!-- --></A><H3>
+unexpandMacros</H3>
+<PRE>
+java.lang.String <B>unexpandMacros</B>(java.lang.String&nbsp;text,
+                                boolean&nbsp;exhaustive)</PRE>
+<DL>
+<DD>Try to replace literal text in the given string with macros.
+ <p>
+ If exhaustive is true, then conditionalized macros in the Makefile are replaced too.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findRuleForTarget(java.lang.String, boolean)"><!-- --></A><H3>
+findRuleForTarget</H3>
+<PRE>
+ITargetRule <B>findRuleForTarget</B>(java.lang.String&nbsp;target,
+                              boolean&nbsp;exactMatch)</PRE>
+<DL>
+<DD>Get (last) rule with the given target
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - filename or filepath<DD><CODE>exactMatch</CODE> - if true, verify same filepath; else, just check filename
+<DT><B>Returns:</B><DD>last matching rule, or null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findCommandsInvoking(java.lang.String)"><!-- --></A><H3>
+findCommandsInvoking</H3>
+<PRE>
+ICommand[] <B>findCommandsInvoking</B>(java.lang.String&nbsp;program)</PRE>
+<DL>
+<DD>Get commands in any rule that run this program (either literal filename or $(var))
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>program</CODE> - 
+<DT><B>Returns:</B><DD></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEOL()"><!-- --></A><H3>
+getEOL</H3>
+<PRE>
+java.lang.String <B>getEOL</B>()</PRE>
+<DL>
+<DD>Get end-of-line terminator used in the makefile.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendText(java.lang.String)"><!-- --></A><H3>
+appendText</H3>
+<PRE>
+void <B>appendText</B>(java.lang.String&nbsp;text)</PRE>
+<DL>
+<DD>Append new text to the file.
+ <p>Note: this invalidates any directives read from the model.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - text to add (add #getEOL() if a full line)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertText(IDirective, java.lang.String)"><!-- --></A><H3>
+insertText</H3>
+<PRE>
+void <B>insertText</B>(IDirective&nbsp;directive,
+                java.lang.String&nbsp;text)</PRE>
+<DL>
+<DD>Insert a new line after the given directive.
+ <p>Note: this invalidates any directives read from the model.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>directive</CODE> - directive, or null for start of file<DD><CODE>text</CODE> - text to add (add #getEOL() if a full line)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertTextBefore(java.lang.String, IDirective)"><!-- --></A><H3>
+insertTextBefore</H3>
+<PRE>
+void <B>insertTextBefore</B>(java.lang.String&nbsp;text,
+                      IDirective&nbsp;directive)</PRE>
+<DL>
+<DD>Insert a new line before the given directive.<p>
+ Note: this invalidates any directives read from the model.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - text to add (add #getEOL() if a full line)<DD><CODE>directive</CODE> - directive, or null for end of file</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deleteDirective(IDirective)"><!-- --></A><H3>
+deleteDirective</H3>
+<PRE>
+void <B>deleteDirective</B>(IDirective&nbsp;directive)</PRE>
+<DL>
+<DD>Delete a directive and any children.  
+ <p>Note: this invalidates any directives read from the model.
+ directives read from the model.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceDirective(IDirective, java.lang.String)"><!-- --></A><H3>
+replaceDirective</H3>
+<PRE>
+void <B>replaceDirective</B>(IDirective&nbsp;directive,
+                      java.lang.String&nbsp;text)</PRE>
+<DL>
+<DD>Replace a directive with alternate text.
+ <p>Note: this invalidates any directives read from the model.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unexpandMacros(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+unexpandMacros</H3>
+<PRE>
+java.lang.String <B>unexpandMacros</B>(java.lang.String&nbsp;text,
+                                java.lang.String[]&nbsp;macroNames)</PRE>
+<DL>
+<DD>Try to replace literal text in the given string with the given macros.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IMakefileViewBase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<b>Carbide.c++</b></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewConfiguration.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../../../../index.html?com/nokia/carbide/cpp/epoc/engine/model/makefile/IMakefileViewBase.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="IMakefileViewBase.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+<div id="footer">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
+</BODY>
+</HTML>