Bill Page wrote:
> BTW, the output of the algebra/Makefile looks a little strange:
> 
> ...
> rm -rf /home/page/axiom.test/int/algebra/FTEM.NRLIB
> copying FTEM.NRLIB to FTEM.o
> compiling GENEEZ.spad to GENEEZ.NRLIB
> rm -rf /home/page/axiom.test/int/algebra/GENEEZ.NRLIB
> copying GENEEZ.NRLIB to GENEEZ.o
> compiling GENMFACT.spad to GENMFACT.NRLIB
> rm -rf /home/page/axiom.test/int/algebra/GENMFACT.NRLIB
> copying GENMFACT.NRLIB to GENMFACT.o
> ...
> 
> Notice how it appears as if the *.NRLIB directory is deleted before
> *.NRLIB/code.o is copied! :-) I am sure it is ok but we need to check
> the
> order of the echo statements.

Well the relevant code is:

.PRECIOUS: ${MID}/%.NRLIB/code.o
${MID}/%.NRLIB/code.o: ${MID}/%.spad
        @ echo compiling $*.spad to $*.NRLIB
        rm -rf ${MID}/$*.NRLIB
        @ (cd ${MID} ; \
           if [ -z "${NOISE}" ] ; then \
            echo ")co $*.spad" | ${INTERPSYS}  ; \
           else \
             echo ")co $*.spad" | ${INTERPSYS} >> ${TMP}/trace ; \
           fi )

Logically removing old file is the first step of compilation. But
because of '@' char make does not echo the compile command, so you
get the output as-is.

BTW: I would write the above as:

${MID}/%.NRLIB/code.o: ${MID}/%.spad
        rm -rf ${MID}/$*.NRLIB
        echo ")co $*.spad" | ${INTERPSYS}  ${COMPOUTPUT}

with COMPOUTPUT beeeing ">> ${TMP}/trace" if we want silent
compilation and "| cat" if we want all messages. Note that
once we remove '@' char the first echo command is useless, since
the second line contains requested information.


-- 
                              Waldek Hebisch
[EMAIL PROTECTED] 


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to