Compilation of Packages
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.img
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.