From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27671 invoked by alias); 21 Oct 2010 05:11:53 -0000 Received: (qmail 27659 invoked by uid 22791); 21 Oct 2010 05:11:51 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 21 Oct 2010 05:11:46 +0000 Received: (qmail 32105 invoked from network); 21 Oct 2010 05:11:44 -0000 Received: from unknown (HELO ?192.168.1.106?) (jie@127.0.0.2) by mail.codesourcery.com with ESMTPA; 21 Oct 2010 05:11:44 -0000 Message-ID: <4CBFCB92.5020204@codesourcery.com> Date: Thu, 21 Oct 2010 05:11:00 -0000 From: Jie Zhang User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100918 Icedove/3.1.4 MIME-Version: 1.0 To: Doug Evans CC: Pedro Alves , gdb-patches@sourceware.org Subject: Re: Fix Makefile.in in data-directory References: <4CBEDBF5.9060504@codesourcery.com> <201010210114.24465.pedro@codesourcery.com> <4CBF86A6.8020102@codesourcery.com> <201010210128.53843.pedro@codesourcery.com> <4CBFA227.8050501@codesourcery.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------080308080704070706020701" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-10/txt/msg00332.txt.bz2 This is a multi-part message in MIME format. --------------080308080704070706020701 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 994 On 10/21/2010 10:29 AM, Doug Evans wrote: > On Wed, Oct 20, 2010 at 7:15 PM, Jie Zhang wrote: >> I don't think it's really necessary to fix that. binutils and gcc also don't >> allow "make -j4 install" to directly after "configure". "make -j4 all >> install" also fails for binutils and gcc. I think it's already an convention >> that those software are built with >> >> ./configure >> make >> make install >> >> Do we really need the effort to fix GDB? > > fwiw, I think the answer is yes. > > Note that we don't need to consider ./configure ; make -j4 install. > > The issue arises with a simple "$EDITOR foo.c ; make -j4 install". Reasonable although I never used it before. This is an updated patch which does that. It fixes it by passing FLAGS_TO_PASS when recursively make install-only. It fixes my issue. I also tested by touching a source file and do "make -j4 install" in gdb directory. It behaves as expected. OK now? Regards, -- Jie Zhang CodeSourcery --------------080308080704070706020701 Content-Type: text/x-patch; name="gdb-fix-install-only.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="gdb-fix-install-only.diff" Content-length: 4396 * Makefile.in (install): Remove dependency of install-only and recursively invoke make for install-only. * data-directory/Makefile.in: Add FLAGS_TO_PASS variable. (install): Pass FLAGS_TO_PASS when recursively make install-only. gdbserver/ * Makefile.in: Add FLAGS_TO_PASS variable. (install): Remove dependency of install-only and recursively invoke make for install-only. Index: Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/Makefile.in,v retrieving revision 1.1136 diff -u -p -r1.1136 Makefile.in --- Makefile.in 6 Oct 2010 16:46:12 -0000 1.1136 +++ Makefile.in 21 Oct 2010 04:22:12 -0000 @@ -970,7 +970,8 @@ gdb.z:gdb.1 # source file and doesn't care about rebuilding or just wants to save the # time it takes for make to check that all is up to date. # install-only is intended to address that need. -install: all install-only +install: all + @$(MAKE) $(FLAGS_TO_PASS) install-only install-only: $(CONFIG_INSTALL) transformed_name=`t='$(program_transform_name)'; \ Index: data-directory/Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/data-directory/Makefile.in,v retrieving revision 1.3 diff -u -p -r1.3 Makefile.in --- data-directory/Makefile.in 13 Oct 2010 20:08:44 -0000 1.3 +++ data-directory/Makefile.in 21 Oct 2010 04:22:12 -0000 @@ -54,6 +54,38 @@ PYTHON_FILES = \ gdb/__init__.py \ gdb/types.py +FLAGS_TO_PASS = \ + "prefix=$(prefix)" \ + "exec_prefix=$(exec_prefix)" \ + "infodir=$(infodir)" \ + "datarootdir=$(datarootdir)" \ + "docdir=$(docdir)" \ + "htmldir=$(htmldir)" \ + "pdfdir=$(pdfdir)" \ + "libdir=$(libdir)" \ + "mandir=$(mandir)" \ + "datadir=$(datadir)" \ + "includedir=$(includedir)" \ + "against=$(against)" \ + "DESTDIR=$(DESTDIR)" \ + "AR=$(AR)" \ + "AR_FLAGS=$(AR_FLAGS)" \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ + "CXX=$(CXX)" \ + "CXXFLAGS=$(CXXFLAGS)" \ + "DLLTOOL=$(DLLTOOL)" \ + "LDFLAGS=$(LDFLAGS)" \ + "RANLIB=$(RANLIB)" \ + "MAKEINFO=$(MAKEINFO)" \ + "MAKEHTML=$(MAKEHTML)" \ + "MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \ + "INSTALL=$(INSTALL)" \ + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ + "INSTALL_DATA=$(INSTALL_DATA)" \ + "RUNTEST=$(RUNTEST)" \ + "RUNTESTFLAGS=$(RUNTESTFLAGS)" + .PHONY: all all: stamp-syscalls stamp-python @@ -146,7 +178,7 @@ uninstall-python: # install-only is intended to address that need. .PHONY: install install: all - $(MAKE) install-only + @$(MAKE) $(FLAGS_TO_PASS) install-only .PHONY: install-only install-only: install-syscalls install-python Index: gdbserver/Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/gdbserver/Makefile.in,v retrieving revision 1.98 diff -u -p -r1.98 Makefile.in --- gdbserver/Makefile.in 4 Oct 2010 23:32:40 -0000 1.98 +++ gdbserver/Makefile.in 21 Oct 2010 04:22:12 -0000 @@ -151,6 +151,38 @@ XML_BUILTIN = @srv_xmlbuiltin@ IPA_DEPFILES = @IPA_DEPFILES@ extra_libraries = @extra_libraries@ +FLAGS_TO_PASS = \ + "prefix=$(prefix)" \ + "exec_prefix=$(exec_prefix)" \ + "infodir=$(infodir)" \ + "datarootdir=$(datarootdir)" \ + "docdir=$(docdir)" \ + "htmldir=$(htmldir)" \ + "pdfdir=$(pdfdir)" \ + "libdir=$(libdir)" \ + "mandir=$(mandir)" \ + "datadir=$(datadir)" \ + "includedir=$(includedir)" \ + "against=$(against)" \ + "DESTDIR=$(DESTDIR)" \ + "AR=$(AR)" \ + "AR_FLAGS=$(AR_FLAGS)" \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ + "CXX=$(CXX)" \ + "CXXFLAGS=$(CXXFLAGS)" \ + "DLLTOOL=$(DLLTOOL)" \ + "LDFLAGS=$(LDFLAGS)" \ + "RANLIB=$(RANLIB)" \ + "MAKEINFO=$(MAKEINFO)" \ + "MAKEHTML=$(MAKEHTML)" \ + "MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \ + "INSTALL=$(INSTALL)" \ + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ + "INSTALL_DATA=$(INSTALL_DATA)" \ + "RUNTEST=$(RUNTEST)" \ + "RUNTESTFLAGS=$(RUNTESTFLAGS)" + # Prevent Sun make from putting in the machine type. Setting # TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1. .c.o: @@ -163,7 +195,9 @@ all: gdbserver$(EXEEXT) gdbreplay$(EXEEX # source file and doesn't care about rebuilding or just wants to save the # time it takes for make to check that all is up to date. # install-only is intended to address that need. -install: all install-only +install: all + @$(MAKE) $(FLAGS_TO_PASS) install-only + install-only: n=`echo gdbserver | sed '$(program_transform_name)'`; \ if [ x$$n = x ]; then n=gdbserver; else true; fi; \ --------------080308080704070706020701--