293 useradd/del/mod should be ZFS-aware
[illumos-gate.git] / usr / src / msg / Makefile
blob03e42fc3441c50229af7ca492f9b369c0fb43c42
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
27 include ../Makefile.master
29 ROOTDIR=$(ROOT)/usr/lib/locale/C
30 ROOTMSGDIR=$(ROOTDIR)/LC_MESSAGES
31 ROOTTIMEDIR=$(ROOTDIR)/LC_TIME
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.
38 MSGDIRFILES_LOCAL= \
39 SUNW_OST_LINFO \
40 uxlibc.src
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.
49 MSGDIRFILES_REMOTE= \
50 magic \
51 mailx.help \
52 more.help \
53 priv_names
55 MSGDIRFILES= $(MSGDIRFILES_LOCAL) $(MSGDIRFILES_REMOTE)
57 ROOTMSGDIRFILES=$(MSGDIRFILES:%=$(ROOTMSGDIR)/%)
59 PO_LABEL=' The following lines are contents of '
61 .KEEP_STATE:
63 all: $(MSGDIRFILES)
65 install: all _msg
67 clobber:
68 $(RM) $(MSGDIRFILES_REMOTE)
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.
77 $(ROOTTIMEDIR) $(ROOTMSGDIR):
78 $(INS.dir)
80 $(ROOTMSGDIR)/%: $(ROOTMSGDIR) %
81 $(INS.file)
83 magic: $(SRC)/cmd/file/magic
85 priv_names: $(ROOT)/etc/security/priv_names
87 mailx.help: $(SRC)/cmd/mailx/misc/mailx.help
89 more.help: $(SRC)/cmd/more/more.help
91 $(MSGDIRFILES_REMOTE):
92 $(RM) $@; $(CP) $? $@
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)
136 FRC: