1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 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 22# 23# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26 27include ../Makefile.master 28 29ROOTDIR=$(ROOT)/usr/lib/locale/C 30ROOTMSGDIR=$(ROOTDIR)/LC_MESSAGES 31ROOTTIMEDIR=$(ROOTDIR)/LC_TIME 32 33# 34# These files either need no build rules, because they're under SCM 35# in the current working directory, or they have explicit build rules 36# that aren't handled by the $(MSGDIRFILES_REMOTE) rule below. 37# 38MSGDIRFILES_LOCAL= \ 39 SUNW_OST_LINFO \ 40 uxlibc.src 41 42# 43# These files live somewhere else in the build tree (ie not in the 44# directory usr/src/msg). Each entry here should be accompanied by an 45# explicit action telling where the file lives. That action should 46# consist only of a dependency, but no action--the action is supplied 47# by the $(MSGDIRFILES_REMOTE) rule below. 48# 49MSGDIRFILES_REMOTE= \ 50 magic \ 51 mailx.help \ 52 more.help \ 53 priv_names 54 55MSGDIRFILES= $(MSGDIRFILES_LOCAL) $(MSGDIRFILES_REMOTE) 56 57ROOTMSGDIRFILES=$(MSGDIRFILES:%=$(ROOTMSGDIR)/%) 58 59PO_LABEL=' The following lines are contents of ' 60 61.KEEP_STATE: 62 63all: $(MSGDIRFILES) 64 65install: all _msg 66 67clobber: 68 $(RM) $(MSGDIRFILES_REMOTE) 69 70# 71# The _msg target gathers the output of the top-level _msg target into 72# text-domain-specific message files under the ROOTMSGDIR for packaging. 73# It also processes time-message files in subdirectories of the LC_TIME 74# directory and copies or creates other files needed by this package. 75# 76 77$(ROOTTIMEDIR) $(ROOTMSGDIR): 78 $(INS.dir) 79 80$(ROOTMSGDIR)/%: $(ROOTMSGDIR) % 81 $(INS.file) 82 83magic: $(SRC)/cmd/file/magic 84 85priv_names: $(ROOT)/etc/security/priv_names 86 87mailx.help: $(SRC)/cmd/mailx/misc/mailx.help 88 89more.help: $(SRC)/cmd/more/more.help 90 91$(MSGDIRFILES_REMOTE): 92 $(RM) $@; $(CP) $? $@ 93 94_msg: $(ROOTMSGDIR) .WAIT $(ROOTTIMEDIR) $(ROOTMSGDIRFILES) FRC 95 [ -d $(MSGROOT) ] || $(ECHO) "need to build _msg in $(SRC)" 96 (cd $(MSGROOT); \ 97 for d in SUNW*;\ 98 do \ 99 x="`$(ECHO) $$d/*.po`"; \ 100 y="$$d/"'*.po'; \ 101 $(RM) $(ROOTMSGDIR)/$$d.po; \ 102 if test "$$x" != "$$y"; then \ 103 for f in $$d/*.po; \ 104 do \ 105 $(ECHO) '#'$(PO_LABEL)$$f >> $(ROOTMSGDIR)/$$d.po; \ 106 $(SED) -e '/^# msg/d' -e '/^domain/d' $$f >> \ 107 $(ROOTMSGDIR)/$$d.po; \ 108 done; \ 109 $(CHMOD) $(FILEMODE) $(ROOTMSGDIR)/$$d.po; \ 110 fi; \ 111 x="`$(ECHO) $$d/*.msg`"; \ 112 y="$$d/"'*.msg'; \ 113 if test "$$x" != "$$y"; then \ 114 for f in $$d/*.msg; \ 115 do \ 116 x="`basename $$f`"; \ 117 $(RM) $(ROOTMSGDIR)/$$x; \ 118 $(CP) $$f $(ROOTMSGDIR); \ 119 $(CHMOD) $(FILEMODE) $(ROOTMSGDIR)/$$x; \ 120 done; \ 121 fi; \ 122 done) 123 (cd $(MSGROOT)/LC_TIME; \ 124 for d in SUNW*;\ 125 do \ 126 $(RM) $(ROOTTIMEDIR)/$$d.po; \ 127 for f in $$d/*.po; \ 128 do \ 129 $(ECHO) '#'$(PO_LABEL)$$f >> $(ROOTTIMEDIR)/$$d.po; \ 130 $(SED) -e '/^# msg/d' -e '/^domain/d' $$f >> \ 131 $(ROOTTIMEDIR)/$$d.po; \ 132 done; \ 133 $(CHMOD) $(FILEMODE) $(ROOTTIMEDIR)/$$d.po; \ 134 done) 135 136FRC: 137