"make -C src clean" is dirty

John W. Eaton jwe at octave.org
Tue Jun 23 13:33:23 CDT 2009


On 22-Jun-2009, Rob Mahurin wrote:

| In a clean mercurial checkout, following ./autogen.sh and ./ 
| configure, "make maintainer-clean" causes some files to be created.   
| The problem seems to be
| 
| Mon 15:00 $ make -C src clean
| make -C ../liboctave ../liboctave/DASPK-opts.h
| making DASPK-opts.h from DASPK-opts.in
| making DASRT-opts.h from DASRT-opts.in
| making DASSL-opts.h from DASSL-opts.in
| making LSODE-opts.h from LSODE-opts.in
| making Quad-opts.h from Quad-opts.in
| ^Cmake: *** Deleting file `../liboctave/DASPK-opts.h'
| make[1]: *** [Quad-opts.h] Interrupt
| make: *** [../liboctave/DASPK-opts.h] Interrupt
| 
| I think that "make clean" should only remove files?  This maybe comes  
| from the targets in src/Makefile depending on FORCE.  I'm not sure I  
| understand what's happening enough to suggest a change.
| 
| I noticed this since I had some wrong liboctave/*.d files which made  
| my build fail and which weren't correctly regenerated after another  
| configure.

Unless someone can come up with a better solution for the dependency
generation, I consider this a feature, not a bug.

If you want to avoid the dependency generation run

  make -C src omit_deps=true clean

That's what the top-level Makefile does.

jwe


More information about the Octave-maintainers mailing list