Diff for /loncom/build/readme.html between versions 1.2 and 1.9

version 1.2, 2001/01/17 11:06:03 version 1.9, 2001/01/17 12:00:49
Line 24 Line 24
 <A NAME="Using_CVS">  <A NAME="Using_CVS">
 <LI><H2>Using CVS</H2>  <LI><H2>Using CVS</H2>
 <UL>  <UL>
 <UL>  
 <LI><A NAME="cvslog">  <LI><A NAME="cvslog">
     <H3>Using CVS: Logging in and out (cvs login; cvs logout)</H3>      <H3>Using CVS: Logging in and out (cvs login; cvs logout)</H3>
 <LI><A NAME="cvsget">  <LI><A NAME="cvsget">
     <H3>Using CVS: Getting files (cvs update -d)</H3>      <H3>Using CVS: Getting files (cvs update -d)</H3>
 <LI><A NAME="cvsupdate">  <LI><A NAME="cvsupdate">
     <H3>Updating files (cvs update -d)</H3>      <H3>Using CVS: Updating files (cvs update -d)</H3>
 <LI><A NAME="cvssave">  <LI><A NAME="cvssave">
     <H3>Saving files (cvs commit)</H3>      <H3>Using CVS: Saving files (cvs commit)</H3>
 <LI><A NAME="cvsadd">  <LI><A NAME="cvsadd">
     <H3>Adding files (cvs add)</H3>      <H3>Using CVS: Adding files (cvs add)</H3>
 <LI><A NAME="cvsadddir">  <LI><A NAME="cvsadddir">
     <H3>Adding directories (cvs add/import)</H3>      <H3>Using CVS: Adding directories (cvs add/import)</H3>
 <LI><A NAME="cvsnotsure">  <LI><A NAME="cvsnotsure">
     <H3>What to do when you're not sure about your files (cvs update)</H3>      <H3>Using CVS: What to do when you're not sure about your files (cvs update)</H3>
 </UL>  </UL>
 <LI><A NAME="makeHTML">  <LI><A NAME="makeHTML">
     <H3>Viewing the software (make HTML)</H3>      <H2>Viewing the software (make HTML)</H2>
   <STRONG>Commands</STRONG>
   <FONT COLOR="#008800">
   <PRE>
   cd loncom/build
   rm -Rf HTML <I>(or alternatively, "make clean")</I>
   make HTML
   cd HTML
   <I>(look at the index.html file with a web browser such as Netscape)</I>
   </PRE>
   </FONT>
   <STRONG>General description of what happens</STRONG>
   <P>
   This is the actual make target code.
   <FONT COLOR="#880000">
   <PRE>
   <!-- LONCAPA MAKETARGET=HTML START -->
   HTML:
           install -d HTML
           cp ../../doc/loncapafiles/*.gif HTML
           perl parse.pl ../../doc/loncapafiles/loncapafiles.html HTML > HTML/index.html
   <!-- LONCAPA MAKETARGET=HTML END -->
   </PRE>
   </FONT>
   What basically happens is that specially marked-up data in the LON-CAPA
   cvs repository file <TT>doc/loncapafiles.html</TT> is parsed into a more
   viewable format by <TT>loncom/build/parse.pl</TT>.  The resulting
   file gives a very well organized view of all the files, directories,
   links, ownerships, permissions, and brief documentation of what each
   file does.
   </P>
 <LI><A NAME="makebuild">  <LI><A NAME="makebuild">
     <H3>Compiling the software (make build)</H3>      <H2>Compiling the software (make build)</H2>
   <STRONG>Commands</STRONG>
   <FONT COLOR="#008800">
   <PRE>
   cd loncom/build
   make build
   </PRE>
   </FONT>
   <STRONG>General description of what happens</STRONG>
   <P>
   This is the actual make target code.
   <FONT COLOR="#880000">
   <PRE>
   <!-- LONCAPA MAKETARGET=HTML START -->
   build:
           perl parse.pl ../../doc/loncapafiles/loncapafiles.html build > Makefile.build
           make -f Makefile.build all
   <!-- LONCAPA MAKETARGET=HTML END -->
   </PRE>
   </FONT>
   <TT>loncom/build/parse.pl</TT> reads in all the build information out
   of <TT>doc/loncapafiles/loncapafiles.html.  A new Makefile named
   <TT>loncom/build/Makefile.build</TT> is dynamically constructed.
   This dynamically generated Makefile is then run to build/compile
   all the software targets from source.  This currently takes 10 minutes
   (depends on the speed of the machine you compile with).
   </P>
   <STRONG>Example</STRONG>
   <P>
   Here is information for one file <TT>tth.so</TT> provided in
   <TT>doc/loncapafiles/loncapafiles.html</TT>.
   <FONT COLOR="#330066">
   <PRE>
   <BR>&lt;METAGROUP&gt;
   <BR>&lt;LONCAPA TYPE=LOCATION DIST="redhat6.2" SOURCE="loncom/modules/TexConvert/tthperl/tth.so" TARGET="usr/lib/perl5/site_perl/5.005/tth.so" CATEGORY="system file"&gt;
   <BR>&lt;DESCRIPTION&gt;
   <BR>shared library file for dynamic loading and unloading of TeX-to-HTML functionality
   <BR>&lt;/DESCRIPTION&gt;
   <BR>&lt;BUILD&gt;
   <BR>loncom/modules/TexConvert/tthperl/commands
   <BR>&lt;/BUILD&gt;
   <BR>&lt;DEPENDENCIES&gt;
   <BR>../tthdynamic/tthfunc.c
   <BR>../ttmdynamic/ttmfunc.c
   <BR>&lt;/DEPENDENCIES&gt;
   </PRE>
   </FONT>
   <TT>loncom/build/parse.pl</TT> sees the <B>BUILD</B> tags and sets up
   a dynamic file <TT>Makefile.build</TT> to run the command inside the
   <B>BUILD</B> tags (currently, <B>DEPENDENCIES</B> is not used for anything
   besides documentation).
   </P>
   <P>
   Here is an example of a dynamically generated <TT>Makefile.build</TT>
   that builds two LON-CAPA files (one of which is <TT>tth.so</TT>.
   <FONT COLOR="#330066">
   <PRE>
   all: ../homework/caparesponse/capa.so ../modules/TexConvert/tthperl/tth.so 
   
   ../homework/caparesponse/capa.so:  ../homework/caparesponse/caparesponse.c ../ho
   mework/caparesponse/caparesponse.pm alwaysrun
           cd ../homework/caparesponse/; sh ./commands
   
   ../modules/TexConvert/tthperl/tth.so:  ../modules/TexConvert/tthperl/../tthdynam
   ic/tthfunc.c ../modules/TexConvert/tthperl/../ttmdynamic/ttmfunc.c
           cd ../modules/TexConvert/tthperl/; sh ./commands
   
   alwaysrun:
   </PRE>
   </FONT>
   </P>
 <LI><A NAME="loncapafiles">  <LI><A NAME="loncapafiles">
     <H3>Adding/removing files from the LON-CAPA installation (doc/loncapafiles/loncapafiles.html)</H3>      <H2>Adding/removing files from the LON-CAPA installation (doc/loncapafiles/loncapafiles.html)</H2>
 <LI><A NAME="configversusnonconfig">  <LI><A NAME="configversusnonconfig">
     <H3>Configurable files versus non-configurable files</H3>      <H2>Configurable files versus non-configurable files</H2>
 <LI><A NAME="makeinstall">  <LI><A NAME="makeinstall">
     <H3>Updating the non-configurable files on your machine (make install)</H3>      <H2>Updating the non-configurable files on your machine (make install)</H2>
 <LI><A NAME="makeconfiginstall">  <LI><A NAME="makeconfiginstall">
     <H3>Updating the configurable files on your machine (make configinstall)</H3>      <H2>Updating the configurable files on your machine (make configinstall)</H2>
 <LI><A NAME="makeRPM">  <LI><A NAME="makeRPM">
     <H3>Building RPMs (make RPM)</H3>      <H2>Building RPMs (make RPM)</H2>
 </OL>  </OL>

Removed from v.1.2  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>