Difference between revisions of "Compilation of Packages"

From redlog.eu
Jump to: navigation, search
m (Information taken from a mail by acn on 9/20/2010.)
 
m
Line 25: Line 25:
 
compilation into C reactivated and so on before <code>reduce.img</code> can be  
 
compilation into C reactivated and so on before <code>reduce.img</code> can be  
 
considered up to date. So possibly even
 
considered up to date. So possibly even
    make -t reduce.img > /dev/null
+
make -t reduce.img > /dev/null
    make recompile which=mymodule
+
make recompile which=mymodule
    make test1 which=mymodule
+
make test1 which=mymodule
 
will be good.
 
will be good.
  
Line 37: Line 37:
 
would still suggest that a clean tidy full recompile via
 
would still suggest that a clean tidy full recompile via
 
<pre>
 
<pre>
make clean
+
make clean
make
+
make
 
</pre>
 
</pre>
 
every so often is a good policy to ensure full consistency.
 
every so often is a good policy to ensure full consistency.

Revision as of 10:49, 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 alg, int, solve, redlog or whatever

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 safe and to my mind 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.