xref: /titanic_50/usr/src/msg/Makefile (revision 598f4ceed9327d2d6c2325dd67cae3aa06f7fea6)
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