stevel@tonic-gate | 7c478bd | 2005-06-14 00:00:00 -0700 | [diff] [blame] | 1 | # |
| 2 | # CDDL HEADER START |
| 3 | # |
| 4 | # The contents of this file are subject to the terms of the |
Matthew Ahrens | 0aea4b1 | 2009-05-06 13:02:01 -0700 | [diff] [blame] | 5 | # Common Development and Distribution License (the "License"). |
| 6 | # You may not use this file except in compliance with the License. |
stevel@tonic-gate | 7c478bd | 2005-06-14 00:00:00 -0700 | [diff] [blame] | 7 | # |
| 8 | # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
| 9 | # or http://www.opensolaris.org/os/licensing. |
| 10 | # See the License for the specific language governing permissions |
| 11 | # and limitations under the License. |
| 12 | # |
| 13 | # When distributing Covered Code, include this CDDL HEADER in each |
| 14 | # file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
| 15 | # If applicable, add the following below this CDDL HEADER, with the |
| 16 | # fields enclosed by brackets "[]" replaced with your own identifying |
| 17 | # information: Portions Copyright [yyyy] [name of copyright owner] |
| 18 | # |
| 19 | # CDDL HEADER END |
| 20 | # |
| 21 | # |
Jan Friedel | 6f5e834 | 2010-02-19 16:36:39 +0100 | [diff] [blame] | 22 | # Copyright 2010 Sun Microsystems, Inc. All rights reserved. |
stevel@tonic-gate | 7c478bd | 2005-06-14 00:00:00 -0700 | [diff] [blame] | 23 | # Use is subject to license terms. |
Igor Kozhukhov | 7b07063 | 2015-10-24 19:18:16 +0300 | [diff] [blame] | 24 | # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com> |
stevel@tonic-gate | 7c478bd | 2005-06-14 00:00:00 -0700 | [diff] [blame] | 25 | # |
stevel@tonic-gate | 7c478bd | 2005-06-14 00:00:00 -0700 | [diff] [blame] | 26 | # Makefile.msg.targ |
| 27 | # |
| 28 | |
| 29 | # |
| 30 | # This file contains common targets for building message catalogues. |
| 31 | # Over time, existing Makefiles should be rewritten to include this file |
| 32 | # rather than use their own private copy of these rules. |
| 33 | # |
| 34 | |
| 35 | .PARALLEL: $(POFILES) $(MSGFILES) |
| 36 | |
Jan Friedel | 6f5e834 | 2010-02-19 16:36:39 +0100 | [diff] [blame] | 37 | $(MSGDOMAIN)% $(DCMSGDOMAIN)%: |
stevel@tonic-gate | 7c478bd | 2005-06-14 00:00:00 -0700 | [diff] [blame] | 38 | $(INS.dir) |
| 39 | |
| 40 | $(MSGDOMAINPOFILE): $(MSGDOMAIN) $(POFILE) |
| 41 | $(RM) $@; $(CP) $(POFILE) $@ |
| 42 | |
| 43 | $(DCMSGDOMAINPOFILE): $(DCMSGDOMAIN) $(DCFILE) |
| 44 | $(RM) $@; $(CP) $(DCFILE) $@ |
| 45 | |
| 46 | BUILDPO.msgfiles = \ |
| 47 | $(RM) messages.po $(TEXT_DOMAIN).po; \ |
| 48 | $(TOUCH) $(TEXT_DOMAIN).po; \ |
| 49 | $(XGETTEXT) $(XGETFLAGS) $(MSGFILES); \ |
| 50 | $(SED) -e '/^\# msgid/,/^\# msgstr/d' -e '/^domain/d' \ |
Matthew Ahrens | 0aea4b1 | 2009-05-06 13:02:01 -0700 | [diff] [blame] | 51 | -e '/^\#$$/d' -e '/^\#, /d' \ |
stevel@tonic-gate | 7c478bd | 2005-06-14 00:00:00 -0700 | [diff] [blame] | 52 | messages.po $(TEXT_DOMAIN).po > $(POFILE); \ |
| 53 | $(RM) messages.po $(TEXT_DOMAIN).po |
| 54 | |
| 55 | BUILDPO.pofiles = \ |
| 56 | $(RM) $(POFILE); \ |
Igor Kozhukhov | 7b07063 | 2015-10-24 19:18:16 +0300 | [diff] [blame] | 57 | $(AWK) '\ |
stevel@tonic-gate | 7c478bd | 2005-06-14 00:00:00 -0700 | [diff] [blame] | 58 | FNR == 1 { print "\# Messages from " FILENAME; } \ |
| 59 | /^domain/ { next; } \ |
| 60 | /^msgid/, /^msgstr/ { msg = msg "\n" $$0; \ |
| 61 | if ( $$0 !~ /^msgstr/ ) next; \ |
| 62 | if (msg in messages) { \ |
| 63 | gsub(/\n/, "\n\# ", msg); \ |
| 64 | } else { \ |
| 65 | messages[msg] = 1; \ |
| 66 | } \ |
| 67 | sub(/^\n/, "", msg); \ |
| 68 | print msg; \ |
| 69 | msg = ""; \ |
| 70 | next; \ |
| 71 | } \ |
| 72 | /^\# [\.]*Messages/ { sub(/Messages/, "...Messages"); } \ |
| 73 | { print; }' $(POFILES) > $(POFILE) |
| 74 | |
| 75 | pofile_MSGFILES: |
| 76 | $(BUILDPO.msgfiles) |
| 77 | |
| 78 | pofile_POFILES: |
| 79 | $(BUILDPO.pofiles) |