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 27 include ../Makefile.master 28 29 ROOTDIR=$(ROOT)/usr/lib/locale/C 30 ROOTMSGDIR=$(ROOTDIR)/LC_MESSAGES 31 ROOTTIMEDIR=$(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 # 38 MSGDIRFILES_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 # 49 MSGDIRFILES_REMOTE= \ 50 magic \ 51 mailx.help \ 52 more.help \ 53 priv_names 54 55 MSGDIRFILES= $(MSGDIRFILES_LOCAL) $(MSGDIRFILES_REMOTE) 56 57 ROOTMSGDIRFILES=$(MSGDIRFILES:%=$(ROOTMSGDIR)/%) 58 59 PO_LABEL=' The following lines are contents of ' 60 61 .KEEP_STATE: 62 63 all: $(MSGDIRFILES) 64 65 install: all _msg 66 67 clobber: 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 83 magic: $(SRC)/cmd/file/magic 84 85 priv_names: $(ROOT)/etc/security/priv_names 86 87 mailx.help: $(SRC)/cmd/mailx/misc/mailx.help 88 89 more.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 136 FRC: 137