From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8151 invoked by alias); 22 Dec 2014 21:23:09 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 8117 invoked by uid 48); 22 Dec 2014 21:23:04 -0000 From: "egall at gwmail dot gwu.edu" To: gcc-bugs@gcc.gnu.org Subject: [Bug other/43171] build: target modules Makefiles have broken rebuild rules (multilib issue) Date: Mon, 22 Dec 2014 21:23:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: other X-Bugzilla-Version: 4.5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: minor X-Bugzilla-Who: egall at gwmail dot gwu.edu X-Bugzilla-Status: NEW X-Bugzilla-Priority: P4 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-12/txt/msg02602.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43171 Eric Gallager changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |egall at gwmail dot gwu.edu --- Comment #1 from Eric Gallager --- (In reply to Ralf Wildenhues from comment #0) > Inside the build tree, for each $module and $MULTIDIR, the files > $target/$module/Makefile and probably also > $target/$MULTIDIR/$module/Makefile have broken rules for the 'Makefile' > target: when run, these rules just run './config.status Makefile', > whereas the right thing to do would be to also run the > './config.status default-1' config commands. For modules that use automake, the rules that automake generates for the 'Makefile' target look like this: .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; Checking 'am__depfiles_maybe', it seems that automake sets it empty by default, so maybe 'default-1' needs to be added to 'am__depfiles_maybe' in the Makefile.am of any module that uses automake? (or whatever 'default-1' is called, that is; in my tree, I renamed the corresponding AC_CONFIG_COMMANDS argument in config/multi.m4 to say 'multilib-default-1' instead, as I find that more descriptive, but that would be a separate topic...)