xref: /illumos-gate/usr/src/cmd/msgfmt/Makefile (revision d1e631af56641f21cde1f1efe3a9623ff9d6ee7c)
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# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25#       Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
26#         All Rights Reserved
27#
28
29# cmd/msgfmt/Makefile
30
31include ../Makefile.cmd
32
33XOBJS=	xgettext.o
34
35LXOBJS=	xgettext.lx.o
36
37GOBJS=	gnu_msgfmt.o gnu_handle.o gnu_lex.o gnu_hash.o gnu_check.o
38
39YOBJS=	gnu_po.o
40
41BOBJS=	gnu_msgs.o
42
43LOBJS=	gnu_msgs_rev.o
44
45SOBJS=	msgfmt.o check_header.o
46
47COBJS=	option.o util.o
48
49BINPROG= msgfmt xgettext
50LIBPROG= gmsgfmt
51PROG=  $(BINPROG) $(LIBPROG)
52
53YFLAGS += -d
54LINTFLAGS +=	-um
55
56POFILE= msgfmt_all.po
57POFILES= $(SOBJS:%.o=%.po) $(GOBJS:%.o=%.po) $(COBJS:%.o=%.po) \
58	$(BOBJS:%.o=%.po) $(YOBJS:%.o=%.po)
59
60CLOBBERFILES += gmsgfmt_rev
61
62ROOTBINPROG= $(BINPROG:%=$(ROOTBIN)/%)
63ROOTLIBPROG= $(LIBPROG:%=$(ROOTLIB)/%)
64
65CERRWARN += -_gcc=-Wno-parentheses
66CERRWARN += -_gcc=-Wno-unused-label
67CERRWARN += -_gcc=-Wno-uninitialized
68CERRWARN += -_gcc=-Wno-unused-variable
69
70.KEEP_STATE:
71
72.PARALLEL:	$(SOBJS) $(GOBJS) $(YOBJS) $(COBJS) $(BOBJS) $(LOBJS) \
73		$(XOBJS) $(LXOBJS)
74
75all: $(PROG) gmsgfmt_rev
76
77msgfmt:	$(SOBJS) $(COBJS)
78	$(LINK.c) $(SOBJS) $(COBJS) -o $@ $(LDLIBS)
79	$(POST_PROCESS)
80
81gmsgfmt:	$(GOBJS) $(YOBJS) $(BOBJS) $(COBJS)
82	$(LINK.c) $(GOBJS) $(YOBJS) $(BOBJS) $(COBJS) -o $@ $(LDLIBS)
83	$(POST_PROCESS)
84
85gmsgfmt_rev:	$(GOBJS) $(YOBJS) $(LOBJS) $(COBJS)
86	$(LINK.c) $(GOBJS) $(YOBJS) $(LOBJS) $(COBJS) -o $@ $(LDLIBS)
87	$(POST_PROCESS)
88
89xgettext: $(XOBJS) $(LXOBJS)
90	$(LINK.c) $(XOBJS) $(LXOBJS) -o $@ $(LDLIBS)
91	$(POST_PROCESS)
92
93$(POFILE):	$(POFILES)
94	$(RM) $@
95	cat $(POFILES) > $@
96
97install: all $(ROOTBINPROG) $(ROOTLIBPROG)
98
99clean:
100	$(RM) $(SOBJS) $(GOBJS) $(YOBJS) $(COBJS) \
101		$(XOBJS) $(LXOBJS) $(BOBJS) $(LOBJS) \
102		$(POFILE) $(POFILES) gnu_po.c y.tab.h xgettext.lx.c
103
104lint:	gnu_po.c y.tab.h
105	$(LINT.c) $(SOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
106	$(LINT.c) $(GOBJS:%.o=%.c) $(BOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
107	$(LINT.c) $(GOBJS:%.o=%.c) $(LOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
108	$(LINT.c) $(XOBJS:%.o=%.c) $(LDLIBS)
109
110gnu_po.c + y.tab.h:	gnu_po.y
111	$(RM) gnu_po.c y.tab.h
112	$(YACC.y) gnu_po.y
113	mv y.tab.c gnu_po.c
114
115gnu_lex.o:	y.tab.h
116
117include ../Makefile.targ
118