OpenSolaris_b135/msg/Makefile

#
# 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 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

include ../Makefile.master

ROOTDIR=$(ROOT)/usr/lib/locale/C
ROOTMSGDIR=$(ROOTDIR)/LC_MESSAGES
ROOTTIMEDIR=$(ROOTDIR)/LC_TIME

#
# These files either need no build rules, because they're under SCM
# in the current working directory, or they have explicit build rules
# that aren't handled by the $(MSGDIRFILES_REMOTE) rule below.
#
MSGDIRFILES_LOCAL= \
	SUNW_OST_LINFO \
	uxlibc.src

#
# These files live somewhere else in the build tree (ie not in the
# directory usr/src/msg).  Each entry here should be accompanied by an
# explicit action telling where the file lives.  That action should
# consist only of a dependency, but no action--the action is supplied
# by the $(MSGDIRFILES_REMOTE) rule below.
#
MSGDIRFILES_REMOTE= \
	magic \
	mailx.help \
	more.help \
	priv_names

MSGDIRFILES= $(MSGDIRFILES_LOCAL) $(MSGDIRFILES_REMOTE)

ROOTMSGDIRFILES=$(MSGDIRFILES:%=$(ROOTMSGDIR)/%)

PO_LABEL=' The following lines are contents of '

.KEEP_STATE:

all: $(MSGDIRFILES)

install: all _msg

#
# The _msg target gathers the output of the top-level _msg target into
# text-domain-specific message files under the ROOTMSGDIR for packaging.
# It also processes time-message files in subdirectories of the LC_TIME
# directory and copies or creates other files needed by this package.
#

$(ROOTTIMEDIR) $(ROOTMSGDIR):
	$(INS.dir)

$(ROOTMSGDIR)/%: $(ROOTMSGDIR) %
	$(INS.file)

magic: $(SRC)/cmd/file/magic

priv_names: $(ROOT)/etc/security/priv_names

mailx.help: $(SRC)/cmd/mailx/misc/mailx.help

more.help: $(SRC)/cmd/more/more.help

$(MSGDIRFILES_REMOTE):
	$(RM) $@; $(CP) $? $@

_msg: $(ROOTMSGDIR) .WAIT $(ROOTTIMEDIR) $(ROOTMSGDIRFILES) FRC
	[ -d $(MSGROOT) ] || $(ECHO) "need to build _msg in $(SRC)"
	(cd $(MSGROOT); \
	for d in SUNW*;\
	do \
		x="`$(ECHO) $$d/*.po`"; \
		y="$$d/"'*.po'; \
		$(RM) $(ROOTMSGDIR)/$$d.po; \
		if test "$$x" != "$$y"; then \
		for f in $$d/*.po; \
		do \
			$(ECHO) '#'$(PO_LABEL)$$f >> $(ROOTMSGDIR)/$$d.po; \
			$(SED) -e '/^# msg/d' -e '/^domain/d' $$f >> \
			    $(ROOTMSGDIR)/$$d.po; \
		done; \
		$(CHMOD) $(FILEMODE) $(ROOTMSGDIR)/$$d.po; \
		fi; \
		x="`$(ECHO) $$d/*.msg`"; \
		y="$$d/"'*.msg'; \
		if test "$$x" != "$$y"; then \
		for f in $$d/*.msg; \
		do \
			x="`basename $$f`"; \
			$(RM) $(ROOTMSGDIR)/$$x; \
			$(CP) $$f $(ROOTMSGDIR); \
			$(CHMOD) $(FILEMODE) $(ROOTMSGDIR)/$$x; \
		done; \
		fi; \
	done)
	(cd $(MSGROOT)/LC_TIME; \
	for d in SUNW*;\
	do \
		$(RM) $(ROOTTIMEDIR)/$$d.po; \
		for f in $$d/*.po; \
		do \
			$(ECHO) '#'$(PO_LABEL)$$f >> $(ROOTTIMEDIR)/$$d.po; \
			$(SED) -e '/^# msg/d' -e '/^domain/d' $$f >> \
			    $(ROOTTIMEDIR)/$$d.po; \
		done; \
		$(CHMOD) $(FILEMODE) $(ROOTTIMEDIR)/$$d.po; \
	done)

FRC: