From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41656) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNdeQ-0001aW-QX for qemu-devel@nongnu.org; Fri, 07 Aug 2015 05:09:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZNdeL-0007XY-ST for qemu-devel@nongnu.org; Fri, 07 Aug 2015 05:09:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46179) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNdeL-0007XP-Mc for qemu-devel@nongnu.org; Fri, 07 Aug 2015 05:09:13 -0400 Date: Fri, 7 Aug 2015 10:09:09 +0100 From: "Dr. David Alan Gilbert" Message-ID: <20150807090908.GA2270@work-vm> References: <20150806115451.GA7242@work-vm> <55C395FD.7080008@weilnetz.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55C395FD.7080008@weilnetz.de> Subject: Re: [Qemu-devel] PO makefile rules touching source List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: Peter Maydell , qemu-devel@nongnu.org * Stefan Weil (sw@weilnetz.de) wrote: > Am 06.08.2015 um 13:54 schrieb Dr. David Alan Gilbert: > >Hi Stefan, > > I don't really understand the way PO stuff is supposed to work, > >but I often get the problem that my git tree gets changed during > >an out of tree build, causing the po subdirectory to be > >dirtied. > > > >I think this is due to the rule: > > > >$(PO_PATH)/%.po: $(PO_PATH)/messages.po > > $(call quiet-command, msgmerge -q $@ $< > $@.bak && mv $@.bak $@, " GEN $@") > > > >in po/Makefile. > > > >Why does that merge into $(PO_PATH)/%.po rather than %.po - i.e. > >why to the source rather than to the build directory? > > > >Dave > > > >-- > >Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK > > Hi Dave, > > the *.po files are initially generated, then manually > enhanced by the translated texts. > > Each time when there are modifications to the > related source file (for QEMU: ui/gtk.c), the *.po > files need updates, too (new or removed texts, > but most often changes of line numbers). > > That's why I have sent a patch to update the > *.po files for QEMU 2.4.0. With this patch > (which is still not applied), you would not > get changes when doing a complete build > because *.po files and ui/gtk.c would match. > > As long as there is the mismatch, you'll > get modified *.po files when running > "make install". I usually handle this case > by running "git diff po|patch -p1 -R" > which removes the *.po modifications. But why are these files in the source tree *ever* updated by a make install; if you're saying the .po files need updating, that's fine, but have the makefile do the update into the build directory, not the source directory. You might want a convenience make target for updating the source directory po files to make your life easier, but I don't understand why that triggers during a normal make install. Dave > > Stefan > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK