17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 50aea4b19SMatthew Ahrens# Common Development and Distribution License (the "License"). 60aea4b19SMatthew Ahrens# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 217c478bd9Sstevel@tonic-gate# 226f5e8346SJan Friedel# Copyright 2010 Sun Microsystems, Inc. All rights reserved. 237c478bd9Sstevel@tonic-gate# Use is subject to license terms. 24*7b07063dSIgor Kozhukhov# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com> 257c478bd9Sstevel@tonic-gate# 267c478bd9Sstevel@tonic-gate# Makefile.msg.targ 277c478bd9Sstevel@tonic-gate# 287c478bd9Sstevel@tonic-gate 297c478bd9Sstevel@tonic-gate# 307c478bd9Sstevel@tonic-gate# This file contains common targets for building message catalogues. 317c478bd9Sstevel@tonic-gate# Over time, existing Makefiles should be rewritten to include this file 327c478bd9Sstevel@tonic-gate# rather than use their own private copy of these rules. 337c478bd9Sstevel@tonic-gate# 347c478bd9Sstevel@tonic-gate 357c478bd9Sstevel@tonic-gate.PARALLEL: $(POFILES) $(MSGFILES) 367c478bd9Sstevel@tonic-gate 376f5e8346SJan Friedel$(MSGDOMAIN)% $(DCMSGDOMAIN)%: 387c478bd9Sstevel@tonic-gate $(INS.dir) 397c478bd9Sstevel@tonic-gate 407c478bd9Sstevel@tonic-gate$(MSGDOMAINPOFILE): $(MSGDOMAIN) $(POFILE) 417c478bd9Sstevel@tonic-gate $(RM) $@; $(CP) $(POFILE) $@ 427c478bd9Sstevel@tonic-gate 437c478bd9Sstevel@tonic-gate$(DCMSGDOMAINPOFILE): $(DCMSGDOMAIN) $(DCFILE) 447c478bd9Sstevel@tonic-gate $(RM) $@; $(CP) $(DCFILE) $@ 457c478bd9Sstevel@tonic-gate 467c478bd9Sstevel@tonic-gateBUILDPO.msgfiles = \ 477c478bd9Sstevel@tonic-gate $(RM) messages.po $(TEXT_DOMAIN).po; \ 487c478bd9Sstevel@tonic-gate $(TOUCH) $(TEXT_DOMAIN).po; \ 497c478bd9Sstevel@tonic-gate $(XGETTEXT) $(XGETFLAGS) $(MSGFILES); \ 507c478bd9Sstevel@tonic-gate $(SED) -e '/^\# msgid/,/^\# msgstr/d' -e '/^domain/d' \ 510aea4b19SMatthew Ahrens -e '/^\#$$/d' -e '/^\#, /d' \ 527c478bd9Sstevel@tonic-gate messages.po $(TEXT_DOMAIN).po > $(POFILE); \ 537c478bd9Sstevel@tonic-gate $(RM) messages.po $(TEXT_DOMAIN).po 547c478bd9Sstevel@tonic-gate 557c478bd9Sstevel@tonic-gateBUILDPO.pofiles = \ 567c478bd9Sstevel@tonic-gate $(RM) $(POFILE); \ 57*7b07063dSIgor Kozhukhov $(AWK) '\ 587c478bd9Sstevel@tonic-gate FNR == 1 { print "\# Messages from " FILENAME; } \ 597c478bd9Sstevel@tonic-gate /^domain/ { next; } \ 607c478bd9Sstevel@tonic-gate /^msgid/, /^msgstr/ { msg = msg "\n" $$0; \ 617c478bd9Sstevel@tonic-gate if ( $$0 !~ /^msgstr/ ) next; \ 627c478bd9Sstevel@tonic-gate if (msg in messages) { \ 637c478bd9Sstevel@tonic-gate gsub(/\n/, "\n\# ", msg); \ 647c478bd9Sstevel@tonic-gate } else { \ 657c478bd9Sstevel@tonic-gate messages[msg] = 1; \ 667c478bd9Sstevel@tonic-gate } \ 677c478bd9Sstevel@tonic-gate sub(/^\n/, "", msg); \ 687c478bd9Sstevel@tonic-gate print msg; \ 697c478bd9Sstevel@tonic-gate msg = ""; \ 707c478bd9Sstevel@tonic-gate next; \ 717c478bd9Sstevel@tonic-gate } \ 727c478bd9Sstevel@tonic-gate /^\# [\.]*Messages/ { sub(/Messages/, "...Messages"); } \ 737c478bd9Sstevel@tonic-gate { print; }' $(POFILES) > $(POFILE) 747c478bd9Sstevel@tonic-gate 757c478bd9Sstevel@tonic-gatepofile_MSGFILES: 767c478bd9Sstevel@tonic-gate $(BUILDPO.msgfiles) 777c478bd9Sstevel@tonic-gate 787c478bd9Sstevel@tonic-gatepofile_POFILES: 797c478bd9Sstevel@tonic-gate $(BUILDPO.pofiles) 80