cd loncom/build rm -Rf HTML (or alternatively, "make clean") make HTML cd HTML (look at the index.html file with a web browser such as Netscape)General description of what happens
This is the actual make target code.
HTML:
install -d HTML
cp ../../doc/loncapafiles/*.gif HTML
perl parse.pl ../../doc/loncapafiles/loncapafiles.html HTML > HTML/index.html
What basically happens is that specially marked-up data in the LON-CAPA
cvs repository file doc/loncapafiles.html is parsed into a more
viewable format by loncom/build/parse.pl. 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.
cd loncom/build rm -Rf HTML (or alternatively, "make clean") make HTML cd HTML (look at the index.html file with a web browser such as Netscape)General description of what happens
This is the actual make target code.
build:
perl parse.pl ../../doc/loncapafiles/loncapafiles.html build > Makefile.build
make -f Makefile.build all
loncom/build/parse.pl reads in all the build information out
of doc/loncapafiles/loncapafiles.html. A new Makefile named
loncom/build/Makefile.build 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).
Here is information for one file tth.so provided in
doc/loncapafiles/loncapafiles.html.
loncom/build/parse.pl sees the BUILD tags and sets up
a dynamic file Makefile.build to run the command inside the
BUILD tags (currently, DEPENDENCIES is not used for anything
besides documentation).
<METAGROUP>
<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">
<DESCRIPTION>
shared library file for dynamic loading and unloading of TeX-to-HTML functionality
</DESCRIPTION>
<BUILD>
loncom/modules/TexConvert/tthperl/commands
</BUILD>
<DEPENDENCIES>
../tthdynamic/tthfunc.c
../ttmdynamic/ttmfunc.c
</DEPENDENCIES>
Here is an example of a dynamically generated Makefile.build
that builds two LON-CAPA files (one of which is tth.so.
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: