octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #46063] Build system re-makes certain files 2


From: Rik
Subject: [Octave-bug-tracker] [bug #46063] Build system re-makes certain files 2 or even 3 times
Date: Tue, 01 Mar 2016 22:36:44 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0

Follow-up Comment #4, bug #46063 (project octave):

I think there is something screwy with the DOCSTRING build as well.  If you
can narrow it down to something repeatable I'd file a new bug report about
that.

The issue in this report is that make shouldn't need to call the
move-if-change rule twice on the same file.

I think it is related to the use of BUILT_SOURCES.  For example, when I run


make -j1 V=1 |& tee mymake.log


The first file that gets built is defaults.h using move-if-change.  A whole
bunch of these other BUILT_SOURCES get constructed and then this:


run-octave is unchanged
rm -f bits/stl_algo.h
make  all-recursive
make[1]: Entering directory '/home/rik/wip/Projects_Mine/octave-dev'
Making all in libgnu
make[2]: Entering directory '/home/rik/wip/Projects_Mine/octave-dev/libgnu'
make  all-recursive
make[3]: Entering directory '/home/rik/wip/Projects_Mine/octave-dev/libgnu'
make[4]: Entering directory '/home/rik/wip/Projects_Mine/octave-dev/libgnu'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/home/rik/wip/Projects_Mine/octave-dev/libgnu'
make[3]: Leaving directory '/home/rik/wip/Projects_Mine/octave-dev/libgnu'
make[2]: Leaving directory '/home/rik/wip/Projects_Mine/octave-dev/libgnu'
make[2]: Entering directory '/home/rik/wip/Projects_Mine/octave-dev'
/bin/sed < libinterp/corefcn/defaults.in.h > libinterp/corefcn/defaults.h-t -


It would appear that it finishes up the last of the BUILT_SOURCES and then
executes 'make all-recursive'.  This starts with the directories mentioned in
SUBDIRS, only libgnu these days, and then changes to the top-level directory
and starts building all of the BUILT_SOURCES again.

One way out of this, I imagine, would be to ditch SUBDIRS completely and have
just a single Makefile.  But this means somehow creating a module.mk file for
the libgnu directory.

Just for grins, I commented out SUBDIRS.  It isn't strictly necessary after my
changeset today:


changeset:   21384:ad1dbbd23f1d
user:        Rik <address@hidden>
date:        Tue Mar 01 09:53:59 2016 -0800
summary:     Makefile.am: Add libgnu.la to BUILT_SOURCES to generate it early
(partial fix bug #45578).


Octave builds just fine, but it still uses the move-if-change rule twice on
lots of files.


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?46063>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]