Compilation of Packages

Jump to: navigation, search


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

every so often is a good policy to ensure full consistency.