Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cm/Doc/manual.tex
ViewVC logotype

Diff of /sml/trunk/src/cm/Doc/manual.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 677, Mon Jun 26 00:56:56 2000 UTC revision 678, Tue Jun 27 07:51:09 2000 UTC
# Line 1395  Line 1395 
1395  target's class  target's class
1396  \item[lineformat] a string that will be passed to the {\tt -L} command  \item[lineformat] a string that will be passed to the {\tt -L} command
1397  line option of {\tt notangle}  line option of {\tt notangle}
 \item[cpif] an optional boolean value (the word {\tt true} or {\tt  
 false}); if set to {\tt true} then the target will not be overwritten  
 if its contents would be unchanged\footnote{The tradeoff is between  
 running {\tt notangle} too often or recompiling the result too  
 often.}; default: {\tt true}  
1398  \end{description}  \end{description}
1399    
1400  Example:  Example:
1401    
1402  \begin{verbatim}  \begin{verbatim}
1403     project.nw (target:(name:main.sml options:(private) cpif:false)     project.nw (target:(name:main.sml options:(private))
1404                 target:(name:grammar class:mlyacc)                 target:(name:grammar class:mlyacc witness:grammar.wtn)
1405                 target:(name:parse.sml))                 target:(name:parse.sml))
1406  \end{verbatim}  \end{verbatim}
1407    
# Line 1437  Line 1432 
1432                                   set: string option -> unit }                                   set: string option -> unit }
1433  \end{verbatim}  \end{verbatim}
1434    
1435    The {\tt noweb} class accepts two other parameter besides {\tt
1436    target}:
1437    
1438    \begin{description}
1439    \item[subdir] specifies a sub-option that is used to specify a
1440    directory where derived files (i.e., target files and witness files as
1441    far as they have been specified using relative path names) are
1442    created.  If the {\tt subdir} option is missing, its value defaults to
1443    {\tt NW}.
1444    \item[witness] specifies an auxiliary derived file whose time stamp is
1445    used by CM to avoid recompiling extracted files whose contents have
1446    not changed.  If {\tt witness} has not been specified, then CM uses
1447    time stamps on extracted files directly to determine whether {\tt
1448    notangle} needs to be run.  Thus, with no witness, any change to the
1449    master file causes time stamps on all extracted files to be updated as
1450    well.  If a witness was specified, then CM will write over extracted
1451    files, causing their time stamps to change, only if their contents
1452    have also changed.  The {\tt subdir} specification also applies to the
1453    name of the witness file.
1454    \end{description}
1455    
1456    Example:
1457    
1458    \begin{verbatim}
1459       foo.nw (subdir:NOWEBFILES
1460               witness:foo.wtn
1461               target:(name:main.sml))
1462    \end{verbatim}
1463    
1464    Here, the files named {\tt main.sml} and {\tt foo.wtn} will be
1465    created as
1466    \begin{verbatim}
1467       NOWEBFILES/main.sml
1468       NOWEBFILES/foo.wtn
1469    \end{verbatim}
1470    \noindent while without the {\tt subdir}-option it would have been
1471    \begin{verbatim}
1472       NW/main.sml
1473       NW/foo.wtn
1474    \end{verbatim}
1475    \noindent To avoid the creation of such a sub-directory, one can use
1476    the {\em current arc} ``{\bf .}'' and write:
1477    \begin{verbatim}
1478       foo.nw (subdir:.
1479               witness:foo.wtn
1480               target:(name:main.sml))
1481    \end{verbatim}
1482    
1483  \section{Conditional compilation}  \section{Conditional compilation}
1484  \label{sec:preproc}  \label{sec:preproc}
1485    

Legend:
Removed from v.677  
changed lines
  Added in v.678

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0