| # |
| # CDDL HEADER START |
| # |
| # The contents of this file are subject to the terms of the |
| # Common Development and Distribution License (the "License"). |
| # You may not use this file except in compliance with the License. |
| # |
| # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
| # or http://www.opensolaris.org/os/licensing. |
| # See the License for the specific language governing permissions |
| # and limitations under the License. |
| # |
| # When distributing Covered Code, include this CDDL HEADER in each |
| # file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
| # If applicable, add the following below this CDDL HEADER, with the |
| # fields enclosed by brackets "[]" replaced with your own identifying |
| # information: Portions Copyright [yyyy] [name of copyright owner] |
| # |
| # CDDL HEADER END |
| # |
| # |
| # Copyright 2010 Sun Microsystems, Inc. All rights reserved. |
| # Use is subject to license terms. |
| # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com> |
| # |
| # Makefile.msg.targ |
| # |
| |
| # |
| # This file contains common targets for building message catalogues. |
| # Over time, existing Makefiles should be rewritten to include this file |
| # rather than use their own private copy of these rules. |
| # |
| |
| .PARALLEL: $(POFILES) $(MSGFILES) |
| |
| $(MSGDOMAIN)% $(DCMSGDOMAIN)%: |
| $(INS.dir) |
| |
| $(MSGDOMAINPOFILE): $(MSGDOMAIN) $(POFILE) |
| $(RM) $@; $(CP) $(POFILE) $@ |
| |
| $(DCMSGDOMAINPOFILE): $(DCMSGDOMAIN) $(DCFILE) |
| $(RM) $@; $(CP) $(DCFILE) $@ |
| |
| BUILDPO.msgfiles = \ |
| $(RM) messages.po $(TEXT_DOMAIN).po; \ |
| $(TOUCH) $(TEXT_DOMAIN).po; \ |
| $(XGETTEXT) $(XGETFLAGS) $(MSGFILES); \ |
| $(SED) -e '/^\# msgid/,/^\# msgstr/d' -e '/^domain/d' \ |
| -e '/^\#$$/d' -e '/^\#, /d' \ |
| messages.po $(TEXT_DOMAIN).po > $(POFILE); \ |
| $(RM) messages.po $(TEXT_DOMAIN).po |
| |
| BUILDPO.pofiles = \ |
| $(RM) $(POFILE); \ |
| $(AWK) '\ |
| FNR == 1 { print "\# Messages from " FILENAME; } \ |
| /^domain/ { next; } \ |
| /^msgid/, /^msgstr/ { msg = msg "\n" $$0; \ |
| if ( $$0 !~ /^msgstr/ ) next; \ |
| if (msg in messages) { \ |
| gsub(/\n/, "\n\# ", msg); \ |
| } else { \ |
| messages[msg] = 1; \ |
| } \ |
| sub(/^\n/, "", msg); \ |
| print msg; \ |
| msg = ""; \ |
| next; \ |
| } \ |
| /^\# [\.]*Messages/ { sub(/Messages/, "...Messages"); } \ |
| { print; }' $(POFILES) > $(POFILE) |
| |
| pofile_MSGFILES: |
| $(BUILDPO.msgfiles) |
| |
| pofile_POFILES: |
| $(BUILDPO.pofiles) |