Difference between revisions of "Compilation of Packages"
Thomas-sturm (Talk | contribs) m |
Thomas-sturm (Talk | contribs) m |
||
Line 5: | Line 5: | ||
make bootsttraprecompile which=XXX | make bootsttraprecompile which=XXX | ||
</pre> | </pre> | ||
− | where <code>XXX</code> stands for <code>alg</code>, <code>int</code>, <code>solve</code>, <code>redlog</code> etc. | + | where <code>XXX</code> stands for a package name like <code>alg</code>, <code>int</code>, <code>solve</code>, <code>redlog</code> etc. |
Similarly <code>make recompile which=XXX</code> recompiles just that module in the | Similarly <code>make recompile which=XXX</code> recompiles just that module in the |
Revision as of 09:53, 2 August 2011
CSL
Select the directory that has the reduce executable and image in it (e.g.
cslbuild/i686-pc-windows/csl
) and try
make bootsttraprecompile which=XXX
where XXX
stands for a package name like alg
, int
, solve
, redlog
etc.
Similarly make recompile which=XXX
recompiles just that module in the
main image.
Now there is a trap in this! There are existing dependency rules that will mean that if you try to do almost anything a full recompilation will be triggered (at least in the CSL world). That is a safe solution, and it is considered proper. So to let these new "make targets" to just a minimum you are probably really going to want to go
# ensure that bootstrapreduce.img or reduce.img had been made already make -t bootstrapreduce.img make bootstraprecompile which=mymodule
If you change any source files and try to use reduce.img then it is
probable that bootstrapreduce.im will be regenerated, all the stages of
compilation into C reactivated and so on before reduce.img
can be
considered up to date. So possibly even
make -t reduce.img > /dev/null make recompile which=mymodule make test1 which=mymodule
will be good.
The output from the compilation run comes to the screen as well as being
put in a log file buildlogs/mymodule.log
.
This may be useful to people doing active development or testing on a single module since it will be cheaper than recompiling everything. I would still suggest that a clean tidy full recompile via
make clean make
every so often is a good policy to ensure full consistency.