xref: /illumos-gate/usr/src/cmd/msgfmt/Makefile (revision 753d2d2e8e7fd0c9bcf736d9bf2f2faf4d6234cc)
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#ident	"%Z%%M%	%I%	%E% SMI"
30
31# cmd/msgfmt/Makefile
32
33include ../Makefile.cmd
34
35XOBJS=	xgettext.o
36
37LXOBJS=	xgettext.lx.o
38
39GOBJS=	gnu_msgfmt.o gnu_handle.o gnu_lex.o gnu_hash.o gnu_check.o
40
41YOBJS=	gnu_po.o
42
43BOBJS=	gnu_msgs.o
44
45LOBJS=	gnu_msgs_rev.o
46
47SOBJS=	msgfmt.o check_header.o
48
49COBJS=	option.o util.o
50
51BINPROG= msgfmt xgettext
52LIBPROG= gmsgfmt
53PROG=  $(BINPROG) $(LIBPROG)
54
55YFLAGS += -d
56LINTFLAGS +=	-um
57
58POFILE= msgfmt_all.po
59POFILES= $(SOBJS:%.o=%.po) $(GOBJS:%.o=%.po) $(COBJS:%.o=%.po) \
60	$(BOBJS:%.o=%.po) $(YOBJS:%.o=%.po)
61
62CLOBBERFILES += gmsgfmt_rev
63
64ROOTBINPROG= $(BINPROG:%=$(ROOTBIN)/%)
65ROOTLIBPROG= $(LIBPROG:%=$(ROOTLIB)/%)
66
67.KEEP_STATE:
68
69.PARALLEL:	$(SOBJS) $(GOBJS) $(YOBJS) $(COBJS) $(BOBJS) $(LOBJS) \
70		$(XOBJS) $(LXOBJS)
71
72all: $(PROG) gmsgfmt_rev
73
74msgfmt:	$(SOBJS) $(COBJS)
75	$(LINK.c) $(SOBJS) $(COBJS) -o $@ $(LDLIBS)
76	$(POST_PROCESS)
77
78gmsgfmt:	$(GOBJS) $(YOBJS) $(BOBJS) $(COBJS)
79	$(LINK.c) $(GOBJS) $(YOBJS) $(BOBJS) $(COBJS) -o $@ $(LDLIBS)
80	$(POST_PROCESS)
81
82gmsgfmt_rev:	$(GOBJS) $(YOBJS) $(LOBJS) $(COBJS)
83	$(LINK.c) $(GOBJS) $(YOBJS) $(LOBJS) $(COBJS) -o $@ $(LDLIBS)
84	$(POST_PROCESS)
85
86xgettext: $(XOBJS) $(LXOBJS)
87	$(LINK.c) $(XOBJS) $(LXOBJS) -o $@ $(LDLIBS)
88	$(POST_PROCESS)
89
90$(POFILE):	$(POFILES)
91	$(RM) $@
92	cat $(POFILES) > $@
93
94install: all $(ROOTBINPROG) $(ROOTLIBPROG)
95
96clean:
97	$(RM) $(SOBJS) $(GOBJS) $(YOBJS) $(COBJS) \
98		$(XOBJS) $(LXOBJS) $(BOBJS) $(LOBJS) \
99		$(POFILE) $(POFILES) gnu_po.c y.tab.h xgettext.lx.c
100
101lint:	gnu_po.c y.tab.h
102	$(LINT.c) $(SOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
103	$(LINT.c) $(GOBJS:%.o=%.c) $(BOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
104	$(LINT.c) $(GOBJS:%.o=%.c) $(LOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
105	$(LINT.c) $(XOBJS:%.o=%.c) $(LDLIBS)
106
107gnu_po.c + y.tab.h:	gnu_po.y
108	$(RM) gnu_po.c y.tab.h
109	$(YACC.y) gnu_po.y
110	mv y.tab.c gnu_po.c
111
112gnu_lex.o:	y.tab.h
113
114include ../Makefile.targ
115